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
+35-4Lines changed: 35 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ 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` (doing)
30
+
-[x] Support for AMD compiler and math lib `AOCL` and `AOCC` (not fully complete due to flang and AOCC-ABACUS compliation error)
31
31
-[ ] Change the downloading url from cp2k mirror to other mirror or directly downloading from official website. (doing)
32
32
-[ ] Support a JSON or YAML configuration file for toolchain, which can be easily modified by users.
33
33
-[ ] A better README and Detail markdown file.
@@ -50,6 +50,8 @@ There are also well-modified script to run *install_abacus_toolchain.sh* for `gn
50
50
> ./toolchain_gnu.sh
51
51
# for intel-mkl
52
52
> ./toolchain_intel.sh
53
+
# for amd aocc-aocl
54
+
> ./toolchain_amd.sh
53
55
# for intel-mkl-mpich
54
56
> ./toolchain_intel-mpich.sh
55
57
```
@@ -121,8 +123,12 @@ The needed dependencies version default:
121
123
-`ELPA` 2025.01.001
122
124
-`CEREAL` 1.3.2
123
125
-`RapidJSON` 1.1.0
124
-
And Intel-oneAPI need user or server manager to manually install from Intel.
Dependencies below are optional, which is NOT installed by default:
128
134
@@ -152,6 +158,8 @@ If compliation is successful, a message will be shown like this:
152
158
> ./build_abacus_gnu.sh
153
159
> To build ABACUS by intel-toolchain, just use:
154
160
> ./build_abacus_intel.sh
161
+
> To build ABACUS by amd-toolchain in gcc-aocl, just use:
162
+
> ./build_abacus_amd.sh
155
163
> or you can modify the builder scripts to suit your needs.
156
164
```
157
165
@@ -183,6 +191,14 @@ or you can also do it in a more completely way:
183
191
184
192
### Intel-oneAPI problem
185
193
194
+
#### OneAPI 2025.0 problem
195
+
196
+
Generally, OneAPI 2025.0 can be useful to compile basic function of ABACUS, but one will encounter compatible problem related to something. Here is the treatment
197
+
- related to rapidjson:
198
+
-- Not to use rapidjson in your toolchain
199
+
-- or use the master branch of [RapidJSON](https://github.com/Tencent/rapidjson)
200
+
- related to LibRI: not to use LibRI or downgrade your OneAPI.
201
+
186
202
#### ELPA problem via Intel-oneAPI toolchain in AMD server
187
203
188
204
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)
@@ -210,12 +226,27 @@ And will not occur in Intel-MPI before 2021.10.0 (Intel-oneAPI before 2023.2.0)
210
226
211
227
More problem and possible solution can be accessed via [#2928](https://github.com/deepmodeling/abacus-develop/issues/2928)
212
228
229
+
### AMD AOCC-AOCL problem
230
+
231
+
You cannot use AOCC to complie abacus now, see [#5982](https://github.com/deepmodeling/abacus-develop/issues/5982) .
232
+
233
+
However, use AOCC-AOCL to compile dependencies is permitted and usually get boosting in ABACUS effciency. But you need to get rid of `flang` while compling ELPA. Toolchain itself help you make this `flang` shade in default, and you can manully use `flang` by setting `--with-flang=yes` in `toolchain_amd.sh` to have a try.
234
+
235
+
Notice: ABACUS via GCC-AOCL in AOCC-AOCL toolchain have no application with DeePKS, DeePMD and LibRI.
213
236
214
237
### OpenMPI problem
215
238
216
239
#### in EXX and LibRI
217
240
218
-
- 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
241
+
- 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 try use a newest branch of LibComm by
. yet another is switching to GCC-MPICH or Intel toolchain
219
250
- 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.
0 commit comments