Page 1 of 1

[solved] Abinit 6.8.2 - make tests_paral

Posted: Thu Sep 22, 2011 10:15 am
by nandaloo
Hi,

I'm running Ubuntu 10.04 64bit with ABINIT 6.8.2 and enabled OpenMPI 1.4.1-2 as well as CUDA 4.0.
The output of

Code: Select all

../configure
says MPI and CUDA are enabled. I successfully built it as well and run the following test without any problems.

Code: Select all

 make tests_acc4 

However, when I try

Code: Select all

 make tests_paral paral_host=<my_machine_name> paral_mode=seqpar 

I get an error. Is that call available for "normal" users like me?
"Normal" since I came to believe that this is for the "ABINIT test farm" only: http://ftp.abinit.org/ws11/beuken.pdf
Aparently only certain machine_names are accepted, however when I specify one of them, it looks for some files at the wrong place...

If that's not possible, what is the easiest why to test if MPI and CUDA are working properly?
I believed that there must be something, since executing the test suite for sequential abinit is just amazingly easy!

Thank you a lot for reading this,
Philipp

Re: Abinit 6.8.2 - make tests_paral

Posted: Thu Sep 22, 2011 10:59 am
by pouillon
please have a look at this thread: http://forum.abinit.org/viewtopic.php?f=3&t=1266&p=4012&hilit=gpu

To be able to run parallel tests on your machine, you might have to edit the ~abinit/tests/Scripts/run-parallel-tests.pl script.

Re: Abinit 6.8.2 - make tests_paral

Posted: Fri Oct 07, 2011 6:37 am
by nandaloo
Thank you for the link!

I was able to make it work, with some changes in 'run-parallel-tests.pl' as follows:

Adding my machine name to "@MachList" and adding this section

Code: Select all

...
elsif ($MACH eq 'ubuntu') {
  # see question part for an explanation on this
  $MPICH = 2;
  # this enables OPENMPI
  $OPENMPI = 1;
  # set path to binary for MPI (the binary is at "/usr/bin/mpirun" - that's why we set the path to "/usr/bin"
  $MPICH_DIR = "/usr/bin";
  # give run command (?)
  $MPIRUN_NP = "$MPICH_DIR/mpirun -np";
  # disables test case number 10 - we do that because most of the configurations do it
  $CASE10 = 0;
    }
...


in the corresponding if-else structure, I could successfully run the full parallel test suite issuing this:

Code: Select all

make tests_paral paral_host=ubuntu paral_mode=seqpar


Since I can see some (low, but it's there) load on the GPU for some test cases and occasionally high load on more than one CPU I believe it works as it should.

Regards
Philipp