Dear OpenFAST team,
We are running independent OpenFAST simulations on a Windows server with 256 CPU cores.
However, even when approximately 200 simulations have been launched, Windows Task Manager shows that only around 40 CPU cores are being actively used, while the remaining cores stay mostly idle.
Since each OpenFAST simulation normally appears to run as a single-threaded process, we expected that launching 200 independent simulations would use approximately 200 cores.
Is there any limitation in OpenFAST, Windows, Python multiprocessing, or the OpenFAST executable that could restrict the simulations to around certain cores?
How should the number of workers or processes be configured so that the simulations are distributed across more of the 256 available cores?
Thank you and kind regards,
Kepa
Dear @Kepa.Cueto,
Assuming you are not using a version of OpenFAST with OpenMP (OMP), e.g., for running OLAF, I’m not aware of any limitations in OpenFAST that would limit the number of simulations that can be run in batch mode. I suspect this is not an issue tied to OpenFAST itself.
Best regards,
Thank you for your response Jason.
We have one additional question. Each standard OpenFAST simulation appears to use only one logical processor.
Is it possible to configure a single OpenFAST simulation to use several logical processors or CPU threads simultaneously, in order to reduce the runtime of each individual simulation?
Thank you and kind regards,
Kepa
Dear @Kepa.Cueto,
The main features of OpenFAST that can make use of multi-threading based on OpenMP (OMP), when compiled, are:
- The OLAF free-wake submodel of AeroDyn
- FAST.Farm
- TurbSim inflow generation
If you are using these features, you could speed up the calculation of a given simulation through multi-threading. But other features of OpenFAST do not currently support multi-threading.
Best regards,