Details
0. CANNOT download cereal or libnpy due to HTTP error
while other software can be downloaded from cp2k_static.org, the two head-file libraries is set to be download from github.com, which will lead to HTTP error.
The best way is to use offline installation, you can manually download packages from cereal and libnpy, and do
mkdir build
# for cereal
cp v1.3.2.tar.gz toolchain/build/cereal-1.3.2.tar.gz
# for libnpy
cp v0.1.0.tar.gz toolchain/build/libnpy-0.1.0.tar.gz
Other offline installation can be done by similar way.
Also, in 2023.4 version of toolchain, we offer a Bohrium dataset for download them , please refer to README
1. CANNOT find MKL Compiler or MPI (especially mpiicc) by module environment using intel-toolchain
The newest intel-oneAPI have problem in modulefile-setup.sh , which is in discussion on Intel
https://community.intel.com/t5/Intel-Fortran-Compiler/Missing-compiler-Environment-Modules-Utility-files-in-Intel-R/m-p/1506773
If user encounter this problem in HPC-server when trying to use toolchain installation ,try to source path/to/oneapi/setvars.sh, it always works.
Another way is to change MPI-2021.10.0 to MPI-2021.8.0, please contact your HPC server manager
2. CANNOT install elpa by icx in AMD-CPU server
When trying to use icx, namely --with-intel-classic=no in toolchain installation (default is yes, which will be icc) in AMD-CPU device, there will be error:
==================== Installing ELPA ====================
elpa-2021.11.002.tar.gz is found
Installing from scratch into /home/james/libs/elpa/2021.11.002-icx/cpu
configure: WARNING: unrecognized options: --disable-cpp-tests
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for build time... 1694330426
checking for GNU make... make
checking whether in C interface the error argument should be optional... no
checking for GNU make... make
checking whether --enable-openmp is specified... yes
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... configure: error: in `/home/james/apps/abacus/icx-mkl/toolchain-icx/build/elpa-2021.11.002/build_cpu':
configure: error: cannot run C++ compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target 'install'. Stop.
ERROR: (./scripts/stage3/install_elpa.sh, line 132) Non-zero exit code detected.
users can manually add --host=x86 in configure part of toolchain/scripts/stage3/install_elpa.sh. However, elpa cannot be installed
==================== Installing ELPA ====================
elpa-2021.11.002.tar.gz is found
Installing from scratch into /home/james/libs/elpa/2021.11.002-icx/cpu
^
manually_preprocessed_.._src_elpa2_elpa2.F90-src_elpa2_libelpa_openmp_private_la-elpa2.o.F90: warning #5462: Global name too long, shortened from: elpa2_impl_mp_elpa_solve_evp_real_2stage_all_host_arrays_double_impl_$blk.mpi_constants_mp_mpi_in_place_ to: pl_mp_elpa_solve_evp_real_2stage_all_host_arrays_double_impl_$blk.mpi_constants_mp_mpi_in_place_
# 1 "manually_preprocessed_.._src_elpa2_elpa2.F90-src_elpa2_libelpa_openmp_private_la-elpa2.o.F90"
^
^
PPFC src/libelpa_openmp_private_la-elpa_impl.lo
ifort: command line warning #10006: ignoring unknown option '-ffree-line-length-none'
ifort: command line warning #10148: option '-fno-lto' not supported
PPFC src/libelpa_openmp_public_la-elpa.lo
CXXLD libelpa_openmp_private.la
ifort: command line warning #10006: ignoring unknown option '-ffree-line-length-none'
ifort: command line warning #10148: option '-fno-lto' not supported
FCLD libelpa_openmp_public.la
PPFC test/shared/libelpatest_openmp_la-test_util.lo
ar: `u' modifier ignored since `D' is the default (see `U')
ifort: command line warning #10006: ignoring unknown option '-ffree-line-length-none'
ifort: command line warning #10148: option '-fno-lto' not supported
ar: `u' modifier ignored since `D' is the default (see `U')
GEN libelpa_openmp.la
PPFC test/shared/libelpatest_openmp_la-test_blacs_infrastructure.lo
PPFC test/shared/libelpatest_openmp_la-test_analytic.lo
PPFC test/shared/libelpatest_openmp_la-test_setup_mpi.lo
PPFC test/shared/libelpatest_openmp_la-test_check_correctness.lo
PPFC test/shared/libelpatest_openmp_la-test_read_input_parameters.lo
ifort: command line warning #10006: ignoring unknown option '-ffree-line-length-none'
ifort: command line warning #10148: option '-fno-lto' not supported
ar: `u' modifier ignored since `D' is the default (see `U')
PPFC src/elpa2/elpa2_print_kernels_openmp-elpa2_print_kernels.o
ifort: command line warning #10006: ignoring unknown option '-ffree-line-length-none'
ifort: command line warning #10148: option '-fno-lto' not supported
FCLD elpa2_print_kernels_openmp
ifort: command line warning #10006: ignoring unknown option '-ffree-line-length-none'
ifort: command line warning #10148: option '-fno-lto' not supported
ifort: command line warning #10006: ignoring unknown option '-fallow-multiple-definition'
ifort: command line warning #10006: ignoring unknown option '-fenable-new-dtags'
ifort: command line warning #10006: ignoring unknown option '-rpath'
ifort: command line warning #10006: ignoring unknown option '-fstart-group'
ifort: command line warning #10006: ignoring unknown option '-fend-group'
ld: cannot find /home/james/apps/intel/oneapi/mkl/2023.2.0/lib/intel64: file format not recognized
make[1]: *** [Makefile:30817: elpa2_print_kernels_openmp] Error 1
make[1]: Leaving directory '/home/james/apps/abacus/icx-mkl/toolchain-icx/build/elpa-2021.11.002/build_cpu'
make: *** [Makefile:41630: install] Error 2
ERROR: (./scripts/stage3/install_elpa.sh, line 133) Non-zero exit code detected.
I don't know whether elpa can be installed by icx or not in AMD device, but in toolchain, it is not.
The problem will NOT occur in Intel-CPU server
Also. icpx compiled ABACUS will have other problems, example in #2889, waiting for fixed
3. CANNOT find -lmkl when adding deepks support in gcc-toolchain
Problem is
/usr/bin/ld: cannot find -lmkl_intel_ilp64
/usr/bin/ld: cannot find -lmkl_intel_thread
/usr/bin/ld: cannot find -lmkl_core
collect2: error: ld returned 1 exit status
in HPC, an easy way to solve the problem is module load mkl or load other MKL environment after configure and before build abacus.
But in abacus-gnu docker image, MKL is no need to exist, this problem should have be solved by certain way.
Tips: This error cannot be repeated now in some intel server, maybe relevant to the server environment
4. Warning in adding deepmd support
When adding deepmd support in configure and build process:
CMake Warning at CMakeLists.txt:104 (add_executable):
Cannot generate a safe runtime search path for target abacus because files
in some directories may conflict with libraries in implicit directories:
runtime library [libiomp5.so] in /home/james/apps/intel/oneapi/compiler/2023.2.1/linux/compiler/lib/intel64_lin may be hidden by files in:
/home/james/apps/anaconda3/envs/deepmd-2.2.4/lib
Some of these libraries may not be found correctly.
The problem seems to be a deepmd problem
It is welcomed for other problem report in here or other issue
Task list for Issue attackers
Details
0. CANNOT download
cerealorlibnpydue to HTTP errorwhile other software can be downloaded from cp2k_static.org, the two head-file libraries is set to be download from github.com, which will lead to HTTP error.
The best way is to use offline installation, you can manually download packages from cereal and libnpy, and do
Other offline installation can be done by similar way.
Also, in 2023.4 version of toolchain, we offer a Bohrium dataset for download them , please refer to README
1. CANNOT find
MKLCompilerorMPI(especiallympiicc) by module environment using intel-toolchainThe newest intel-oneAPI have problem in modulefile-setup.sh , which is in discussion on Intel
https://community.intel.com/t5/Intel-Fortran-Compiler/Missing-compiler-Environment-Modules-Utility-files-in-Intel-R/m-p/1506773
If user encounter this problem in HPC-server when trying to use toolchain installation ,try to
source path/to/oneapi/setvars.sh, it always works.Another way is to change MPI-2021.10.0 to MPI-2021.8.0, please contact your HPC server manager
2. CANNOT install
elpabyicxin AMD-CPU serverWhen trying to use
icx, namely--with-intel-classic=noin toolchain installation (default is yes, which will beicc) in AMD-CPU device, there will be error:users can manually add
--host=x86in configure part oftoolchain/scripts/stage3/install_elpa.sh. However,elpacannot be installedI don't know whether
elpacan be installed byicxor not in AMD device, but in toolchain, it is not.The problem will NOT occur in Intel-CPU server
Also.
icpxcompiled ABACUS will have other problems, example in #2889, waiting for fixed3. CANNOT find
-lmklwhen addingdeepkssupport in gcc-toolchainProblem is
/usr/bin/ld: cannot find -lmkl_intel_ilp64 /usr/bin/ld: cannot find -lmkl_intel_thread /usr/bin/ld: cannot find -lmkl_core collect2: error: ld returned 1 exit statusin HPC, an easy way to solve the problem is
module load mklor load other MKL environment after configure and before build abacus.But in
abacus-gnudocker image, MKL is no need to exist, this problem should have be solved by certain way.4. Warning in adding
deepmdsupportWhen adding
deepmdsupport in configure and build process:The problem seems to be a
deepmdproblemIt is welcomed for other problem report in here or other issue
Task list for Issue attackers