Describe the bug
I've test Intel toolchain installation performance with OneAPI 2025.0.0, found that:
- The dependencies installation by
toolchain_intel.sh seems to have no problem
- When build without rapidjson and LibRI (and with LibTorch), everything good.
- When build with rapidjson, build fail
[ 85%] Built target hamilt_pwdft
[ 85%] Building CXX object source/module_io/CMakeFiles/io_basic.dir/io_dmk.cpp.o
[ 86%] Building CXX object source/module_io/CMakeFiles/io_basic.dir/write_dmr.cpp.o
[ 86%] Building CXX object source/module_io/CMakeFiles/io_basic.dir/dos_nao.cpp.o
[ 86%] Building CXX object source/module_io/CMakeFiles/io_basic.dir/sparse_matrix.cpp.o
In file included from /opt/abacus/source/module_io/para_json.cpp:11:
In file included from /opt/abacus/source/module_io/json_output/abacusjson.h:12:
/opt/abacus/toolchain/install/rapidjson-1.1.0/include/rapidjson/document.h:319:82: error: cannot assign to non-static data member 'length' with const-qualified type 'const SizeType' (aka 'const unsigned int')
319 | GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; }
| ~~~~~~ ^
/opt/abacus/toolchain/install/rapidjson-1.1.0/include/rapidjson/document.h:325:20: note: non-static data member 'length' declared const here
325 | const SizeType length; //!< length of the string (excluding the trailing NULL terminator)
| ~~~~~~~~~~~~~~~^~~~~~
- When build with LibRI and LibComm, build fail:
[ 9%] Building CXX object source/module_hamilt_pw/hamilt_stodft/CMakeFiles/hamilt_stodft.dir/sto_wf.cpp.o
[ 9%] Building CXX object source/module_base/module_container/CMakeFiles/container.dir/ATen/ops/einsum_op.cpp.o
[ 9%] Building CXX object source/module_hamilt_general/module_xc/CMakeFiles/xc_.dir/xc_functional_vxc.cpp.o
[ 9%] Building CXX object source/module_psi/CMakeFiles/psi_initializer.dir/psi_initializer_random.cpp.o
In file included from /opt/abacus/source/module_hamilt_lcao/hamilt_lcaodft/hamilt_lcao.cpp:1:
In file included from /opt/abacus/source/module_hamilt_lcao/hamilt_lcaodft/hamilt_lcao.h:15:
In file included from /opt/abacus/source/module_ri/Exx_LRI.h:13:
In file included from /opt/abacus/toolchain/install/LibRI-0.2.1.0/include/RI/physics/Exx.h:8:
In file included from /opt/abacus/toolchain/install/LibRI-0.2.1.0/include/RI/physics/Exx_Post_2D.h:58:
In file included from /opt/abacus/toolchain/install/LibRI-0.2.1.0/include/RI/physics/Exx_Post_2D.hpp:9:
In file included from /opt/abacus/toolchain/install/LibRI-0.2.1.0/include/RI/physics/../comm/mix/Communicate_Tensors_Map_Judge.h:8:
In file included from /opt/abacus/toolchain/install/LibRI-0.2.1.0/include/RI/physics/../comm/mix/Communicate_Tensors_Map.h:8:
In file included from /opt/abacus/toolchain/install/LibRI-0.2.1.0/include/RI/physics/../comm/mix/../../global/Cereal_Types.h:16:
/opt/abacus/toolchain/install/cereal-1.3.2/include/cereal/types/tuple.hpp:98:41: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
98 | serialize<Height - 1>::template apply( ar, tuple );
| ^
/opt/abacus/toolchain/install/cereal-1.3.2/include/cereal/types/tuple.hpp:119:85: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
119 | tuple_detail::serialize<std::tuple_size<std::tuple<Types...>>::value>::template apply( ar, tuple );
- Change
-DCMAKE_MPI_COMPILER from mpiicpx to mpiicpc will have save results.
Expected behavior
ABACUS can be built with OneAPI 2025.0.0 by intel toolchain or other method with all plugin
To Reproduce
using c32_m64 machine in Bohrium by image ubuntu:20.04-py3.10
- Install Intel OneAPI HPCtoolkit by offline package
wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/0884ef13-20f3-41d3-baa2-362fc31de8eb/intel-oneapi-hpc-toolkit-2025.0.0.825_offline.sh
sudo sh ./intel-oneapi-hpc-toolkit-2025.0.0.825_offline.sh -a --silent --cli --eula accept
- load it by source setvars.sh
- git clone abacus-develop
- run
toolchain_intel.sh in toolchain of newest abacus repo with all install option on
- run
build_abacus_intel.sh in toolchain of newest abacus repo with target option on
Environment
Mentioned above
Additional Context
No response
Task list for Issue attackers (only for developers)
Describe the bug
I've test Intel toolchain installation performance with OneAPI 2025.0.0, found that:
toolchain_intel.shseems to have no problem-DCMAKE_MPI_COMPILERfrommpiicpxtompiicpcwill have save results.Expected behavior
ABACUS can be built with OneAPI 2025.0.0 by intel toolchain or other method with all plugin
To Reproduce
using
c32_m64machine in Bohrium by imageubuntu:20.04-py3.10toolchain_intel.shin toolchain of newest abacus repo with all install option onbuild_abacus_intel.shin toolchain of newest abacus repo with target option onEnvironment
Mentioned above
Additional Context
No response
Task list for Issue attackers (only for developers)