Skip to content

Commit

Permalink
update ks_solver related doc
Browse files Browse the repository at this point in the history
  • Loading branch information
dzzz2001 committed Sep 30, 2024
1 parent 56b6f25 commit d1ce6ef
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 1 deletion.
2 changes: 1 addition & 1 deletion docs/advanced/acceleration/cuda.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ The ABACUS program will automatically determine whether the current ELPA support
## Run with the GPU support by editing the INPUT script:

In `INPUT` file we need to set the input parameter [device](../input_files/input-main.md#device) to `gpu`. If this parameter is not set, ABACUS will try to determine if there are available GPUs.
- Set `ks_solver`: For the PW basis, CG, BPCG and Davidson methods are supported on GPU; set the input parameter [ks_solver](../input_files/input-main.md#ks_solver) to `cg`, `bpcg` or `dav`. For the LCAO basis, `cusolver` and `elpa` is supported on GPU.
- Set `ks_solver`: For the PW basis, CG, BPCG and Davidson methods are supported on GPU; set the input parameter [ks_solver](../input_files/input-main.md#ks_solver) to `cg`, `bpcg` or `dav`. For the LCAO basis, `cusolver`, `cusolvermp` and `elpa` is supported on GPU.
- **multi-card**: ABACUS allows for multi-GPU acceleration. If you have multiple GPU cards, you can run ABACUS with several MPI processes, and each process will utilize one GPU card. For example, the command `mpirun -n 2 abacus` will by default launch two GPUs for computation. If you only have one card, this command will only start one GPU.

## Examples
Expand Down
2 changes: 2 additions & 0 deletions docs/advanced/input_files/input-main.md
Original file line number Diff line number Diff line change
Expand Up @@ -933,6 +933,8 @@ calculations.
- **genelpa**: This method should be used if you choose localized orbitals.
- **scalapack_gvx**: Scalapack can also be used for localized orbitals.
- **cusolver**: This method needs building with CUDA and at least one gpu is available.
- **cusolvermp**: This method supports multi-GPU acceleration and needs building with CUDA.
- **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.

If you set ks_solver=`genelpa` for basis_type=`pw`, the program will be stopped with an error message:

Expand Down

0 comments on commit d1ce6ef

Please sign in to comment.