Does the interactive thread have due performance?

I have 2 physical chips on my machine, each having 64 physical cores. So there are 2 * 2 * 64 = 256 virtual processors.

julia> Sys.cpu_summary()
AMD EPYC 7763 64-Core Processor: 
           speed         user         nice          sys         idle          irq
#1-256  1550 MHz   66788279 s        511 s     944202 s  1757367696 s          0 s 

Now I start julia with julia --threads=255,1.

I need to run cpu-heavy tasks in all the 255 threads within the default pool (spawning them at the background). But I also expect full performance in that single thread in the interactive pool (I also need to run a cpu-heavy work on the foreground, i.e. where the interactive thread goes).

I wonder if under this setting I can get expected performance on the single interactive thread? If not, how should I remedy? Will starting with julia --threads=254,2 be a fix?

Thanks.

Interactive threads aren’t different, just in a separate threadpool from the default threadpool that will get thread-hogging CPU-bound tasks. If you need interactive or very responsive tasks like the REPL, dynamic plots, or server loops, manually schedule them on a few interactive threads. If you don’t need a responsive REPL at the moment, schedule some CPU-bound tasks on the interactive threads. If your process doesn’t need interactive or responsive tasks at all, run a julia --threads 256,0 process, allowing all threads in one pool to freely trade tasks.