Hi, Currently VOTCA supports multi-thread parallel computations on single node only using shared memory parallel implementation. It exploits trivial parallelism in processing the frames in the MD trajectory. Since each frame can be processed independently of other frames, total number of frames are divided among the threads and at the end partial results from all the threads are gathered to compute total quantities.
To run VOTCA across multiple nodes, you need to implement distributed memory based parallel computations using MPI. There are two options (i) use the similar frame based parallel computations where the frames are now divided not only among threads but also among different nodes. This should be easy to implement with basic MPI. (ii) domain decomposition where particles are distributed among different nodes and pair potentials and force computations are done in parallel. This is similar to what MD engine uses and not trivial to implement. I believe option (i) would be helpful if you have too many frames, which is usually not the case for coarse-graining as for CG relatively short trajectories are used for optimization. Best, Sikandar On Thu, Nov 3, 2016 at 9:54 PM, Mohammad Motevaselian < [email protected]> wrote: > Thank you Christoph, now I was able to add and compile my program in > VOTCA. > I have another question, when I use any coarse graining method in VOTCA, > it only utilizes the existing number of threads of a core. If I am > correct I cannot use multiple cores (like mpi) to run any VOTCA csg > programs. I was wondering if there is any way to do that or > it needs to be implemented in VOTCA? > > On Wednesday, November 2, 2016 at 6:40:32 PM UTC-5, Christoph Junghans > wrote: >> >> 2016-11-02 17:12 GMT-06:00 Mohammad Motevaselian <[email protected]>: >> > Hi, >> > >> > So far I have worked with VOTCA to do coarse graining and went through >> the >> > structure of the codes and scripts (specifically csg_reupdate.cc and >> > csg_fmatch.cc). >> > I want now to implement a new C function in VOTCA. Could you please >> tell me, >> > where should I specify the name of my new function, such that cmake >> > understand >> > that it exists and compile it. >> All file named <PROGNAME>*.cc get compile into <PROGNAME>, e.g. >> csg_stat.cc csg_stat_imc.cc csg_stat_imc.h get compile into csg_stat. >> After adding the file to csg/src/tools you need to re-run cmake. >> >> If you need a function in two csg programs, you need to add the file >> to libcsg (dir csg/src/libcsg) and rerun cmake. >> >> Christoph >> > >> > thanks >> > Mohammad >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups >> > "votca" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> an >> > email to [email protected]. >> > To post to this group, send email to [email protected]. >> > Visit this group at https://groups.google.com/group/votca. >> > For more options, visit https://groups.google.com/d/optout. >> >> >> >> -- >> Christoph Junghans >> Web: http://www.compphys.de >> > -- > You received this message because you are subscribed to the Google Groups > "votca" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/votca. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "votca" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/votca. For more options, visit https://groups.google.com/d/optout.
