Problems in using multithreading

It was said that the EFDC_Explorer can use all cores in 1 CPU using the multithreading (OMP-KMP). However, when I ran it in the AMD 3990X workstation (1 CPU with 64 cores, 128 threads), the EE could only use 32 threads of the CPU. When I ran it in AMD 7502 workstation (2 CPU with 64 cores, 128 threads in all), it could also use only 32 threads. I wonder if there were any solutions to use more threads of the CPU? Whether it’s relevant to the CPU type (AMD or Intel), or a licence problem?

The number of OMP threads in EFDC+ is based on the number of constituents/processes. So if you have 21 WQ constituents as well as other constituents and the total is 32 then a maximum of 32 threads can be used. For OMP there is no way to change this. However, with the new MPI version of EFDC+ that will be released soon it is based on the number of sub-domains and you will be able to use more threads.

Thank you for your answer, and it sounds very interesting. You means the current OMP implements the multithreading by breaking 1 running task into different index/processes and 1 thread for each index/processes with some process message exchange to ensure the accuracy of final results, and the new MPI version could divide 1 running task according to the others like the computational grid with both process and geographic message exchange to improve the thread utilization of the stronger CPU? I wonder if the new MPI version is suitable for the old version of EFDC_Explorer like EE8.4?