FS#28581 - [hdf5] OpenMPI support

Attached to Project: Arch Linux
Opened by Simone (junki.gnu) - Wednesday, 22 February 2012, 09:53 GMT
Last edited by Ronald van Haren (pressh) - Monday, 07 January 2013, 20:56 GMT
Task Type Support Request
Category Packages
Status Closed
Assigned To Ronald van Haren (pressh)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:
HDF5 is compiled without MPI support, and this introduce some
difficulties when parallel scientific computing frameworks
(such as Trilinos) are compiled.

The main problem, on the other hand, is that hdf5 with mpi
enabled is not thread-safe.

What do you think about that?
This task depends upon

Closed by  Ronald van Haren (pressh)
Monday, 07 January 2013, 20:56 GMT
Reason for closing:  Implemented
Additional comments about closing:  hdf5-openmpi-1.8.10-1
Comment by Stéphane Gaudreault (stephane) - Wednesday, 22 February 2012, 14:01 GMT
In debian the serial version and the mpi one are in different packages. In Arch, we could do this in a splitted pkg.
Comment by Simone (junki.gnu) - Wednesday, 22 February 2012, 21:00 GMT
hdf5-openmpi is on AUR, so it would be easy, I suppose.
I don't know if serial and parallel version can live in peace together ... probably not.

I'm glad to help if needed!

Comment by Stéphane Gaudreault (stephane) - Thursday, 23 February 2012, 13:25 GMT
The lib names should be the same in both serial and mpi version, so they should conflicts each other. I think this is also how debian did it.
Comment by Ronald van Haren (pressh) - Thursday, 23 February 2012, 13:33 GMT
Feel free to submit a patch if you want to speed this up. I suppose we can also add CXX and fortran bindings ( FS#25098 ) as these are also not compatible with thread-safe.
Comment by Simone (junki.gnu) - Thursday, 23 February 2012, 16:12 GMT
CXX and parallel are incompatible, but is possible to override this
enabling 'unsupported' flag. I don't know if it's safe enough.

No problem with Fortran.

There's a big issue that prevents compilation: mpicc and fakeroot
don't like each other: https://bbs.archlinux.org/viewtopic.php?id=117493.

The suggested solution doesn't apply here, because make install calls
mpicc as a linker (through libtool).

Please find enclosed a first not-working draft of PKGBUILD. I'll keep trying.
   PKGBUILD (1.7 KiB)
Comment by Simone (junki.gnu) - Thursday, 23 February 2012, 17:47 GMT
I solved the 'openmpi' issue, with a Debian patch to be
applied to openmpi source.

Indeed, fakeroot mpicc -show still fails (segfault) with repo
version.

After recompiling openmpi with this patch, hdf5 compilation runs
smoothly *if* fortran is not enabled. Otherwise I obtain:

FCLD libhdf5_fortran.la
/usr/bin/ld: cannot find -l-L/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.2
collect2: ld returned 1 exit status

Probably there's an easy way to prevent this, but as far as I see
from fortran/src/Makefile there's an extra -rpath at line 646.

Resuming:
- openmpi patch: have I to file a bug?
- hdf5-openmpi compiles fine *without* fortran interface, fails otherwise;
- paraview keeps working if hdf5 is replaced by hdf5-openmpi.
Comment by Stéphane Gaudreault (stephane) - Wednesday, 29 February 2012, 23:45 GMT
I am rebuilding openmpi with the fakeroot fix.
Comment by Simone (junki.gnu) - Thursday, 01 March 2012, 08:45 GMT
Thank you Stéphane.

Last version of PKGBUILD, *without* Fortran (see above).
   PKGBUILD (1.8 KiB)
Comment by Stéphane Gaudreault (stephane) - Thursday, 01 March 2012, 13:07 GMT
Excepting the "|| return 1" that are no longer needed. This looks good to me.
Comment by Simone (junki.gnu) - Monday, 05 March 2012, 08:29 GMT
There was another typo ('conficts' instead of 'conflicts').

Is it possible also to change hdf5 package in order to match this new
structure? I mean name from hdf5 to hdf5-serial, and a "provides=('hdf5')" and
"replaces=('hdf5')" into PKGBUILD.
   PKGBUILD (1.7 KiB)
Comment by Simone (junki.gnu) - Thursday, 15 March 2012, 19:36 GMT
Sorry for the silly question: is there something missing?
How do we procede?

Thanks!
Comment by das postloch (daspostloch) - Tuesday, 07 August 2012, 10:01 GMT
what's the status here? is hdf5-fortran-cxx and the mpi variants in the aur the official packages for this now? thanks!

Loading...