On 23/09/2018 10:46, Toon Moene wrote:
On 09/22/2018 01:23 AM, Jerry DeLisle wrote:

I just installed opencoarrays on my system at home (Debian Testing):

root@moene:~# apt-get install libcoarrays-openmpi-dev
...
Setting up libcaf-openmpi-3:amd64 (2.2.0-3) ...
Setting up libcoarrays-openmpi-dev:amd64 (2.2.0-3) ...
Processing triggers for libc-bin (2.27-6) ...

[ previously this led to apt errors, but not now. ]

and moved my own installation of the OpenCoarrays-2.2.0.tar.gz out of the way:

toon@moene:~$ ls -ld *pen*
drwxr-xr-x 6 toon toon 4096 Aug 10 16:01 OpenCoarrays-2.2.0.opzij
drwxr-xr-x 8 toon toon 4096 Sep 15 11:26 opencoarrays-build.opzij
drwxr-xr-x 6 toon toon 4096 Sep 15 11:26 opencoarrays.opzij

and recompiled my stuff:

gfortran -g -fbacktrace -fcoarray=lib random-weather.f90 -L/usr/lib/x86_64-linux-gnu/open-coarrays/openmpi/lib -lcaf_mpi

[ Yes, the location of the libs is quite experimental, but OK for the "Testing" variant of Debian ... ]

I couldn't find cafrun, but mpirun works just fine:

toon@moene:~/src$ echo ' &config /' | mpirun --oversubscribe --bind-to none -np 20 ./a.out Decomposition information on image    7 is    4 *    5 slabs with   23 *   18 grid cells on this image. Decomposition information on image    6 is    4 *    5 slabs with   23 *   18 grid cells on this image. Decomposition information on image   11 is    4 *    5 slabs with   23 *   18 grid cells on this image. Decomposition information on image   15 is    4 *    5 slabs with   23 *   18 grid cells on this image. Decomposition information on image    1 is    4 *    5 slabs with   23 *   18 grid cells on this image. Decomposition information on image   13 is    4 *    5 slabs with   23 *   18 grid cells on this image. Decomposition information on image   12 is    4 *    5 slabs with   21 *   18 grid cells on this image. Decomposition information on image   20 is    4 *    5 slabs with   21 *   18 grid cells on this image. Decomposition information on image    9 is    4 *    5 slabs with   23 *   18 grid cells on this image. Decomposition information on image   14 is    4 *    5 slabs with   23 *   18 grid cells on this image. Decomposition information on image   16 is    4 *    5 slabs with   21 *   18 grid cells on this image. Decomposition information on image   17 is    4 *    5 slabs with   23 *   18 grid cells on this image. Decomposition information on image   18 is    4 *    5 slabs with   23 *   18 grid cells on this image. Decomposition information on image    2 is    4 *    5 slabs with   23 *   18 grid cells on this image. Decomposition information on image    4 is    4 *    5 slabs with   21 *   18 grid cells on this image. Decomposition information on image    5 is    4 *    5 slabs with   23 *   18 grid cells on this image. Decomposition information on image    3 is    4 *    5 slabs with   23 *   18 grid cells on this image. Decomposition information on image    8 is    4 *    5 slabs with   21 *   18 grid cells on this image. Decomposition information on image   10 is    4 *    5 slabs with   23 *   18 grid cells on this image. Decomposition information on image   19 is    4 *    5 slabs with   23 *   18 grid cells on this image.

... etc. (see http://moene.org/~toon/random-weather.f90).

I presume other Linux distributors will follow shortly (this *is* Debian Testing, which can be a bit testy at times - but I do trust my main business at home on it for over 15 years now).

Kind regards,

Thanks, good to see it being tested (I'm the Debian/Ubuntu packager).

caf /cafrun has been dropped (for the moment ? ) in favour of mpirun, but I've added pkg-config caf packages so that becomes an option.

   $ pkg-config caf-mpich --libs

   -L/usr/lib/x86_64-linux-gnu/open-coarrays/mpich/lib -lcaf_mpich -Wl,-z,relro 
-lmpich -lm -lbacktrace -lpthread -lrt

(My thinking is that for libraries in particular, the user need not know whether CAF is being used, and if lib foobar uses CAF, then adding a:

    Requires: caf

into the pkg-config file gives you the correct linking transparently.

The "strange" paths are due to Debians multiarch : it is possible to include libraries for multiple architectures simultaneously. This works ok with pkg-config and cmake , etc (which allow you to set PKG_CONFIG_PATH and have multiple pkgconfig files for different libs simultaneously) , but currently break wrappers such as caf / cafrun.

I can add a new package for caf / cafrun but would rather not. (W e currently don't do non-MPI CAF builds).

There is currently pkg-config files 'caf-mpich' and 'caf-openmpi' for testing, and I'm adding a default alias caf -> caf-$(default-MPI)

regards

Alastair




--
Alastair McKinstry, <alast...@sceal.ie>, <mckins...@debian.org>, 
https://diaspora.sceal.ie/u/amckinstry
Misentropy: doubting that the Universe is becoming more disordered.

Reply via email to