sensei issueshttps://gitlab.kitware.com/sensei/sensei/-/issues2021-06-21T14:30:58-04:00https://gitlab.kitware.com/sensei/sensei/-/issues/59Multiple arrays not working with Ascent Analysis adaptor2021-06-21T14:30:58-04:00Ali ASADMultiple arrays not working with Ascent Analysis adaptorWhile running the driver with ascent analysis adaptor enabled, the array requirement iterator is not able to go beyond the first array defined inside the <point_arrays> tag in the input xml file.While running the driver with ascent analysis adaptor enabled, the array requirement iterator is not able to go beyond the first array defined inside the <point_arrays> tag in the input xml file.Wes BethelWes Bethelhttps://gitlab.kitware.com/sensei/sensei/-/issues/58Frequency attribute only works with libsim analysis2021-06-21T11:58:15-04:00Victor MateevitsiFrequency attribute only works with libsim analysisI was trying to render in-situ every n frames and the frequency attribute was not working.
```
<sensei>
<analysis type="catalyst" frequency="10" pipeline="pythonscript" filename="analysis.py" enabled="1" />
</sensei>
```
I dug into th...I was trying to render in-situ every n frames and the frequency attribute was not working.
```
<sensei>
<analysis type="catalyst" frequency="10" pipeline="pythonscript" filename="analysis.py" enabled="1" />
</sensei>
```
I dug into the code (ConfigurableAnalysis.cxx) and saw that it only works under libsim analysis.https://gitlab.kitware.com/sensei/sensei/-/issues/56VTKUtils has unused function warnings when ENABLE_VTK_IO is not enabled2021-03-04T13:37:50-05:00Ryan Krattigerryan.krattiger@kitware.comVTKUtils has unused function warnings when ENABLE_VTK_IO is not enabledhttps://gitlab.kitware.com/sensei/sensei/-/issues/55Typo in cmake/mpi.cmake FETAL_ERROR -> FATAL_ERROR2021-03-04T12:57:53-05:00Ryan Krattigerryan.krattiger@kitware.comTypo in cmake/mpi.cmake FETAL_ERROR -> FATAL_ERRORhttps://gitlab.kitware.com/sensei/sensei/-/issues/51Oscillator mini app fails with 65k ranks2019-12-17T13:18:37-05:00Silvio RizziOscillator mini app fails with 65k ranksAs part of testing a containerized SENSEI software stack, I tried the oscillator miniapp on Theta with 1024 nodes and 64 ranks per node (total of 65536 ranks). The build consists of SENSEI 2.1.1, VTK 8.2.0, and ADIOS 1.13.1. I used the d...As part of testing a containerized SENSEI software stack, I tried the oscillator miniapp on Theta with 1024 nodes and 64 ranks per node (total of 65536 ranks). The build consists of SENSEI 2.1.1, VTK 8.2.0, and ADIOS 1.13.1. I used the default histogram settings with 10 bins for mesh "mesh" and array "data". The config file passed to the miniapp is sample.osc
The job failed with lots of error messages such as:
``` Error: could not find appropriate neighbor for particle: xxxxx ```
In addition, the job error file contains multiple entries like this:
```
=========================================================
Process id 28120 Caught SIGABRT
Program Stack:
0x2aaaac67c5f0 : ??? [(???) ???:-1]
0x2aaab17c5337 : gsignal [(libc.so.6) ???:-1]
0x2aaab17c6a28 : abort [(libc.so.6) ???:-1]
0x484de4 : Block::move_particles(float, diy::Master::ProxyWithLink const&) [(oscillator) ???:-1]
0x46c3f1 : diy::Master::ProcessBlock::operator()() [(oscillator) ???:-1]
0x46d1e8 : diy::Master::execute() [(oscillator) ???:-1]
0x46d4c1 : void diy::Master::foreach_<Block>(std::function<void (Block*, diy::Master::ProxyWithLink const&)> const&, std::function<bool (int, diy::Master const&)> const&) [(oscillator) ???:-1]
0x4589ab : main [(oscillator) ???:-1]
0x2aaab17b1505 : __libc_start_main [(libc.so.6) ???:-1]
0x45b2b7 : ??? [(???) ???:-1]
=========================================================
```
This same configuration worked fine with 128 nodes and 64 ranks per node (total of 8192 ranks)
I will keep all log files related to the failed run in case additional information is needed.
Thanks,
Silviohttps://gitlab.kitware.com/sensei/sensei/-/issues/50find_package ParaView fails if we find_package HDF52019-11-08T16:08:07-05:00Burlen Loringfind_package ParaView fails if we find_package HDF5When we enable HDF5 find_package ParaView errors out. It seems that it's call to find_package requests a different set of components but cmake does not try to find them.
building SENSEI with
```
#!/bin/bash
cmake -DCMAKE_CXX_FLAGS="-f...When we enable HDF5 find_package ParaView errors out. It seems that it's call to find_package requests a different set of components but cmake does not try to find them.
building SENSEI with
```
#!/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 -DSENSEI_PYTHON_VERSION=3 -DENABLE_CATALYST=ON -DENABLE_CATALYST_PYTHON=ON \
-DParaView_DIR=/home/in-situ-user/sensei_insitu/software/paraview/5.7.1/lib/cmake/paraview-5.7/ \
-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_ROOT=/usr/lib/x86_64-linux-gnu/hdf5/openmpi \
-DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DCMAKE_INSTALL_PREFIX=/home/sensei/sensei_insitu/software/sensei/3.0.0-catalyst-shared \
$*
```
cmake output/error
```
in-situ-user@sensei-ascent-sc19:~/sensei_insitu/software/sensei/builds/3.0.0-catalyst-shared$ rm -rf *; ../config-sensei-catalyst.sh ../sensei_3.0.0/
-- The C compiler identification is GNU 7.4.0
-- The CXX compiler identification is GNU 7.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- ENABLE_SENSEI=ON
-- ENABLE_PYTHON=ON
-- ENABLE_VTK_GENERIC_ARRAYS=OFF
-- ENABLE_CATALYST=ON
-- ENABLE_CATALYST_PYTHON=ON
-- ENABLE_ADIOS1=ON
-- ENABLE_HDF5=ON
-- ENABLE_CONDUIT=OFF
-- ENABLE_LIBSIM=OFF
-- ENABLE_VTK_IO=ON
-- ENABLE_VTK_MPI=ON
-- ENABLE_VTK_RENDERING=ON
-- ENABLE_VTK_ACCELERATORS=OFF
-- ENABLE_VTK_FILTERS=OFF
-- ENABLE_VTKM=OFF
-- ENABLE_VTKM_RENDERING=OFF
-- ENABLE_PROFILER=OFF
-- ENABLE_OSCILLATORS=ON
-- ENABLE_CONDUITTEST=OFF
-- ENABLE_KRIPKE=OFF
-- CMAKE_BUILD_TYPE=Release
-- CMAKE_CXX_FLAGS=-fPIC -std=c++11 -Wall -Wextra -O3 -march=x86-64 -mtune=generic
-- BUILD_SHARED_LIBS=OFF
-- BUILD_STATIC_EXECS=OFF
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found MPI_C: /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so (found version "3.1")
-- Found MPI_CXX: /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so (found version "3.1")
-- Found MPI: TRUE (found version "3.1")
-- Found 'adios_config': /home/in-situ-user/sensei_insitu/software/adios/1.13.1/bin/adios_config
-- ADIOS1 linker flags (unparsed): /home/sensei/sensei_insitu/software/adios/1.13.1/lib/libadios.a /home/sensei/sensei_insitu/software/chaos/1.13.1/lib/libevpath.so /home/sensei/sensei_insitu/software/chaos/1.13.1/lib/libatl.so /home/sensei/sensei_insitu/software/chaos/1.13.1/lib/libffs.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libm.so
-- Found ADIOS1: /home/sensei/sensei_insitu/software/adios/1.13.1/lib/libadios.a;/home/sensei/sensei_insitu/software/chaos/1.13.1/lib/libevpath.so;/home/sensei/sensei_insitu/software/chaos/1.13.1/lib/libatl.so;/home/sensei/sensei_insitu/software/chaos/1.13.1/lib/libffs.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "1.13.1")
-- 1. find_package(HDF5 REQUIRED COMPONENTS C) ===================>
-- Found HDF5: /usr/lib/x86_64-linux-gnu/hdf5/openmpi/lib/libhdf5.so (found version "1.10.0.1") found components: C
-- 1. find_package(HDF5 REQUIRED COMPONENTS C) <===================
-- 1. find_package(ParaView CONFIG QUIET) <===========================================
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find HDF5 (missing: HL) (found version "1.10.0.1")
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
/home/in-situ-user/sensei_insitu/software/paraview/5.7.1/lib/cmake/paraview-5.7/vtk/patches/99/FindHDF5.cmake:920 (find_package_handle_standard_args)
/home/in-situ-user/sensei_insitu/software/paraview/5.7.1/lib/cmake/paraview-5.7/vtk/VTK-vtk-module-find-packages.cmake:125 (find_package)
/home/in-situ-user/sensei_insitu/software/paraview/5.7.1/lib/cmake/paraview-5.7/vtk/vtk-config.cmake:115 (include)
/home/in-situ-user/sensei_insitu/software/paraview/5.7.1/lib/cmake/paraview-5.7/paraview-config.cmake:41 (find_package)
CMake/catalyst.cmake:10 (find_package)
CMakeLists.txt:18 (include)
-- Configuring incomplete, errors occurred!
See also "/home/in-situ-user/sensei_insitu/software/sensei/builds/3.0.0-catalyst-shared/CMakeFiles/CMakeOutput.log".
See also "/home/in-situ-user/sensei_insitu/software/sensei/builds/3.0.0-catalyst-shared/CMakeFiles/CMakeError.log".
```
See #49 for background
a couple of work around :
1. we could find hdf5 after find paraview
2. we could add HL component to our find hdf5
I like neither of these and I think this is a bigger issue with the way VTK/PV is doing their cmake config.https://gitlab.kitware.com/sensei/sensei/-/issues/49ParaView's cmake code finds `/usr/bin/python` when using Python 32019-11-07T14:08:06-05:00Burlen LoringParaView's cmake code finds `/usr/bin/python` when using Python 3when we find_package ParaView Python 2 interp is found even though PV uses Python 3.
building SENSEI with
```
#!/bin/bash
cmake -DCMAKE_CXX_FLAGS="-fPIC -std=c++11 -Wall -Wextra -O3 -march=x86-64 -mtune=generic" \
-DCMAKE_C_FLAGS="...when we find_package ParaView Python 2 interp is found even though PV uses Python 3.
building SENSEI with
```
#!/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 -DSENSEI_PYTHON_VERSION=3 -DENABLE_CATALYST=ON -DENABLE_CATALYST_PYTHON=ON \
-DParaView_DIR=/home/in-situ-user/sensei_insitu/software/paraview/5.7.1/lib/cmake/paraview-5.7/ \
-DENABLE_VTK_IO=ON -DENABLE_VTK_MPI=ON -DENABLE_ADIOS1=ON \
-DADIOS1_DIR=/home/sensei/sensei_insitu/software/adios/1.13.1 \
-DENABLE_HDF5=OFF -DHDF5_ROOT=/usr/lib/x86_64-linux-gnu/hdf5/openmpi \
-DCMAKE_INSTALL_PREFIX=/home/sensei/sensei_insitu/software/sensei/3.0.0-catalyst-shared \
$*
```
output
```
in-situ-user@sensei-ascent-sc19:~/sensei_insitu/software/sensei/builds/3.0.0-catalyst-shared$ rm -rf *; ../config-sensei-catalyst.sh ../sensei_3.0.0/
-- The C compiler identification is GNU 7.4.0
-- The CXX compiler identification is GNU 7.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- ENABLE_SENSEI=ON
-- ENABLE_PYTHON=ON
-- ENABLE_VTK_GENERIC_ARRAYS=OFF
-- ENABLE_CATALYST=ON
-- ENABLE_CATALYST_PYTHON=ON
-- ENABLE_ADIOS1=ON
-- ENABLE_HDF5=OFF
-- ENABLE_CONDUIT=OFF
-- ENABLE_LIBSIM=OFF
-- ENABLE_VTK_IO=ON
-- ENABLE_VTK_MPI=ON
-- ENABLE_VTK_RENDERING=ON
-- ENABLE_VTK_ACCELERATORS=OFF
-- ENABLE_VTK_FILTERS=OFF
-- ENABLE_VTKM=OFF
-- ENABLE_VTKM_RENDERING=OFF
-- ENABLE_PROFILER=OFF
-- ENABLE_OSCILLATORS=ON
-- ENABLE_CONDUITTEST=OFF
-- ENABLE_KRIPKE=OFF
-- CMAKE_BUILD_TYPE=Release
-- CMAKE_CXX_FLAGS=-fPIC -std=c++11 -Wall -Wextra -O3 -march=x86-64 -mtune=generic
-- BUILD_SHARED_LIBS=OFF
-- BUILD_STATIC_EXECS=OFF
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found MPI_C: /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so (found version "3.1")
-- Found MPI_CXX: /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so (found version "3.1")
-- Found MPI: TRUE (found version "3.1")
-- Found 'adios_config': /home/in-situ-user/sensei_insitu/software/adios/1.13.1/bin/adios_config
-- ADIOS1 linker flags (unparsed): /home/sensei/sensei_insitu/software/adios/1.13.1/lib/libadios.a /home/sensei/sensei_insitu/software/chaos/1.13.1/lib/libevpath.so /home/sensei/sensei_insitu/software/chaos/1.13.1/lib/libatl.so /home/sensei/sensei_insitu/software/chaos/1.13.1/lib/libffs.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libm.so
-- Found ADIOS1: /home/sensei/sensei_insitu/software/adios/1.13.1/lib/libadios.a;/home/sensei/sensei_insitu/software/chaos/1.13.1/lib/libevpath.so;/home/sensei/sensei_insitu/software/chaos/1.13.1/lib/libatl.so;/home/sensei/sensei_insitu/software/chaos/1.13.1/lib/libffs.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "1.13.1")
-- 1. find_package(ParaView CONFIG QUIET) <===========================================
-- 1. PYTHON_EXECUTABLE=/usr/bin/python
-- 1. ===========================================>
-- 2. find_package(ParaView CONFIG COMPONENTS Catalyst;ServerManagerRendering;PythonCatalyst) <===========================================
-- Found mpi4py: /home/in-situ-user/.local/lib/python2.7/site-packages/mpi4py/include
-- Found HDF5: /usr/lib/x86_64-linux-gnu/hdf5/openmpi/lib/libhdf5.so (found version "1.10.0.1") found components: C HL
-- Found Python3: /usr/lib/x86_64-linux-gnu/libpython3.6m.so (found suitable version "3.6.8", minimum required is "3.6") found components: Development
-- Found MPI: TRUE (found version "3.1") found components: C
-- Found X11: /usr/include found components: Xt
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so found components: OpenGL GLX
-- 2. PYTHON_EXECUTABLE=/usr/bin/python
-- 2. ===========================================>
-- 3. find_package(VTK CONFIG QUIET COMPONENTS ) <===========================================
-- 3. PYTHON_EXECUTABLE=/usr/bin/python
-- 3. ===========================================>
-- 1. find_package(PythonInterp 3 REQUIRED) <===========================================
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find PythonInterp: Found unsuitable version "2.7.15", but
required is at least "3" (found /usr/bin/python)
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:376 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.10/Modules/FindPythonInterp.cmake:152 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMake/python.cmake:5 (find_package)
CMakeLists.txt:21 (include)
-- Configuring incomplete, errors occurred!
See also "/home/in-situ-user/sensei_insitu/software/sensei/builds/3.0.0-catalyst-shared/CMakeFiles/CMakeOutput.log".
See also "/home/in-situ-user/sensei_insitu/software/sensei/builds/3.0.0-catalyst-shared/CMakeFiles/CMakeError.log".
```
in `CMake/catalyst.cmake` we are calling find_package 2x for ParaView, 1x for VTK.
1. https://gitlab.kitware.com/sensei/sensei/blob/master/CMake/catalyst.cmake#L10
2. https://gitlab.kitware.com/sensei/sensei/blob/master/CMake/catalyst.cmake#L22
3. https://gitlab.kitware.com/sensei/sensei/blob/master/CMake/catalyst.cmake#L41
here is the patch I used to help track down who's find_package is failing
```
diff --git a/CMake/catalyst.cmake b/CMake/catalyst.cmake
index 373a0b2..afdd06d 100644
--- a/CMake/catalyst.cmake
+++ b/CMake/catalyst.cmake
@@ -6,8 +6,10 @@ if (ENABLE_CATALYST)
list(APPEND sensei_pv_components_legacy vtkPVPythonCatalyst)
list(APPEND sensei_pv_components_modern PythonCatalyst)
endif()
-
+ message(STATUS "1. find_package(ParaView CONFIG QUIET) <===========================================")
find_package(ParaView CONFIG QUIET)
+ message(STATUS "1. PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}")
+ message(STATUS "1. ===========================================>")
if(NOT ParaView_FOUND)
message(STATUS ${ParaView_NOT_FOUND_MESSAGE})
message(FATAL_ERROR "Catalyst analysis components require Catalyst build "
@@ -19,7 +21,10 @@ if (ENABLE_CATALYST)
else()
set (SENSEI_PV_COMPONENTS ${sensei_pv_components_modern})
endif()
+ message(STATUS "2. find_package(ParaView CONFIG COMPONENTS ${SENSEI_PV_COMPONENTS}) <===========================================")
find_package(ParaView CONFIG COMPONENTS ${SENSEI_PV_COMPONENTS})
+ message(STATUS "2. PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}")
+ message(STATUS "2. ===========================================>")
# avoid leaking these internal variables
unset(sensei_pv_components_legacy)
@@ -38,7 +43,10 @@ if (ENABLE_CATALYST)
target_compile_definitions(sVTK INTERFACE ${VTK_DEFINITIONS})
else()
# find VTK separately
+ message(STATUS "3. find_package(VTK CONFIG QUIET COMPONENTS ${SENSEI_VTK_COMPONENTS}) <===========================================")
find_package(VTK CONFIG QUIET COMPONENTS ${SENSEI_VTK_COMPONENTS})
+ message(STATUS "3. PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}")
+ message(STATUS "3. ===========================================>")
target_link_libraries(sVTK INTERFACE ${ParaView_LIBRARIES} ${VTK_LIBRARIES})
endif()
diff --git a/CMake/hdf5.cmake b/CMake/hdf5.cmake
index 23dfa20..0ba5221 100644
--- a/CMake/hdf5.cmake
+++ b/CMake/hdf5.cmake
@@ -1,9 +1,11 @@
if (ENABLE_HDF5)
+ message(STATUS "1. find_package(HDF5 REQUIRED COMPONENTS C) ===================>")
find_package(HDF5 REQUIRED COMPONENTS C)
if(NOT HDF5_IS_PARALLEL)
message(SEND_ERROR "Failed to locate parallel hdf5 installation")
endif()
+ message(STATUS "1. find_package(HDF5 REQUIRED COMPONENTS C) <===================")
add_library(sHDF5 INTERFACE)
target_link_libraries(sHDF5 INTERFACE ${HDF5_LIBRARIES})
diff --git a/CMake/python.cmake b/CMake/python.cmake
index 516f2b8..4f18dcc 100644
--- a/CMake/python.cmake
+++ b/CMake/python.cmake
@@ -1,7 +1,9 @@
if (ENABLE_PYTHON)
set(SENSEI_PYTHON_VERSION 2 CACHE STRING "The major version number of Python SENSEI should use.")
set_property(CACHE SENSEI_PYTHON_VERSION PROPERTY STRINGS 2 3)
+ message(STATUS "1. find_package(PythonInterp ${SENSEI_PYTHON_VERSION} REQUIRED) <===========================================")
find_package(PythonInterp ${SENSEI_PYTHON_VERSION} REQUIRED)
+ message(STATUS "1. <===========================================")
find_package(PythonLibs ${SENSEI_PYTHON_VERSION} REQUIRED)
find_package(NUMPY REQUIRED)
find_program(swig_cmd NAMES swig swig3.0)
```
work around is to force PYTHON_EXECUTABLE on the cmake command line.https://gitlab.kitware.com/sensei/sensei/-/issues/47ascent backend regression test2019-09-27T14:12:04-04:00Burlen Loringascent backend regression testmake a regression test that runs the oscillator mini app with the ascent backend
see other similar regression tests exercising libsim/catalystmake a regression test that runs the oscillator mini app with the ascent backend
see other similar regression tests exercising libsim/catalystDavidDavidhttps://gitlab.kitware.com/sensei/sensei/-/issues/46build and test hdf5 in transit infrastructure in VM with VTK, VisIt, and Cata...2019-06-20T17:34:38-04:00Burlen Loringbuild and test hdf5 in transit infrastructure in VM with VTK, VisIt, and CatalystCurrently 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...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
```Junmin GuJunmin Guhttps://gitlab.kitware.com/sensei/sensei/-/issues/41ascent ghost zones2021-06-21T15:52:30-04:00Burlen Loringascent ghost zonesPass (convert if needed) sensei's ghost zone arrays to ascent in a way that it can understand. Sensei uses VisIt conventions for ghost zones. If ascent does not then some conversion would be necessary. Test this with IAMR.Pass (convert if needed) sensei's ghost zone arrays to ascent in a way that it can understand. Sensei uses VisIt conventions for ghost zones. If ascent does not then some conversion would be necessary. Test this with IAMR.Wes BethelWes Bethelhttps://gitlab.kitware.com/sensei/sensei/-/issues/40configure ascent from json and remove hard coded configs2019-04-22T14:07:32-04:00Burlen Loringconfigure ascent from json and remove hard coded configssensei should use ascent's internal mechanisms to configure ascent. our xml file will point to their config files. Nicole has this working, it may need some refinement. first assess what needs to be done, then implement and document it. ...sensei should use ascent's internal mechanisms to configure ascent. our xml file will point to their config files. Nicole has this working, it may need some refinement. first assess what needs to be done, then implement and document it. Finally remove the hard coded stuff from the xml parser.DavidDavidhttps://gitlab.kitware.com/sensei/sensei/-/issues/39document ascent stuff2019-04-22T14:05:11-04:00Burlen Loringdocument ascent stuffdocument how to configure, build, and use sensei with the ascent back end. this should go in the read the docs user guide.document how to configure, build, and use sensei with the ascent back end. this should go in the read the docs user guide.DavidDavidhttps://gitlab.kitware.com/sensei/sensei/-/issues/38ascent dependency & exports (cmake)2019-04-22T14:03:40-04:00Burlen Loringascent dependency & exports (cmake)Add ascent exports to our cmake use file. test this by moving a copy of the `oscillator` mini app outside the source dir and compiling it. this test is what would be done by some one instrumenting a sim.Add ascent exports to our cmake use file. test this by moving a copy of the `oscillator` mini app outside the source dir and compiling it. this test is what would be done by some one instrumenting a sim.DavidDavidhttps://gitlab.kitware.com/sensei/sensei/-/issues/37ascent dependency & exports (sensei_config)2019-04-22T14:01:15-04:00Burlen Loringascent dependency & exports (sensei_config)`sensei_config` is the command line program that propagates library and header dependency from our cmake scripts to something that can be used in GNU make based projects. `sensei_config` is a shell script generated by CMake. Add all of ...`sensei_config` is the command line program that propagates library and header dependency from our cmake scripts to something that can be used in GNU make based projects. `sensei_config` is a shell script generated by CMake. Add all of the libs & includes needed to link AMReX against SENSEI compiled with ascent are in `sensei_config`.DavidDavidhttps://gitlab.kitware.com/sensei/sensei/-/issues/31using output_dir attribute in the VTKPostHoc writer breaks visit and pvd files2018-10-28T17:08:22-04:00Burlen Loringusing output_dir attribute in the VTKPostHoc writer breaks visit and pvd filesfix the pvd/visit file generationfix the pvd/visit file generationhttps://gitlab.kitware.com/sensei/sensei/-/issues/30oscillator crash2019-12-17T13:20:41-05:00Junmin Guoscillator crashmy command:
srun -n 4 ./oscillator -s 64,64,64 -b 64 -t 5 -f h5-osc.xml sample.osc
output:
```
WARNING: No subset specified. Writing all available data
Error: could not find appropriate neighbor for particle: (id 2780, position: (32.303...my command:
srun -n 4 ./oscillator -s 64,64,64 -b 64 -t 5 -f h5-osc.xml sample.osc
output:
```
WARNING: No subset specified. Writing all available data
Error: could not find appropriate neighbor for particle: (id 2780, position: (32.303, 11.4627, 55.0531), velocity: (-3.68322, -4.93237, 1.67584))
=========================================================
Process id 63460 Caught SIGABRT
Program Stack:
WARNING: The stack trace will not use advanced capabilities because this is a release build.
0x2aaaaaf8dc10 : ??? [(???) ???:-1]
0x2aaab2b28f67 : gsignal [(libc.so.6) ???:-1]
0x2aaab2b2a33a : abort [(libc.so.6) ???:-1]
0x475054 : Block::move_particles(float, diy::Master::ProxyWithLink const&) [(oscillator) ???:-1]
0x4551f3 : diy::Master::ProcessBlock::operator()() [(oscillator) ???:-1]
0x4573bf : diy::Master::execute() [(oscillator) ???:-1]
0x4576c3 : void diy::Master::foreach_<Block>(std::function<void (Block*, diy::Master::ProxyWithLink const&)> const&, std::function<bool (int, diy::Master const&)> const&) [(oscillator) ???:-1]
0x44545d : main [(oscillator) ???:-1]
0x2aaab2b14725 : __libc_start_main [(libc.so.6) ???:-1]
0x447bd9 : _start [(oscillator) ???:-1]
```David ThompsonDavid Thompsonhttps://gitlab.kitware.com/sensei/sensei/-/issues/29handle LINK_ONLY in sensei config2018-09-18T12:49:13-04:00Burlen Loringhandle LINK_ONLY in sensei configmany entries such this are showing up in the static catalyst versions
`:$<LINK_ONLY:vtkPythonInterpreter>`
I think these can be removedmany entries such this are showing up in the static catalyst versions
`:$<LINK_ONLY:vtkPythonInterpreter>`
I think these can be removedhttps://gitlab.kitware.com/sensei/sensei/-/issues/27fix vtkm documentation2018-09-13T15:44:15-04:00Burlen Loringfix vtkm documentationREADME.md incorrectly implies that use3 of VTKm in sensei depends on VTK, we have also used a VTKm clone outside of VTK, and need to support that use case.README.md incorrectly implies that use3 of VTKm in sensei depends on VTK, we have also used a VTKm clone outside of VTK, and need to support that use case.https://gitlab.kitware.com/sensei/sensei/-/issues/24Update autocorrelation analysis to handle oscillator's ucdmesh2018-12-10T15:20:15-05:00Aron HelserUpdate autocorrelation analysis to handle oscillator's ucdmeshucdmesh is an unstructured grid.
@mrzv said this in an email thread:
> The way autocorrelation was written was that each block (stored in the master) stores a grid of values, where it updates the autocorrelation values. If you change f...ucdmesh is an unstructured grid.
@mrzv said this in an email thread:
> The way autocorrelation was written was that each block (stored in the master) stores a grid of values, where it updates the autocorrelation values. If you change from a structured grid to something else, a similar structure needs to be mirrored in the blocks.
If you try to run the autocorrelation analysis on the "ucdmesh", it currently crashes, because it tries to look up a block based on an 'lid' of -1, which doesn't exist.
This feature will probably not be needed for the aug 2018 miniapp scaling runs.https://gitlab.kitware.com/sensei/sensei/-/issues/23raise exceptions in DataAdaptor wrappers2018-08-13T19:33:50-04:00Burlen Loringraise exceptions in DataAdaptor wrappersThe API had to be massaged because Python doesn't do pass by reference at the expense of the error return code. Instead we can raise exceptions in DataAdaptor wrappers when an error occurs. currently we are reporting the error but raisin...The API had to be massaged because Python doesn't do pass by reference at the expense of the error return code. Instead we can raise exceptions in DataAdaptor wrappers when an error occurs. currently we are reporting the error but raising an exception.