Lesson 1: getting the most power of your multicore, SMP system or cluster with parallel PC GAMESS/Firefly.



This is very short lesson. First, look at sample data and graph on this page. It is evident that the use of dynamic load balancing (dlb) is preferred in all situations. The reason of this is that dynamic load balancing allows the PC GAMESS/Firefly to use coarser-grained parallel algorithms with much less work duplicated across nodes and typically with much more efficient, optimized memory access patterns. This improves both the scalability and performance.



To activate dynamic load balancing, just add the following line to your PC GAMESS/Firefly input:

 $p2p p2p=.t. dlb=.t. $end

If you are running MP2 calculations, use the following for additional performance:

 $p2p p2p=.t. dlb=.t. xdlb=.t. $end

Windows users: check if the pcgp2p.dll file resides either in the PC GAMESS/Firefly directory or somewhere in your paths on all nodes!

Linux users: add proper -ex switch (e.g., -ex /home/alex/pcg70) to the command line to point to the directory where the PC GAMESS/Firefly' runtime extensions (fastdiag.ex and pcgp2p.ex) reside


More information on p2p interface and dynamic load balancing

Details on the MP2 energy code and p2p interface implementation in the PC GAMESS/Firefly.


Last updated: March 12, 2009

Copyright © 2007 by Alex A. Granovsky

Back to the PC GAMESS/Firefly tutorials page