diff --git a/docs/advanced/acceleration/cuda.md b/docs/advanced/acceleration/cuda.md index 98a85f11b0..3231961766 100644 --- a/docs/advanced/acceleration/cuda.md +++ b/docs/advanced/acceleration/cuda.md @@ -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 diff --git a/docs/advanced/input_files/input-main.md b/docs/advanced/input_files/input-main.md index 352339f739..30d2882fa5 100644 --- a/docs/advanced/input_files/input-main.md +++ b/docs/advanced/input_files/input-main.md @@ -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: