Bug#944617: python3-h5py import performance severely degraded in 2.10.0 release (due to OpenMPI?)
Jameson Graef Rollins
jrollins at finestructure.net
Tue Nov 12 18:39:45 GMT 2019
Package: python3-h5py
Version: 2.10.0-2
Severity: normal
This was mentioned in a different report (#944192) but I want to give
it it's own report because I think it's serious enough.
I'm finding multiple problems with the latest 2.10.0 release in
unstable, which I think can all be traced to this new release being
compiled against the OpenMPI library. I'm no longer sure it's good to
compile against this library by default, since it's degrading the
basic performance too much.
Other than the stderr output on import described in #944192 (and seen
below), the import performance is now x7 slower. This is a pretty big
drag for any application using this library:
servo:~ 0$ python3 -c 'import h5py; print(h5py.__version__)'
--------------------------------------------------------------------------
[[4525,1],0]: A high-performance Open MPI point-to-point messaging module
was unable to find any relevant network interfaces:
Module: OpenFabrics (openib)
Host: servo
Another transport will be used instead, although this may result in
lower performance.
NOTE: You can disable this warning by setting the MCA parameter
btl_base_warn_component_unused to 0.
--------------------------------------------------------------------------
2.10.0
servo:~ 0$ multitime -qq -n 10 python3 -c 'import h5py'
===> multitime results
1: -qq python3 -c "import h5py"
Mean Std.Dev. Min Median Max
real 0.973 0.027 0.932 0.967 1.022
user 0.200 0.017 0.159 0.201 0.221
sys 0.068 0.014 0.034 0.069 0.093
servo:~ 0$
servo:~ 0$ python3 -c 'import h5py; print(h5py.__version__)'
2.8.0
servo:~ 0$ multitime -qq -n 10 python3 -c 'import h5py'
===> multitime results
1: -qq python3 -c "import h5py"
Mean Std.Dev. Min Median Max
real 0.146 0.012 0.118 0.151 0.156
user 0.119 0.010 0.103 0.121 0.134
sys 0.027 0.008 0.016 0.027 0.044
servo:~ 0$
Most users of h5py are not using the OpenMPI functionality, so I don't
see how it's a win to degrade performance for most users in order to
increase performance for the few.
When I mentioned this issue upstream, their recommendation is that
debian should *not* be building against OpenMPI by default:
https://github.com/h5py/h5py/issues/1433#issuecomment-552640391
I agree with this recommendation. I think there should be separate
packages providing OpenMPI support (e.g. python3-h5py-openmpi).
Thanks.
jamie.
-- System Information:
Debian Release: bullseye/sid
APT prefers testing
APT policy: (600, 'testing'), (500, 'stable'), (200, 'unstable'), (101, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 5.2.0-3-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages python3-h5py depends on:
ii libc6 2.29-3
ii libhdf5-openmpi-103 1.10.4+repack-10
ii python3 3.7.5-1
ii python3-mpi4py 3.0.2-13
ii python3-numpy [python3-numpy-abi9] 1:1.16.5-1
ii python3-six 1.12.0-2
python3-h5py recommends no packages.
Versions of packages python3-h5py suggests:
pn python-h5py-doc <none>
-- no debconf information
More information about the debian-science-maintainers
mailing list