Open jypeter opened 7 years ago
@jypeter there's some magic code in cdms to take advantage of cdms if it's present. Did you instal mpi4py in this env? @dnadeau4 we might want to try to catch this and fsll back on non mpi. second of all, cdms/hdf5/etc . are not compiled against mpi so that's probably why it fails lastly i think esmf is compiled against mpich not openmpi so loading openmpi will probably lead to so issues.
You mean take advantage of mpi?
The first environment was the stock uvcdat-2.10 you provide (apparently with mpich), and the second one was the same, with the added openmpi from conda-forge
Like I said, the 2.10 you provide works fine. It only fails if we add our locally compiled openmpi. Of course it would be best not to get this side effect
I also tell the new users to activate cdat only in the terminals where they need it (and not do it by default), in order to minimize side effects due to the cdat environment. Better be safe!
@jypeter ok that makes sense, like I said esmf is compiled against mpich so adding openmpi to your env will create issues. I will try to reproduce it
actually it is mpi4py
that does the magic with python
. The problem is the ESMF
does not use openmpi
, but mpich
and they need to compile ESMF
with openmpi
using "variants"
I will try to reproduce this and see if I can fix cdms
, but no garantee.
@jypeter this seems to be fixed in the latest cdms2.
cdms2 2.12.2018.02.14.00.33.g712da0e.npy1.13 py27_0 uvcdat/label/unstable
conda list | grep esm
esmf 7.0.0 8 conda-forge
esmpy 7.0.0 py27_1 conda-forge
conda list | grep mpi
mpich 3.2 5 conda-forge
openmpi 3.0.0 0 conda-forge
Python 2.7.14 | packaged by conda-forge | (default, Dec 25 2017, 01:16:05)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cdms2
>>>
@jypeter can you close if this works for you. Thanks
@dnadeau4 @doutriaux1 I have just found the following, when working with another user
Everything works fine be default, when I import cdms2 (and openmpi is not loaded)
Now, if I load openmpi to access our homemade LSCE openmpi, I get an error when I import cdms2, with references to ESMF. Note that by homemade I just mean that it has been recompiled locally
I have the following references to openmpi in my environment (references added by
module load openmpi
)I'm not sure if you can do anything about that, but I thought I'd better report this problem
For now, I'm just going to remove the module load openmpi from this user's environment, because I'm not sure she needs it
Should openmpi provided by conda be a dependency of something? There does not seem to be any in 2.10, but it seems to be available in conda-forge
I have also cloned 2.10 and added openmpi with conda, but I still get the same error after doing a module load openmpi