|
13 | 13 |
|
14 | 14 | ## Installation |
15 | 15 |
|
| 16 | +### Container Deployment |
| 17 | + |
| 18 | +We've built a ready-for-use version of ABACUS with docker [here](https://github.com/deepmodeling/abacus-develop/pkgs/container/abacus). For a quick start: pull the image, prepare the data, run container. Instructions on using the image can be accessed in [Dockerfile](../Dockerfile). |
| 19 | + |
| 20 | +We also offer a pre-built docker image containing all the requirements for development. Please refer to our [Package Page](https://github.com/deepmodeling/abacus-develop/pkgs/container/abacus-development-kit). |
| 21 | + |
| 22 | +The project is ready for VS Code development container. Please refer to [Developing inside a Container](https://code.visualstudio.com/docs/remote/containers#_quick-start-try-a-development-container). Choose `Open a Remote Window -> Clone a Repository in Container Volume` in VS Code command palette, and put the [git address](https://github.com/deepmodeling/abacus-develop.git) of `ABACUS` when prompted. |
| 23 | + |
| 24 | +We also support [gitpod](https://www.gitpod.io/) to offer an ready-to-use online development environment. |
| 25 | +[](https://gitpod.io/#https://github.com/deepmodeling/abacus-develop) |
| 26 | + |
16 | 27 | ### Prerequisites |
17 | 28 |
|
18 | | -ABACUS current supports Linux. To compile ABACUS, please make sure that the following prerequisites are |
19 | | -present: |
| 29 | +ABACUS currently supports Linux. `Dockerfile`s under the root directory of our repo will come in handy. |
| 30 | + |
| 31 | +To compile ABACUS, please make sure that the following prerequisites are present: |
20 | 32 |
|
21 | 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/). |
22 | 34 | - MPI compiler. The recommended version are [Intel MPI](https://software.intel.com/enus/mpi-library) or [MPICH](https://www.mpich.org/). |
23 | 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/). |
24 | 36 | - [BLAS](http://www.netlib.org/blas/). You can use [OpenBLAS](https://www.openblas.net/). |
25 | 37 | - [LAPACK](http://www.netlib.org/lapack/). |
26 | 38 | - [ScaLAPACK](http://www.netlib.org/scalapack/). |
27 | | -- [FFTW](http://www.fftw.org/). |
28 | | -- [ELPA](https://elpa.mpcdf.mpg.de/). |
| 39 | +- [FFTW3](http://www.fftw.org/). |
| 40 | +- [ELPA](https://elpa.mpcdf.mpg.de/) >= 2017. |
29 | 41 | - [CEREAL](https://uscilab.github.io/cereal/). |
30 | 42 |
|
| 43 | +These packages can be installed with popular package management system, such as `apt` and `yum`: |
| 44 | + |
| 45 | +```bash |
| 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 | +``` |
| 48 | + |
| 49 | +> Please double-check the installed version of ELPA! |
| 50 | +
|
31 | 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. |
32 | 52 |
|
33 | 53 | 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. |
34 | | -[back to top](#download-and-install) |
35 | 54 |
|
36 | | -### Container Deployment |
| 55 | +And of course, a copy of ABACUS source code is required: |
37 | 56 |
|
38 | | -We offer a pre-built docker image containing all the requirements - you only need to clone and compile `abacus` in the container. Please refer to our [Package Page](https://github.com/deepmodeling/abacus-develop/pkgs/container/abacus-development-kit). |
| 57 | +- Clone the whole repo with git: `git clone https://github.com/deepmodeling/abacus-develop.git` |
| 58 | +- Clone the minimum required part of repo: `git clone https://github.com/deepmodeling/abacus-develop.git --depth=1` |
| 59 | +- Download the latest source code without git: `wget https://github.com/deepmodeling/abacus-develop/archive/refs/heads/develop.zip` |
| 60 | +- Get the source code of a stable version [here](https://github.com/deepmodeling/abacus-develop/releases) |
| 61 | +- If you have connection issues accessing GitHub, please try out our official [Gitee repo](https://gitee.com/deepmodeling/abacus-develop/): replacing 'github.com' with 'gitee.com' works for all the links above. e.g. `git clone https://gitee.com/deepmodeling/abacus-develop.git` |
39 | 62 |
|
40 | | -The project is ready for VS Code development container. Please refer to [Developing inside a Container](https://code.visualstudio.com/docs/remote/containers#_quick-start-try-a-development-container). Choose `Open a Remote Window -> Clone a Repository in Container Volume` in VS Code command palette, and put the [git address](https://github.com/deepmodeling/abacus-develop.git) of `ABACUS` when prompted. |
41 | 63 |
|
42 | | -We also support [gitpod](https://www.gitpod.io/) to offer an ready-to-use online development environment. |
43 | | -[](https://gitpod.io/#https://github.com/deepmodeling/abacus-develop) |
| 64 | +[back to top](#download-and-install) |
44 | 65 |
|
45 | 66 | ### Build and install ABACUS with CMake |
46 | 67 |
|
|
0 commit comments