Skip to content

Commit 8f67c9f

Browse files
committed
Update documentation
1 parent aa793bd commit 8f67c9f

5 files changed

Lines changed: 15 additions & 13 deletions

File tree

docs/advanced/acceleration/cuda.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ To compile and use ABACUS in CUDA mode, you currently need to have an NVIDIA GPU
2929

3030
Check the [Advanced Installation Options](https://abacus-rtd.readthedocs.io/en/latest/advanced/install.html#build-with-cuda-support) for the installation of CUDA version support.
3131

32-
Setting both USE_ELPA and USE_CUDA to ON does not automatically enable ELPA to run on GPUs. ELPA support for GPUs needs to be enabled when ELPA is compiled. [enable GPU support](https://github.com/marekandreas/elpa/blob/master/documentation/INSTALL.md).
32+
Setting both `ENABLE_ELPA` and `USE_CUDA` to ON does not automatically enable ELPA to run on GPUs. ELPA support for GPUs needs to be enabled when ELPA is compiled. [enable GPU support](https://github.com/marekandreas/elpa/blob/master/documentation/INSTALL.md).
3333

3434
The ABACUS program will automatically determine whether the current ELPA supports GPU based on the elpa/elpa_configured_options.h header file. Users can also check this header file to determine the GPU support of ELPA in their environment. ELPA introduced a new API elpa_setup_gpu in version 2023.11.001. So if you want to enable ELPA GPU in ABACUS, the ELPA version must be greater than or equal to 2023.11.001.
3535

docs/advanced/input_files/input-main.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1163,7 +1163,7 @@
11631163
- scalapack_gvx: Use Scalapack to diagonalize the Hamiltonian.
11641164
- cusolver: Use CUSOLVER to diagonalize the Hamiltonian, at least one GPU is needed.
11651165
- cusolvermp: Use CUSOLVER to diagonalize the Hamiltonian, supporting multi-GPU devices. Note that you should set the number of MPI processes equal to the number of GPUs.
1166-
- elpa: The ELPA solver supports both CPU and GPU. By setting the `device` to GPU, you can launch the ELPA solver with GPU acceleration (provided that you have installed a GPU-supported version of ELPA, which requires you to manually compile and install ELPA, and the ABACUS should be compiled with -DUSE_ELPA=ON and -DUSE_CUDA=ON). The ELPA solver also supports multi-GPU acceleration.
1166+
- elpa: The ELPA solver supports both CPU and GPU. By setting the `device` to GPU, you can launch the ELPA solver with GPU acceleration (provided that you have installed a GPU-supported version of ELPA, which requires you to manually compile and install ELPA, and the ABACUS should be compiled with -DENABLE_ELPA=ON and -DUSE_CUDA=ON). The ELPA solver also supports multi-GPU acceleration.
11671167

11681168
If you set ks_solver=`genelpa` for basis_type=`pw`, the program will stop with an error message:
11691169

@@ -1173,9 +1173,9 @@
11731173
- **Default**:
11741174
- PW basis: cg.
11751175
- LCAO basis:
1176-
- genelpa (if compiling option `USE_ELPA` has been set)
1176+
- genelpa (if compiling option `ENABLE_ELPA` has been set)
11771177
- lapack (if compiling option `ENABLE_MPI` has not been set)
1178-
- scalapack_gvx (if compiling option `USE_ELPA` has not been set and compiling option `ENABLE_MPI` has been set)
1178+
- scalapack_gvx (if compiling option `ENABLE_ELPA` has not been set and compiling option `ENABLE_MPI` has been set)
11791179
- cusolver (if compiling option `USE_CUDA` has been set)
11801180

11811181
### nbands

docs/advanced/install.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,9 @@ The new EXX implementation depends on two external libraries:
7373

7474
These two libraries are added as submodules in the [deps](https://github.com/deepmodeling/abacus-develop/tree/develop/deps) folder. Set `-DENABLE_LIBRI=ON` to build with these two libraries.
7575

76-
If you prefer using manually downloaded libraries, provide `-DLIBRI_DIR=${path to your LibRI folder} -DLIBCOMM_DIR=${path to your LibComm folder}`.
76+
```{note}
77+
`ENABLE_LIBCOMM` is deprecated because LibComm is not a standalone ABACUS feature. CMake locates it automatically as a dependency of LibRI. If you prefer using manually downloaded libraries, enable LibRI and provide their locations via `-DLIBRI_DIR=/path/to/LibRI` and `-DLIBCOMM_DIR=/path/to/LibComm`.
78+
```
7779

7880

7981
## Build with DFT-D4 support
@@ -134,13 +136,13 @@ If you are confident that your MPI supports CUDA Aware, you can add `-DUSE_CUDA_
134136

135137
> Note: We recommend using the latest available compiler sets, since they offer faster implementations of math functions.
136138
137-
This flag is disabled by default. To build math functions from source code, define `USE_ABACUS_LIBM` flag. It is expected to get a better performance on legacy versions of `gcc` and `clang`.
139+
This flag is disabled by default. To build math functions from source code, define `ENABLE_ABACUS_LIBM` flag. It is expected to get a better performance on legacy versions of `gcc` and `clang`.
138140

139141
Currently supported math functions:
140142
`sin`, `cos`, `sincos`, `exp`, `cexp`
141143

142144
```bash
143-
cmake -B build -DUSE_ABACUS_LIBM=1
145+
cmake -B build -DENABLE_ABACUS_LIBM=1
144146
```
145147

146148
## Build with PEXSI support

docs/parameters.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -544,14 +544,14 @@ parameters:
544544
* scalapack_gvx: Use Scalapack to diagonalize the Hamiltonian.
545545
* cusolver: Use CUSOLVER to diagonalize the Hamiltonian, at least one GPU is needed.
546546
* cusolvermp: Use CUSOLVER to diagonalize the Hamiltonian, supporting multi-GPU devices. Note that you should set the number of MPI processes equal to the number of GPUs.
547-
* elpa: The ELPA solver supports both CPU and GPU. By setting the `device` to GPU, you can launch the ELPA solver with GPU acceleration (provided that you have installed a GPU-supported version of ELPA, which requires you to manually compile and install ELPA, and the ABACUS should be compiled with -DUSE_ELPA=ON and -DUSE_CUDA=ON). The ELPA solver also supports multi-GPU acceleration.
547+
* elpa: The ELPA solver supports both CPU and GPU. By setting the `device` to GPU, you can launch the ELPA solver with GPU acceleration (provided that you have installed a GPU-supported version of ELPA, which requires you to manually compile and install ELPA, and the ABACUS should be compiled with -DENABLE_ELPA=ON and -DUSE_CUDA=ON). The ELPA solver also supports multi-GPU acceleration.
548548
549549
If you set ks_solver=`genelpa` for basis_type=`pw`, the program will stop with an error message:
550550
551551
``text genelpa can not be used with plane wave basis. ``
552552
553553
Then the user has to correct the input file and restart the calculation.
554-
default_value: "\n - PW basis: cg.\n - LCAO basis:\n - genelpa (if compiling option `USE_ELPA` has been set)\n - lapack (if compiling option `ENABLE_MPI` has not been set)\n - scalapack_gvx (if compiling option `USE_ELPA` has not been set and compiling option `ENABLE_MPI` has been set)\n - cusolver (if compiling option `USE_CUDA` has been set)"
554+
default_value: "\n - PW basis: cg.\n - LCAO basis:\n - genelpa (if compiling option `ENABLE_ELPA` has been set)\n - lapack (if compiling option `ENABLE_MPI` has not been set)\n - scalapack_gvx (if compiling option `ENABLE_ELPA` has not been set and compiling option `ENABLE_MPI` has been set)\n - cusolver (if compiling option `USE_CUDA` has been set)"
555555
unit: ""
556556
availability: ""
557557
- name: nbands

docs/quick_start/easy_install.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ Here, 'build' is the path for building ABACUS; and '-D' is used for setting up s
163163
164164
- `FFTW3_DIR`: Path to FFTW3.
165165
- `LIBRI_DIR`: (Optional) Path to LibRI.
166-
- `LIBCOMM_DIR`: (Optional) Path to LibComm.
166+
- `LIBCOMM_DIR`: (Optional) Path to LibComm when `ENABLE_LIBRI=ON`.
167167

168168
```{important}
169169
For some dependencies built with CMake, such as Libxc, dftd4, cereal, and RapidJSON, you'll have to add their prefix paths to the environment variable `CMAKE_PREFIX_PATH` so that CMake can correctly find and use their CMake configuration files. A non-general variable such as `PKG_DIR` is discouraged for these packages.
@@ -172,14 +172,14 @@ For some dependencies built with CMake, such as Libxc, dftd4, cereal, and RapidJ
172172
- Components: The values of these variables should be 'ON', '1' or 'OFF', '0'. The default values are given below.
173173
- `ENABLE_LCAO=ON`: Enable LCAO calculation. If SCALAPACK, ELPA or CEREAL is absent and only require plane-wave calculations, the feature of calculating LCAO basis can be turned off.
174174
- `ENABLE_LIBXC=OFF`: [Enable Libxc](../advanced/install.md#add-libxc-support) to suppport variety of functionals.
175-
- `ENABLE_LIBRI=OFF`: [Enable LibRI](../advanced/install.md#add-libri-support) to suppport variety of functionals. If `LIBRI_DIR` and `LIBCOMM_DIR` are defined, `ENABLE_LIBRI` will set to 'ON'.
176-
- `USE_OPENMP=ON`: Enable OpenMP support. Building ABACUS without OpenMP is not fully tested yet.
175+
- `ENABLE_LIBRI=OFF`: [Enable LibRI](../advanced/install.md#add-libri-support) and its LibComm dependency for hybrid-functional calculations. Set `LIBRI_DIR` and `LIBCOMM_DIR` to use manually installed libraries.
176+
- `ENABLE_OPENMP=ON`: Enable OpenMP support. Building ABACUS without OpenMP is not fully tested yet.
177177
- `BUILD_TESTING=OFF`: [Build unit tests](../advanced/install.md#build-unit-tests).
178178
- `ENABLE_GOOGLEBENCH=OFF`: [Build performance tests](../advanced/install.md#build-performance-tests)
179179
- `ENABLE_MPI=ON`: Enable MPI parallel compilation. If set to `OFF`, a serial version of ABACUS will be compiled. It now supports both PW and LCAO.
180180
- `ENABLE_COVERAGE=OFF`: Build ABACUS executable supporting [coverage analysis](../CONTRIBUTING.md#generating-code-coverage-report). This feature has a drastic impact on performance.
181181
- `ENABLE_ASAN=OFF`: Build with Address Sanitizer. This feature would help detecting memory problems.
182-
- `USE_ELPA=ON`: Use ELPA library in LCAO calculations. If this value is set to OFF, ABACUS can be compiled without ELPA library.
182+
- `ENABLE_ELPA=ON`: Use ELPA library in LCAO calculations. If this value is set to OFF, ABACUS can be compiled without ELPA library.
183183

184184
Here is an example:
185185

0 commit comments

Comments
 (0)