|
Hi -- In the Metadata section of CC3D XML scripts, there is an option to utilize multiple processors in parallel. Within this option, there are specifications for both "number of processors" and "number of threads per processor:" "(from the mailing list:) Add the following lines to your main XML file. You may change the VPUs and threads per VPU to suit your machine:"
How do I determine the optimal number of threads to use per VPU? Here, I have one thread running on each of 8 processors (2 quad-cores). (Interestingly, above 8 threads per processor, the simulation only runs in part of the lattice, and the higher the number of threads, the lower the proportion of lattice that runs.) Thank you! |
|
I think the reason the simulation only runs in part of the lattice if you set the ThreadsPerVPU too high is because of the way the parallel processing works - it splits the lattice up into the number of processors you have set, and then splits up those sections into the number of threads per VPU you have set. They mentioned at the 2011 workshop that it can crash if you set ThreadsPerVPU higher than 8. And also that the size of your cells should be small relative to the size of the sections your lattice will be split up in to, so that there isn't excessive message passing. (E.g. in your example your lattice would be split into 8 sections.) I don't know about determining the optimal number of threads... maybe you just need to try different numbers out? I have since found that one thread per VPU is best. If threads are set higher than 1, the simulation does indeed freeze after running a few hundred steps. This was the case on both a Mac with 2 processors and a Windows machine with 8.
(Nov 19 '11 at 19:13)
kwinner
|
If the answer provided was helpful please vote it up, or if it solved your problem "accept it" (click the check mark). Otherwise please add a comment to your question to try and clarify it, or a comment to respond to an answer. It is important that your question/problem be solved.