Hi,
I have problems with compiling version v0.15.0 and above (the develop branch) with intel and OMP support. The following output relates to v0.15.0-33-g57816e6b8
.
Compilation initiated with the commands
export CXX=/software/intel/oneapi/mpi/2021.1.1/bin/mpiicc
cmake \
-DOPENMC_USE_MPI=on \
-DHDF5_PREFER_PARALLEL=on \
-DCMAKE_INSTALL_PREFIX=$openmc_exe_path \
-DCMAKE_BUILD_TYPE=Release \
-DOPENMC_USE_OPENMP=on \
src
make -j 16
stops with the following messages:
...
[ 70%] Building CXX object CMakeFiles/libopenmc.dir/src/secondary_kalbach.cpp.o
/home/tan/work/gh/openmc/src/random_ray/random_ray_simulation.cpp(341): internal error: null pointer
}
^
compilation aborted for /home/tan/work/gh/openmc/src/random_ray/random_ray_simulation.cpp (code 4)
make[2]: *** [CMakeFiles/libopenmc.dir/build.make:706: CMakeFiles/libopenmc.dir/src/random_ray/random_ray_simulation.cpp.o] Error 4
make[2]: *** Waiting for unfinished jobs....
/home/tan/work/gh/openmc/src/random_ray/flat_source_domain.cpp(1039): internal error: null pointer
}
^
compilation aborted for /home/tan/work/gh/openmc/src/random_ray/flat_source_domain.cpp (code 4)
make[2]: *** [CMakeFiles/libopenmc.dir/build.make:734: CMakeFiles/libopenmc.dir/src/random_ray/flat_source_domain.cpp.o] Error 4
make[1]: *** [CMakeFiles/Makefile2:296: CMakeFiles/libopenmc.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
When the -DOPENMC_USE_OPENMP
is set to off
or when the #pragma omp ...
lines in the above mentioned source code files are commented out, compilation succeeds.
For reference, this is the output of the command cmake ...
:
-- The C compiler identification is GNU 8.3.1
-- The CXX compiler identification is Intel 2021.6.0.20220226
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /cluster/sys/home/software/intel/oneapi/mpi/2021.1.1/bin/mpiicc - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -qopenmp (found version "5.0")
-- Found OpenMP: TRUE (found version "4.5")
-- Found MPI_C: /cluster/sys/home/software/intel/oneapi/mpi/2021.1.1/lib/release/libmpi.so (found version "3.1")
-- Found MPI_CXX: /cluster/sys/home/software/intel/oneapi/mpi/2021.1.1/bin/mpiicc (found version "3.1")
-- Found MPI: TRUE (found version "3.1")
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.11")
-- Found PNG: /usr/lib64/libpng.so (found version "1.6.34")
-- Found HDF5: /cluster/software/openMC/tst/hdf5/hdf5-1.12.3/mpi__2021.1.1____compiler__2022.1.0/lib/libhdf5.so;/usr/lib64/libz.so;/usr/lib64/libdl.so;/usr/lib64/libm.so (found version "1.12.3
-- HDF5 Libraries: /cluster/software/openMC/tst/hdf5/hdf5-1.12.3/mpi__2021.1.1____compiler__2022.1.0/lib/libhdf5.so;/usr/lib64/libz.so
-- Using parallel HDF5
-- OpenMC C++ flags: -DH5Oget_info_by_idx_vers=1;-DH5O_info_t_vers=1
-- OpenMC Linker flags:
-- Found Git: /usr/bin/git (found version "2.27.0")
-- Submodule update
-- Did not find pugixml, will use submodule instead
-- Did not find fmt, will use submodule instead
-- Module support is disabled.
-- Version: 8.0.1
-- Build type: Release
-- CXX_STANDARD: 11
-- Performing Test has_std_11_flag
-- Performing Test has_std_11_flag - Success
-- Performing Test has_std_0x_flag
-- Performing Test has_std_0x_flag - Success
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS - Success
-- Performing Test FMT_HAS_VARIANT
-- Performing Test FMT_HAS_VARIANT - Success
-- Required features: cxx_variadic_templates
-- Looking for strtod_l
-- Looking for strtod_l - not found
-- Did not find xtensor, will use submodule instead
-- xtl v0.7.7
-- Building xtensor v0.25.0
-- Found xtl v0.7.7
-- Did not find gsl-lite, will use submodule instead
-- Project 'gsl_lite', package 'gsl-lite' version: '0.36.1'
-- Did not find Catch2, will use submodule instead
-- Configuring done
-- Generating done
Compilation with a gcc compiler completes sucessfully, however. The correspondent cmake output is here:
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/software/gcc-11.2.0/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/software/openmpi-4.1.2-gcc-11.2/bin/mpicxx - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Found MPI_C: /cluster/sys/home/software/openmpi-4.1.2-gcc-11.2/lib/libmpi.so (found version "3.1")
-- Found MPI_CXX: /home/software/openmpi-4.1.2-gcc-11.2/bin/mpicxx (found version "3.1")
-- Found MPI: TRUE (found version "3.1")
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.11")
-- Found PNG: /usr/lib64/libpng.so (found version "1.6.34")
-- Found HDF5: /cluster/software/openMC/tst/hdf5/hdf5-1.12.3/mpi__ompi-4.1.2-gcc11.2-ucx____compiler__gcc__gcc-11.2.0/lib/libhdf5.so;/usr/lib64/libz.so;/usr/lib64/libdl.so;/usr/lib64/libm.so (
-- HDF5 Libraries: /cluster/software/openMC/tst/hdf5/hdf5-1.12.3/mpi__ompi-4.1.2-gcc11.2-ucx____compiler__gcc__gcc-11.2.0/lib/libhdf5.so;/usr/lib64/libz.so
-- Using parallel HDF5
-- OpenMC C++ flags: -DH5Oget_info_by_idx_vers=1;-DH5O_info_t_vers=1
-- OpenMC Linker flags:
-- Found Git: /usr/bin/git (found version "2.27.0")
-- Submodule update
-- Did not find pugixml, will use submodule instead
-- Did not find fmt, will use submodule instead
-- Module support is disabled.
-- Version: 8.0.1
-- Build type: Release
-- CXX_STANDARD: 11
-- Performing Test has_std_11_flag
-- Performing Test has_std_11_flag - Success
-- Performing Test has_std_0x_flag
-- Performing Test has_std_0x_flag - Success
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS - Success
-- Performing Test FMT_HAS_VARIANT
-- Performing Test FMT_HAS_VARIANT - Success
-- Required features: cxx_variadic_templates
-- Looking for strtod_l
-- Looking for strtod_l - not found
-- Did not find xtensor, will use submodule instead
-- xtl v0.7.7
-- Building xtensor v0.25.0
-- Found xtl v0.7.7
-- Did not find gsl-lite, will use submodule instead
-- Project 'gsl_lite', package 'gsl-lite' version: '0.36.1'
-- Did not find Catch2, will use submodule instead
-- Performing Test HAVE_FLAG__ffile_prefix_map__home_tan_work_gh_openmc_vendor_Catch2__
-- Performing Test HAVE_FLAG__ffile_prefix_map__home_tan_work_gh_openmc_vendor_Catch2__ - Success
-- Configuring done
-- Generating done
Does anyone experience similar problems with intel and OMP?
with best regards, Anton.