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: docs/install.md
+10-9Lines changed: 10 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ To compile ABACUS, please make sure that the following prerequisites are present
32
32
33
33
- C++ compiler, supporting C++11. You can use [Intel® C++ compiler](https://software.intel.com/enus/c-compilers) or [GCC](https://gcc.gnu.org/).
34
34
- 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/).
36
36
-[BLAS](http://www.netlib.org/blas/). You can use [OpenBLAS](https://www.openblas.net/).
37
37
-[LAPACK](http://www.netlib.org/lapack/).
38
38
-[ScaLAPACK](http://www.netlib.org/scalapack/).
@@ -46,10 +46,12 @@ These packages can be installed with popular package management system, such as
46
46
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
47
47
```
48
48
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.
50
50
51
51
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.
52
52
53
+
> Please refer to our [guide](https://github.com/deepmodeling/abacus-develop/wiki/Building-and-Running-ABACUS) on requirements.
54
+
53
55
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.
54
56
55
57
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`
69
71
70
72
#### Configure
71
73
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:
73
75
74
76
```bash
75
77
cmake --version
@@ -96,17 +98,14 @@ You can also choose to build with which components.
96
98
```bash
97
99
cmake -B build -DUSE_LIBXC=1 -DUSE_CUDA=1
98
100
```
99
-
```bash
100
-
cmake -B build -DUSE_CUSOLVER_LCAO=1
101
-
```
102
101
103
102
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.
104
103
105
104
```bash
106
105
cmake -B build -DLibxc_DIR=~/libxc
107
106
```
108
107
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.
`-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.
125
124
126
125
[back to top](#download-and-install)
127
126
@@ -133,6 +132,8 @@ cmake --install build
133
132
export MKL_NUM_THREAD=1
134
133
``` -->
135
134
135
+
> Note: compiling with Makefile is deprecated. We suggest using CMake to configure and compile.
136
+
136
137
To compile the ABACUS program using legacy `make`, first edit the file `Makefile.vars` under `source` directory:
0 commit comments