Skip to content

Commit 6d4cb63

Browse files
authored
Merge pull request #1114 from caic99/docs
Docs: update installing manual
2 parents aa9d8fd + a3dd49f commit 6d4cb63

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

docs/install.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ To compile ABACUS, please make sure that the following prerequisites are present
3232

3333
- C++ compiler, supporting C++11. You can use [Intel® C++ compiler](https://software.intel.com/enus/c-compilers) or [GCC](https://gcc.gnu.org/).
3434
- MPI compiler. The recommended version are [Intel MPI](https://software.intel.com/enus/mpi-library) or [MPICH](https://www.mpich.org/).
35-
- Fortran compiler for building `BLAS`, `LAPACK` and `ScaLAPACK`. You can use[Intel® Fortran Compiler](https://www.intel.com/content/www/us/en/developer/tools/oneapi/fortran-compiler.html) [GFortran](https://gcc.gnu.org/fortran/).
35+
- Fortran compiler for building `BLAS`, `LAPACK`, `ScaLAPACK` or `ELPA`. You can use[Intel® Fortran Compiler](https://www.intel.com/content/www/us/en/developer/tools/oneapi/fortran-compiler.html) [GFortran](https://gcc.gnu.org/fortran/).
3636
- [BLAS](http://www.netlib.org/blas/). You can use [OpenBLAS](https://www.openblas.net/).
3737
- [LAPACK](http://www.netlib.org/lapack/).
3838
- [ScaLAPACK](http://www.netlib.org/scalapack/).
@@ -46,10 +46,12 @@ These packages can be installed with popular package management system, such as
4646
sudo apt update && sudo apt install -y libopenblas-dev liblapack-dev libscalapack-mpi-dev libelpa-dev libfftw3-dev libcereal-dev libxc-dev g++ make cmake bc git
4747
```
4848

49-
> Please double-check the installed version of ELPA!
49+
> Installing ELPA by apt only matches requirements on Ubuntu 22.04. For earlier linux distributions, you may install elpa from source.
5050
5151
Alternatively, you can choose [Intel® oneAPI toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/commercial-base-hpc.html) (former Parallel Studio) as toolchain. The [Intel® oneAPI Base Toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/all-toolkits.html#base-kit) contains Intel® oneAPI Math Kernel Library (aka `MKL`), including `BLAS`, `LAPACK`, `ScaLAPACK` and `FFTW3`, - this means that no Fortran compiler required anymore. The [Intel® oneAPI HPC Toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/all-toolkits.html#hpc-kit) contains Intel® MPI Library, and C++ compiler(including MPI compiler). Please noted that building `elpa` with a different MPI library may cause conflict between MPI libraries. Don't forget to [set environment variables](https://software.intel.com/content/www/us/en/develop/documentation/get-started-with-intel-oneapi-render-linux/top/configure-your-system.html) before you start! `cmake` will use Intel MKL if the environment variable `MKLROOT` is set.
5252

53+
> Please refer to our [guide](https://github.com/deepmodeling/abacus-develop/wiki/Building-and-Running-ABACUS) on requirements.
54+
5355
If you have trouble building requirements, our Dockerfiles in root path offer a reference, or read the section below to use a pre-built container.
5456

5557
And of course, a copy of ABACUS source code is required:
@@ -69,7 +71,7 @@ We recommend building ABACUS with `cmake` to avoid dependency issues. `Makefile`
6971

7072
#### Configure
7173

72-
ABACUS requires a minimum `cmake` version of `3.18`. Check the version of `cmake` on your machine with:
74+
ABACUS requires a minimum `cmake` version of `3.16`, and `3.18` with advanced features like the integration with DeePKS or utilizing GPU. Check the version of `cmake` on your machine with:
7375

7476
```bash
7577
cmake --version
@@ -96,17 +98,14 @@ You can also choose to build with which components.
9698
```bash
9799
cmake -B build -DUSE_LIBXC=1 -DUSE_CUDA=1
98100
```
99-
```bash
100-
cmake -B build -DUSE_CUSOLVER_LCAO=1
101-
```
102101

103102
If Libxc is not installed in standard path (i.e. installed with a custom prefix path), you may add the installation prefix of `FindLibxc.cmake` to `CMAKE_MODULE_PATH` environment variable, or set `Libxc_DIR` to the directory containing the file.
104103

105104
```bash
106105
cmake -B build -DLibxc_DIR=~/libxc
107106
```
108107

109-
To build tests for abacus, define `BUILD_TESTING` flag. You can also specify path to local installation of [Googletest](https://github.com/google/googletest) by setting `GTEST_DIR` flags. If not found in local, the configuration process will try to download it automatically.
108+
To build tests for ABACUS, define `BUILD_TESTING` flag. You can also specify path to local installation of [Googletest](https://github.com/google/googletest) by setting `GTEST_DIR` flags. If not found in local, the configuration process will try to download it automatically.
110109

111110
```bash
112111
cmake -B build -DBUILD_TESTING=1
@@ -117,11 +116,11 @@ cmake -B build -DBUILD_TESTING=1
117116
After configuring, start build and install by:
118117

119118
```bash
120-
cmake --build build -j9
119+
cmake --build build -j`nproc`
121120
cmake --install build
122121
```
123122

124-
`-j9` specifies the number of jobs to run simultaneously. You can change the number on your need: set to the number of CPU cores to gain the best performance.
123+
You can change the number after `-j` on your need: set to the number of CPU cores(`nproc`) to gain the best performance.
125124

126125
[back to top](#download-and-install)
127126

@@ -133,6 +132,8 @@ cmake --install build
133132
export MKL_NUM_THREAD=1
134133
``` -->
135134

135+
> Note: compiling with Makefile is deprecated. We suggest using CMake to configure and compile.
136+
136137
To compile the ABACUS program using legacy `make`, first edit the file `Makefile.vars` under `source` directory:
137138

138139
```bash

0 commit comments

Comments
 (0)