forked from abacusmodeling/abacus-develop
-
Notifications
You must be signed in to change notification settings - Fork 146
Closed
Labels
BugsBugs that only solvable with sufficient knowledge of DFTBugs that only solvable with sufficient knowledge of DFTCompile & CICD & Docs & DependenciesIssues related to compiling ABACUSIssues related to compiling ABACUSEXX and lr-TDDFTRelated to EXX or lr-TDDFTRelated to EXX or lr-TDDFT
Description
Describe the bug
I've test Intel toolchain installation performance with OneAPI 2025.0.0, found that:
- The dependencies installation by
toolchain_intel.shseems 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_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_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.shin toolchain of newest abacus repo with all install option on - run
build_abacus_intel.shin toolchain of newest abacus repo with target option on
Environment
Mentioned above
Additional Context
No response
Task list for Issue attackers (only for developers)
- Verify the issue is not a duplicate.
- Describe the bug.
- Steps to reproduce.
- Expected behavior.
- Error message.
- Environment details.
- Additional context.
- Assign a priority level (low, medium, high, urgent).
- Assign the issue to a team member.
- Label the issue with relevant tags.
- Identify possible related issues.
- Create a unit test or automated test to reproduce the bug (if applicable).
- Fix the bug.
- Test the fix.
- Update documentation (if necessary).
- Close the issue and inform the reporter (if applicable).
Metadata
Metadata
Assignees
Labels
BugsBugs that only solvable with sufficient knowledge of DFTBugs that only solvable with sufficient knowledge of DFTCompile & CICD & Docs & DependenciesIssues related to compiling ABACUSIssues related to compiling ABACUSEXX and lr-TDDFTRelated to EXX or lr-TDDFTRelated to EXX or lr-TDDFT