Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
sensei
sensei
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 20
    • Issues 20
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 9
    • Merge Requests 9
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • sensei
  • senseisensei
  • Issues
  • #46

Closed
Open
Opened Jun 19, 2019 by Burlen Loring@bloringMaintainer

build and test hdf5 in transit infrastructure in VM with VTK, VisIt, and Catalyst

Currently the HDF5 transport is failing to build in the VM with the Catalyst back end. Error messages follow below.

One issue is that if the user does nothing serial HDF5 is detected. This can be partially worked around by setting HDF5_C_COMPILER_EXECUTABLE to the path of h5pcc. However, this should be automatic since the HDF5 transport requires parallel HDF5.

A second issue is that even though CMake reports finding and using parallel HDF5, the build fails as if it were using a serial HDF5. See below for more information on this.

Tasks

  1. Make sure our CMake code finds the parallel HDF5, not the serial one without any user intervention.
  2. Make sure the HDF5 transport builds in all supported configurations on the VM. This includes with Catalyst, Libsim, and VTK back ends.
  3. Document the build process in the read-the docs site. A readme file would suffice for now.

Configuration script

#!/bin/bash                                                                                                                                                                                                           

cmake -DCMAKE_CXX_FLAGS="-fPIC -std=c++11 -Wall -Wextra -O3 -march=x86-64 -mtune=generic" \
    -DCMAKE_C_FLAGS="-fPIC -Wall -Wextra -O3 -march=x86-64 -mtune=generic" \
    -DENABLE_PYTHON=ON -DENABLE_CATALYST=ON -DENABLE_CATALYST_PYTHON=ON \
    -DParaView_DIR=/home/sensei/sensei_insitu/software/paraview/builds/PV-5.5.2/ \
    -DENABLE_VTK_IO=ON -DENABLE_VTK_MPI=ON \
    -DENABLE_ADIOS1=ON \
    -DADIOS1_DIR=/home/sensei/sensei_insitu/software/adios/1.13.1 \
    -DENABLE_HDF5=ON -DHDF5_DIR=/usr/lib/x86_64-linux-gnu/hdf5/openmpi/ \
    -DHDF5_C_COMPILER_EXECUTABLE=`which h5pcc` \
    -DCMAKE_INSTALL_PREFIX=/home/sensei/sensei_insitu/software/sensei/2.1.1-catalyst-shared \
    $*

CMake output

-- HDF5: Using hdf5 compiler wrapper to determine C configuration
-- Found HDF5: /usr/lib/x86_64-linux-gnu/hdf5/openmpi/libhdf5.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "1.10.0.1") found components:  C 
-- HDF5 found? TRUE /usr/include/hdf5/openmpi /usr/include/hdf5/openmpi

Build Errors

/home/sensei/sensei_insitu/software/sensei/builds/sensei_smic/sensei/HDF5Schema.cxx: In constructor ‘senseiHDF5::BasicStream::BasicStream(MPI_Comm, bool)’:
/home/sensei/sensei_insitu/software/sensei/builds/sensei_smic/sensei/HDF5Schema.cxx:732:3: error: ‘H5Pset_fapl_mpio’ was not declared in this scope
   H5Pset_fapl_mpio(m_PropertyListId, comm, MPI_INFO_NULL);
   ^~~~~~~~~~~~~~~~
/home/sensei/sensei_insitu/software/sensei/builds/sensei_smic/sensei/HDF5Schema.cxx:732:3: note: suggested alternative: ‘H5Pset_fapl_stdio’
   H5Pset_fapl_mpio(m_PropertyListId, comm, MPI_INFO_NULL);
   ^~~~~~~~~~~~~~~~
   H5Pset_fapl_stdio
/home/sensei/sensei_insitu/software/sensei/builds/sensei_smic/sensei/HDF5Schema.cxx: In member function ‘void senseiHDF5::BasicStream::SetCollectiveTxf()’:
/home/sensei/sensei_insitu/software/sensei/builds/sensei_smic/sensei/HDF5Schema.cxx:742:7: error: ‘H5Pset_dxpl_mpio’ was not declared in this scope
       H5Pset_dxpl_mpio(m_CollectiveTxf, H5FD_MPIO_COLLECTIVE);
       ^~~~~~~~~~~~~~~~
/home/sensei/sensei_insitu/software/sensei/builds/sensei_smic/sensei/HDF5Schema.cxx:742:7: note: suggested alternative: ‘H5Pset_fapl_stdio’
       H5Pset_dxpl_mpio(m_CollectiveTxf, H5FD_MPIO_COLLECTIVE);
       ^~~~~~~~~~~~~~~~
       H5Pset_fapl_stdio
sensei/CMakeFiles/senseiCore.dir/build.make:806: recipe for target 'sensei/CMakeFiles/senseiCore.dir/HDF5Schema.cxx.o' failed
make[2]: *** [sensei/CMakeFiles/senseiCore.dir/HDF5Schema.cxx.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:262: recipe for target 'sensei/CMakeFiles/senseiCore.dir/all' failed
make[1]: *** [sensei/CMakeFiles/senseiCore.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: sensei/sensei#46