Hi,
I was trying to follow the HDF5 VPIC guide for installing VPIC on perlmutter. I cloned VPIC from https://github.com/xiaocanli/vpic, as suggested in the manual.
However, I got error during the compilation of the reconnection deck. I modified Makefile_permutter_cpu
to correctly identify the build/bin
directory, but then
> make -f Makefile_perlmutter_cpu
/global/homes/h/hyzhou/vpic/vpic_hdf5_rebase/build/bin/vpic reconnection.cc
/opt/cray/pe/craype/2.7.20/bin/CC -DDISABLE_DYNAMIC_RESIZING -DMIN_NP=128 -DVPIC_USE_LEGACY_SORT -DVPIC_USE_OPENMP -DUSE_V4_AVX2 -DUSE_V8_AVX2 -DVPIC_ENABLE_HDF5 -g -O2 -ffast-math -fno-unsafe-math-optimizations -fomit-frame-pointer -fno-strict-aliasing -Winline -rdynamic -dynamic -fopenmp -I -std=c++11 -DVPIC_USE_LEGACY_SORT -fopenmp -DVPIC_USE_OPENMP -DUSE_V4_AVX2 -DUSE_V8_AVX2 -I. -I/global/homes/h/hyzhou/vpic/vpic_hdf5_rebase/src -I -std=c++11 -DVPIC_USE_LEGACY_SORT -fopenmp -DVPIC_USE_OPENMP -DUSE_V4_AVX2 -DUSE_V8_AVX2 -DINPUT_DECK=reconnection.cc /global/homes/h/hyzhou/vpic/vpic_hdf5_rebase/deck/main.cc /global/homes/h/hyzhou/vpic/vpic_hdf5_rebase/deck/wrapper.cc -o reconnection.Linux -Wl,-rpath,/global/homes/h/hyzhou/vpic/vpic_hdf5_rebase/build -L/global/homes/h/hyzhou/vpic/vpic_hdf5_rebase/build -lvpic -lpthread -ldl
In file included from ./test_particle/tracer.hh:87,
from ./reconnection.cc:14,
from /global/homes/h/hyzhou/vpic/vpic_hdf5_rebase/deck/wrapper.cc:4:
./test_particle/test_particle.h:8:10: fatal error: Kokkos_DualView.hpp: No such file or directory
8 | #include "Kokkos_DualView.hpp"
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile_perlmutter_cpu:6: all] Error 1
The same thing occurred when running compile_deck.sh
:
./compile_deck.sh perlmutter_cpu
Note: the module "craype-hugepages2M" cannot be unloaded because it was not loaded.
Currently Loaded Modules:
1) craype-x86-milan 9) craype/2.7.20 17) craype-accel-nvidia80
2) libfabric/1.15.2.0 10) gcc/11.2.0 18) gpu/1.0
3) craype-network-ofi 11) perftools-base/23.03.0 19) conda/Miniconda3-py311_23.5.2-0
4) xpmem/2.6.2-2.5_2.27__gd067c3f.shasta 12) cpe/23.03 20) evp-patch
5) PrgEnv-gnu/8.3.3 13) xalt/2.10.2 21) python/3.11 (dev)
6) cray-dsmml/0.2.2 14) Nsight-Compute/2022.1.1 22) cray-hdf5-parallel/1.12.2.3 (io)
7) cray-libsci/23.02.1.1 15) Nsight-Systems/2022.2.1
8) cray-mpich/8.1.25 16) cudatoolkit/11.7
Where:
dev: Development Tools and Programming Languages
io: Input/output software
lfs setstripe: setstripe error for 'spectrum': Inappropriate ioctl for device
lfs setstripe: setstripe error for 'particle': Inappropriate ioctl for device
lfs setstripe: setstripe error for 'tracer': Inappropriate ioctl for device
lfs setstripe: setstripe error for 'field_hdf5': Inappropriate ioctl for device
lfs setstripe: setstripe error for 'hydro_hdf5': Inappropriate ioctl for device
/global/homes/h/hyzhou/vpic/vpic_hdf5_rebase/build/bin/vpic reconnection.cc
/opt/cray/pe/craype/2.7.20/bin/CC -DDISABLE_DYNAMIC_RESIZING -DMIN_NP=128 -DVPIC_USE_LEGACY_SORT -DVPIC_USE_OPENMP -DUSE_V4_AVX2 -DUSE_V8_AVX2 -DVPIC_ENABLE_HDF5 -g -O2 -ffast-math -fno-unsafe-math-optimizations -fomit-frame-pointer -fno-strict-aliasing -Winline -rdynamic -dynamic -fopenmp -I -std=c++11 -DVPIC_USE_LEGACY_SORT -fopenmp -DVPIC_USE_OPENMP -DUSE_V4_AVX2 -DUSE_V8_AVX2 -I. -I/global/homes/h/hyzhou/vpic/vpic_hdf5_rebase/src -I -std=c++11 -DVPIC_USE_LEGACY_SORT -fopenmp -DVPIC_USE_OPENMP -DUSE_V4_AVX2 -DUSE_V8_AVX2 -DINPUT_DECK=reconnection.cc /global/homes/h/hyzhou/vpic/vpic_hdf5_rebase/deck/main.cc /global/homes/h/hyzhou/vpic/vpic_hdf5_rebase/deck/wrapper.cc -o reconnection.Linux -Wl,-rpath,/global/homes/h/hyzhou/vpic/vpic_hdf5_rebase/build -L/global/homes/h/hyzhou/vpic/vpic_hdf5_rebase/build -lvpic -lpthread -ldl
In file included from ./test_particle/tracer.hh:87,
from ./reconnection.cc:14,
from /global/homes/h/hyzhou/vpic/vpic_hdf5_rebase/deck/wrapper.cc:4:
./test_particle/test_particle.h:8:10: fatal error: Kokkos_DualView.hpp: No such file or directory
8 | #include "Kokkos_DualView.hpp"
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile_perlmutter_cpu:6: all] Error 1
Where did I go wrong in following the instructions?
Thanks.