-
Notifications
You must be signed in to change notification settings - Fork 189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
H5md feature unavailable #3656
Comments
On further reading about H5md module, I found out that it's a feature that is external to Espressomd and must be invoked using "Note Requires H5MD external feature, enabled with -DWITH_HDF5=ON.". But, putting this option before the file name in the command "$ESPRESSO_PATH/pypresso -DWITH_HDF5=ON minimal.py 0.0002694 -0.2179 50.0" did not lead to any good. |
I figured that it's not compiled since it threw up the error message "H5MD not compiled in. Does it mean I will have to install EspressoMD again? |
please have a look at http://espressomd.org/html/doc4.1.2/installation.html. You have to enable certain features (like H5MD) at compile time. |
Hi Kai, does it mean I will have to install H5MD first before compiling espressomd with "H5MD" ON during ccmake? |
yes |
Ok. What version do you recommend? By the way, it's h5py I guess (http://docs.h5py.org/en/stable/). |
I recompiled Espressomd with " -DWITH_HDF5=ON" but the problem remains. |
When I put out all features using print(code_info.features()), I get the following: |
If I write "#define H5MD" in the myconfig.hpp file (the documentation in the above link counts H5MD as a general feature), I get the following error during make -j4. So, I believe it's an external feature which must be activated using " -DWITH_HDF5=ON". Either way, the problem still remains. |
To enable H5MD, you'll need both the python package
If |
I checked the version of h5py on my cluster, it's '2.10.0'. And my cluster already has hdf5 since on running CMake, I got this message -- The following OPTIONAL packages have been found:
|
@jngrad are you sure the python module is needed? I didn't think that would be the case, IIRC it's also all C++ code... |
To support my statement about hdf5 having already been installed, I attach here the snippet of the output of ccmake.. related to hdf5. HDF5_C_COMPILER_EXECUTABLE /software/anaconda3/bin/h5cc |
It looks like a complicated technical problem. So, what are some other ways of storing the coordinates for computing density profiles (mind you I need to analyze thousands of frames to get smooth results)? Can .vtf files be read from a python script? I ask that because they are designed specifically for visualization through VMD. |
@fweik you're right, the Python package isn't required. There's actually no point in having it in the CMake logic. The H5MD CMake logic could be cleaned up a bit. We should also consider making CMake fail instead of carrying on silently if an external feature is requested but the libraries not found. The current behavior probably stems from CMake's @dpo854 in |
@jngrad It's needed for a test, the corresponding cmake stuff should be at the point of usage imho. |
@fweik it took me a while to find out this command actually sets variable |
@jngrad I get "/* #undef H5MD */" in the cmake_config.hpp file. My espresso version is 4.1.2. |
Alright, looking through the Ubuntu repository, it looks like To get the parallel version, install |
Thank you for tracking down the source of the error. A silly question. Since I am trying to install it on my cluster and sudo apt install or sudo yum install do not work there, is there a way to get its .tar.gz file? That's how I built fftw on my cluster. |
I've obtained the sources from the Ubuntu repo page, under "Download Source Package". Workflow: wget http://archive.ubuntu.com/ubuntu/pool/universe/h/hdf5/hdf5_1.10.0-patch1+docs.orig.tar.gz
tar xfz hdf5_1.10.0-patch1+docs.orig.tar.gz
cd hdf5-1.10.0-patch1+docs/
CC=$(which mpicc) ./configure --enable-parallel --prefix=/work/jgrad/hdf5-build
make -j$(nproc)
make check -j2 # just for testing
make install then add
|
Do I have to delete " set(HDF5_PREFER_PARALLEL 1)", which is before "find_package(HDF5 "1.8" COMPONENTS C)"? |
Now, it throws up this error. I am sorry for causing you so much inconvenience. However, I did follow all the abovementioned steps.
|
I added this line "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/dpo854/mycode/hdf5-1.10.0-patch1+docs/build/lib" to my submission script but it did not help. Rather it gives me another error:
|
@dpo854 sorry, but we cannot give support for building dependencies from source. Please ask on the mailing list for hdf5. |
I'll close this for now, if you have any further questions please open another ticket. |
No problem. On a side note, is it okay to save manually the positions in text files as an alternative to hdf5? |
Of course you can do that, but it's quite slow. The best option is probably live analysis if you know beforehand what you want to look at. |
Pardon my ignorance, but isn't the computational cost involved in live analysis (I assume by this you mean determining profiles by looping over particles in each step as the simulation goes forward) the same as writing to a file in each step and analyzing it later from a separate script? |
no because file I/O slows you down significantly. |
Ok. That was quite helpful. Hopefully, now I can find a way around the hdf5 issue. Thanks |
Description of changes: - remove CUDA installation instructions on OSX (follow-up to #3652) - update links to dockerfiles for non-Ubuntu OSes - correct the Coulomb prefactor formula (fixes #3633) - in electrostatics scripts, replace magic values by their full expressions - document the difference between serial and parallel versions of `libhdf5-dev` (fixes #3656) - improve documentation of the script that shows the effect of MPI and `node_grid` on domain decomposition (see mailing list email "dividing simulation box using MPI" from 2020-04-20)
This CMake module is not actually needed. Follow-up to #3656 (comment).
How does one go about fixing the unavailability of H5md? My espressomd.io.writer seems to have the vtf feature available in it. So, I am not sure where the error is coming from. A look at the source code for espressomd.io.writer.h5md suggested that 'H5md' is not part of the features of code_info. Any way out of this?
File "/home/dpo854/mycode/espresso/install/lib/python3.4/site-packages/espressomd/io/writer/h5md.py", line 29, in init
raise RuntimeError("H5md not available.")
RuntimeError: H5md not available.
The text was updated successfully, but these errors were encountered: