Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: Build Fail while install with OneAPI 2025.0.0 and some add-on plugins in using toolchain #5518

Open
16 tasks
QuantumMisaka opened this issue Nov 18, 2024 · 3 comments
Labels
Bugs Bugs that only solvable with sufficient knowledge of DFT Compile & CICD & Docs & Dependencies Issues related to compiling ABACUS EXX and lr-TDDFT Related to EXX or lr-TDDFT

Comments

@QuantumMisaka
Copy link
Collaborator

QuantumMisaka commented Nov 18, 2024

Describe the bug

I've test Intel toolchain installation performance with OneAPI 2025.0.0, found that:

  1. The dependencies installation by toolchain_intel.sh seems to have no problem
  2. When build without rapidjson and LibRI (and with LibTorch), everything good.
  3. 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)
      |     ~~~~~~~~~~~~~~~^~~~~~
  1. 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 );
  1. 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

  1. 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
  1. load it by source setvars.sh
  2. git clone abacus-develop
  3. run toolchain_intel.sh in toolchain of newest abacus repo with all install option on
  4. 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)

  • 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).
@QuantumMisaka QuantumMisaka added Bugs Bugs that only solvable with sufficient knowledge of DFT Compile & CICD & Docs & Dependencies Issues related to compiling ABACUS EXX and lr-TDDFT Related to EXX or lr-TDDFT labels Nov 18, 2024
@QuantumMisaka
Copy link
Collaborator Author

QuantumMisaka commented Nov 18, 2024

@PeizeLin @pxlxingliang @caic99 Any comments ?

@QuantumMisaka
Copy link
Collaborator Author

In Intel OneAPI 2024.0, there are no problems.

@pxlxingliang
Copy link
Collaborator

Hi @QuantumMisaka , for the rapidjson problem, please use the master branch of RapidJSON.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bugs Bugs that only solvable with sufficient knowledge of DFT Compile & CICD & Docs & Dependencies Issues related to compiling ABACUS EXX and lr-TDDFT Related to EXX or lr-TDDFT
Projects
None yet
Development

No branches or pull requests

2 participants