You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: toolchain/README.md
+43-27Lines changed: 43 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# The ABACUS Toolchain
2
2
3
-
Version 2024.3
3
+
Version 2025.1
4
4
5
5
## Author
6
6
@@ -27,12 +27,12 @@ and give setup files that you can use to compile ABACUS.
27
27
-[x] Support for [LibRI](https://github.com/abacusmodeling/LibRI) by submodule or automatic installation from github.com (but installed LibRI via `wget` seems to have some problem, please be cautious)
28
28
-[x] A mirror station by Bohrium database, which can download CEREAL, LibNPY, LibRI and LibComm by `wget` in China Internet.
29
29
-[x] Support for GPU compilation, users can add `-DUSE_CUDA=1` in builder scripts.
30
+
-[ ] Support for AMD compiler and math lib like `AOCL` and `AOCC`
30
31
-[ ] Change the downloading url from cp2k mirror to other mirror or directly downloading from official website. (doing)
31
32
-[ ] A better README and Detail markdown file.
32
33
-[ ] Automatic installation of [DEEPMD](https://github.com/deepmodeling/deepmd-kit).
33
34
-[ ] Better compliation method for ABACUS-DEEPMD and ABACUS-DEEPKS.
34
35
-[ ] Modulefile generation scripts.
35
-
-[ ] Support for AMD compiler and math lib like `AOCL` and `AOCC`
36
36
37
37
38
38
## Usage Online & Offline
@@ -109,15 +109,15 @@ just by using this toolchain
109
109
110
110
The needed dependencies version default:
111
111
112
-
-`cmake` 3.30.0
112
+
-`cmake` 3.31.2
113
113
-`gcc` 13.2.0 (which will always NOT be installed, But use system)
114
-
-`OpenMPI`4.1.6 (5.0.5 can be used but have some problem in OpenMP parallel computation in ELPA)
115
-
-`MPICH` 4.2.2
114
+
-`OpenMPI`5.0.6 (Version 5 OpenMPI is good but will have compability problem, user can manually downarade to Version 4 in toolchain scripts)
115
+
-`MPICH` 4.3.2
116
116
-`OpenBLAS` 0.3.28 (Intel toolchain need `get_vars.sh` tool from it)
117
117
-`ScaLAPACK` 2.2.1 (a developing version)
118
118
-`FFTW` 3.3.10
119
119
-`LibXC` 6.2.2
120
-
-`ELPA`2024.05.001
120
+
-`ELPA`2025.01.001
121
121
-`CEREAL` 1.3.2
122
122
-`RapidJSON` 1.1.0
123
123
And Intel-oneAPI need user or server manager to manually install from Intel.
@@ -180,11 +180,47 @@ or you can also do it in a more completely way:
180
180
181
181
## Common Problems and Solutions
182
182
183
-
### LibRI and LibComm for EXX
183
+
### Intel-oneAPI problem
184
+
185
+
#### ELPA problem via Intel-oneAPI toolchain in AMD server
186
+
187
+
The default compiler for Intel-oneAPI is `icpx` and `icx`, which will cause problem when compling ELPA in AMD server. (Which is a problem and needed to have more check-out)
188
+
189
+
The best way is to change `icpx` to `icpc`, `icx` to `icc`. user can manually change it in *toolchain_intel.sh* via `--with-intel-classic=yes`
190
+
191
+
Notice: `icc` and `icpc` from Intel Classic Compiler of Intel-oneAPI is not supported for 2024.0 and newer version. And Intel-OneAPI 2023.2.0 can be found in QE website. You need to download Base-toolkit for MKL and HPC-toolkit for MPi and compiler for Intel-OneAPI 2023.2.0, while in Intel-OneAPI 2024.x, only the HPC-toolkit is needed.
192
+
193
+
You can get Intel-OneAPI in [QE-managed website](https://pranabdas.github.io/espresso/setup/hpc/#installing-intel-oneapi-libraries), and use this code to get Intel oneAPI Base Toolkit and HPC Toolkit:
Related discussion here [#4976](https://github.com/deepmodeling/abacus-develop/issues/4976)
200
+
201
+
#### link problem in early 2023 version oneAPI
202
+
203
+
Sometimes Intel-oneAPI have problem to link `mpirun`,
204
+
which will always show in 2023.2.0 version of MPI in Intel-oneAPI.
205
+
Try `source /path/to/setvars.sh` or install another version of IntelMPI may help.
206
+
207
+
which is fixed in 2024.0.0 version of Intel-oneAPI,
208
+
And will not occur in Intel-MPI before 2021.10.0 (Intel-oneAPI before 2023.2.0)
209
+
210
+
More problem and possible solution can be accessed via [#2928](https://github.com/deepmodeling/abacus-develop/issues/2928)
211
+
212
+
213
+
### OpenMPI problem
214
+
215
+
#### in EXX and LibRI
184
216
185
217
- GCC toolchain with OpenMPI cannot compile LibComm v0.1.1 due to the different MPI variable type from MPICH and IntelMPI, see discussion here [#5033](https://github.com/deepmodeling/abacus-develop/issues/5033), you can switch to GCC-MPICH or Intel toolchain
186
218
- It is recommended to use Intel toolchain if one wants to include EXX feature in ABACUS, which can have much better performance and can use more than 16 threads in OpenMP parallelization to accelerate the EXX process.
187
219
220
+
#### OpenMPI-v5
221
+
222
+
OpenMPI in version 5 has huge update, lead to compatibility problem. If one wants to use the OpenMPI in version 4 (4.1.6), one can specify `--with-openmpi-4th=yes` in *toolchain_gnu.sh*
223
+
188
224
### GPU version of ABACUS
189
225
190
226
For GPU version of ABACUS (do not GPU version installer of ELPA, which is still doing work), add following options in build*.sh:
@@ -242,26 +278,6 @@ When you encounter problem like `GLIBCXX_3.4.29 not found`, it is sure that your
242
278
243
279
After my test, you need `gcc`>11.3.1 to enable deepmd feature in ABACUS.
244
280
245
-
### Intel-oneAPI problem
246
-
247
-
#### ELPA problem via Intel-oneAPI toolchain in AMD server
248
-
249
-
The default compiler for Intel-oneAPI is `icpx` and `icx`, which will cause problem when compling ELPA in AMD server. (Which is a problem and needed to have more check-out)
250
-
251
-
The best way is to change `icpx` to `icpc`, `icx` to `icc`. user can manually change it in toolchain*.sh via `--with-intel-classic=yes`
252
-
253
-
Notice: `icc` and `icpc` from Intel Classic Compiler of Intel-oneAPI is not supported for 2024.0 and newer version. And Intel-OneAPI 2023.2.0 can be found in website. See discussion here [#4976](https://github.com/deepmodeling/abacus-develop/issues/4976)
254
-
255
-
#### link problem in early 2023 version oneAPI
256
-
257
-
Sometimes Intel-oneAPI have problem to link `mpirun`,
258
-
which will always show in 2023.2.0 version of MPI in Intel-oneAPI.
259
-
Try `source /path/to/setvars.sh` or install another version of IntelMPI may help.
260
-
261
-
which is fixed in 2024.0.0 version of Intel-oneAPI,
262
-
And will not occur in Intel-MPI before 2021.10.0 (Intel-oneAPI before 2023.2.0)
263
-
264
-
More problem and possible solution can be accessed via [#2928](https://github.com/deepmodeling/abacus-develop/issues/2928)
0 commit comments