I am looking into the possibility to speed up transient thermal analysis (SOL 159) on Nastran using SMP. I did some test with very few elements (~1000) and did not see any improvement at all. I am looking into tests with more elements.
Does anyone has experience of SMP with SOL159? How is the scability? With how many elements?
In addition, I know that SMP is implemented by adding "parallel = <no. of processors>" when executing nastran. Is there anywhere from the output that I can tell that SMP has actually been used? I just want to make sure the parallelization is actually being executed as instructed.
SMP is "supported" for all solution sequences. However, only a few modules (DCMP, FBS, etc.) are SMP enabled. If your solution sequence does not call one of these modules, no SMP will be done. For the modules that are SMP enabled, if the problem size is too small, no SMP will be done either.
If SMP>1 is specified, the .f04 will show if/when SMP was used in the following which will appear near the bottom of the .f04 file. If modules that utilized SMP were called in the solution sequence, the module name will be listed as well as the cpu seconds for each process:
*** PARALLEL PROCESSES CPU INFORMATION (SECONDS) *** MODULE PROCESS-1 PROCESS-2 PROCESS-3 PROCESS-4 PROCESS-5 PROCESS-6 PROCESS-7 PROCESS-8 -------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- P-SDCMP 26.18 26.18 ======== =========== =========== =========== =========== =========== =========== =========== =========== TOTAL 26.18 26.18
If SMP>1 was specified and no SMP enabled modules were called during the solution, or if the problem size was to small to warrant using SMP, the following warning message will be shown:
*** SYSTEM WARNING MESSAGE 6299 (PARCPU) NO PARALLEL PROCESS CREATED
If you try a larger model, you should see parallel DCMP being used.
I also recommend using the Process Explorer. This little tool gives you so much more information about you processes than the Task Manager. You can easily see if the usage of multiple processing is working.