3990X and Multithreading
#1
Big Grin 
Hi guys !
I've been a tyflow user for a few years now. Mostly using it for simple simulations necessary for my archviz stuff.
I was going today through a tutorial from Eloi Andaluz about ivys, and, having updated to 1.125, went a bit deeper with pinning threads and so on.
Once thing that I've noticed is that if I removed auto multi-threading, and left between 1-64 max threads, the simulation runs crazy smooth compared to simply letting on auto. As soon as I pass above 64 threads, the simulation gets laggish and barely responsive, which is something I really just discover now hahaha ( it also makes my days coz the simulations go way faster than before Big Grin ).
I'm now using max threads at 64 for both the "normal" cpu tasks as well as the physX ones.
My question is why when using more than 64 threads ( not gonna complain ), tyflow becomes laggish ? I've seen discussions about that topic a while ago, but I assumed things had been sorted.
Anyway, no big deal to be honest, but it peaked my curiosity on this saturday afternoon !
Hoping to get some insights from you guys !!
All the best,
M
  Reply
#2
Multi-threading (all flows)
These settings are universal to all flows and are sticky settings (their values are stored in 3dsMax.ini, instead of the scene file)

Pin threads: controls whether threads launched by tyFlow’s internal thread pool will be pinned to a particular processor.
Certain CPU architectures, when utilized by Windows’ thread scheduler, suffer performance issues in tyFlow when threads are not pinned. Historically, this has been the case with AMD Ryzen Threadripper CPUs. If you are using a Threadripper, enabling “pin threads” is recommended. This keeps each tyFlow thread locked to a CPU core (Threadrippers seem to suffer from performance issues in tyFlow when threads are mobile - enabling “pin threads” restores expected performance).

There is such information in the Tyflow documentation. I think your processor belongs to this category. It may be related to this.
  Reply
#3
(03-22-2025, 10:55 PM)Jstmst Wrote: Multi-threading (all flows)
These settings are universal to all flows and are sticky settings (their values are stored in 3dsMax.ini, instead of the scene file)

Pin threads: controls whether threads launched by tyFlow’s internal thread pool will be pinned to a particular processor.
Certain CPU architectures, when utilized by Windows’ thread scheduler, suffer performance issues in tyFlow when threads are not pinned. Historically, this has been the case with AMD Ryzen Threadripper CPUs. If you are using a Threadripper, enabling “pin threads” is recommended. This keeps each tyFlow thread locked to a CPU core (Threadrippers seem to suffer from performance issues in tyFlow when threads are mobile - enabling “pin threads” restores expected performance).

There is such information in the Tyflow documentation. I think your processor belongs to this category. It may be related to this.

Yeah no worries about pinning threads, and that's why I mentioned it in the first place. Rest assured that I went through the docs before asking a question here Big Grin. So, the question is, when threads are pinned for both "all flows' and "PhysX", why when using automatic thread Tyflow is slow af, but when using the exact number of cores that the processor has ( without counting on multithreading ) everything runs smoothly ? I mean, it's a bit weird to be only able to use half the power of my cpu, and phoenix, corona succeed to do so. I'm not gonna die as using 64 threads for tyflow makes things running pretty smoothly, but I'm curious about the why, and eventually would be pleased to have a solution to use the full potential of my cpu.
  Reply


Forum Jump: