Firefly and PC GAMESS-related discussion club



Learn how to ask questions correctly


Re: CUDA and Parallel Operation

Alex Granovsky
gran@classic.chem.msu.su


Dear Jim,

yes, this is possible.

However, it's a good idea to allow only single process to use CUDA,
otherwise, there will be some performance degradation due to
concurrent calls to CUDA drivers, etc..., etc... Moreover, the
code must use dynamic load balancing, otherwise, there will not
be any serious performance improvement.

The simplest way to do this is as follows. There is (the undocumented)
way to alter program's settings on a per process instance basis.
Note, this is not always "safe", e.g., if one selects direct scf
for part of the parallel process but direct for others, this
definitely will not work!

However, some (e.g., CPU or I/O-specific) details of execution
is safe to change. You need to put the file called "INPUT.LOC"
to the working directory of the process for which you want to
alter the settings. The defaults/initial settings are always
first read in from the master's input file, then the "INPUT.LOC"
(provided it exists) is read in and parsed, and the new settings
override the old ones.

This way, you can specify different CUDA settings to different
Firefly instances.

Hope this helps.

-Alex

On Sun Jul 18 '10 11:37pm, Jim Kress wrote
------------------------------------------
>Is it possible to use the CUDA capability in Firefly when performing a parallel run on a multi-core workstation where one is running one instance of Firefly on each core as part of the parallel calculation?


[ Previous ] [ Next ] [ Index ]           Wed Jul 28 '10 7:57pm
[ Reply ] [ Edit ] [ Delete ]           This message read 886 times