Manufacturing Solutions

Running Jobs in Parallel

Running Jobs in Parallel

Previous topic Next topic No expanding text in this topic  

Running Jobs in Parallel

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  

When running multiple HyperXtrude jobs in parallel, keep the following items in mind:

It is achieved using environment variables.
Environment variables set to activate multiple processors vary from system to system.
The following are for Linux (example shows in csh setting it to 2)
-setenv MKL_NPROCS 2
-setenv OMP_NUM_THREADS 2
For other systems, one of the items below will work - so setting all of them is not a bad idea.
-OMP_NUM_THREADS
-MKL_NPROCS
-MP_SET_NUMTHREADS
-P_NUMBER_OF_THREADS
-MLIB_NUMBER_OF_THREADS
Please be aware that this may not improve the speed at all, and on some cheap motherboards with fast CPU, it may actually run slower.
We observed 20 percent  speed-up at the best for OptiStruct with large in-core solutions.
However, HyperXtrude always uses out-of-core solution (as the problems are large) and hence it is I/O intensive. Hence, the gains will be less.
It is possible to force HyperXtrude to use in-core solutions. However, for the kind of problems we solve, you needs over 20 GB Ram. To force this, you should set MemoryForSolver to -1 in the tcl file.
-pset MemoryForSolver -1

 

 

See Also:

Guidelines for Simulation