-
Notifications
You must be signed in to change notification settings - Fork 167
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #145 from dyzheng/v2.2.3
V2.2.3
- Loading branch information
Showing
353 changed files
with
25,507 additions
and
6,354 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
name: CUDA Test | ||
|
||
on: | ||
workflow_dispatch: | ||
|
||
jobs: | ||
start-runner: | ||
name: Start self-hosted EC2 runner | ||
runs-on: ubuntu-latest | ||
outputs: | ||
label: ${{ steps.start-ec2-runner.outputs.label }} | ||
ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }} | ||
steps: | ||
- name: Configure AWS credentials | ||
uses: aws-actions/configure-aws-credentials@v1 | ||
with: | ||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | ||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | ||
aws-region: us-east-2 | ||
- name: Start EC2 runner | ||
id: start-ec2-runner | ||
uses: machulav/ec2-github-runner@v2 | ||
with: | ||
mode: start | ||
github-token: ${{ secrets.PAT }} | ||
ec2-image-id: ami-04cd9fec4a7a39019 | ||
ec2-instance-type: g4dn.xlarge | ||
subnet-id: subnet-72d3e53e | ||
security-group-id: sg-06b0c93122c08aeab | ||
|
||
test: | ||
name: Do the job on the runner | ||
needs: start-runner # required to start the main job when the runner is ready | ||
runs-on: ${{ needs.start-runner.outputs.label }} # run the job on the newly created runner | ||
container: | ||
image: ghcr.io/deepmodeling/abacus-development-kit:cuda | ||
options: --gpus all | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Build cuSolver | ||
run: | | ||
nvidia-smi | ||
cmake -B build -DUSE_CUSOLVER_LCAO=ON | ||
cmake --build build -j4 | ||
cmake --install build | ||
- name: Test | ||
run: | | ||
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda/lib64 | ||
cd tests/integrate | ||
echo "ks_solver cusolver" >> ./270_NO_MD_2O/INPUT | ||
./Autotest.sh -r 270_NO_MD_2O | ||
stop-runner: | ||
name: Stop self-hosted EC2 runner | ||
needs: | ||
- start-runner # required to get output from the start-runner job | ||
- test # required to wait when the main job is done | ||
runs-on: ubuntu-latest | ||
if: ${{ always() }} # required to stop the runner even if the error happened in the previous jobs | ||
steps: | ||
- name: Configure AWS credentials | ||
uses: aws-actions/configure-aws-credentials@v1 | ||
with: | ||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | ||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | ||
aws-region: us-east-2 | ||
- name: Stop EC2 runner | ||
uses: machulav/ec2-github-runner@v2 | ||
with: | ||
mode: stop | ||
github-token: ${{ secrets.PAT }} | ||
label: ${{ needs.start-runner.outputs.label }} | ||
ec2-instance-id: ${{ needs.start-runner.outputs.ec2-instance-id }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
name: Build Image | ||
|
||
on: | ||
push: | ||
branches: | ||
- develop | ||
|
||
jobs: | ||
build_container_and_push: | ||
runs-on: ubuntu-latest | ||
if: github.repository_owner == 'deepmodeling' | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Docker Buildx | ||
uses: docker/setup-buildx-action@v1 | ||
|
||
- name: Login to GitHub Container Registry | ||
uses: docker/login-action@v1 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Login to Aliyun Registry | ||
uses: docker/login-action@v1 | ||
with: | ||
registry: ${{ secrets.DP_HARBOR_REGISTRY }} | ||
username: ${{ secrets.DP_HARBOR_USERNAME }} | ||
password: ${{ secrets.DP_HARBOR_PASSWORD }} | ||
|
||
- name: Build and Push Container | ||
uses: docker/build-push-action@v2 | ||
with: | ||
tags: | | ||
ghcr.io/${{ github.repository_owner }}/abacus:latest | ||
${{ secrets.DP_HARBOR_REGISTRY }}/dplc/abacus:latest | ||
file: Dockerfile | ||
cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/abacus:latest | ||
cache-to: type=inline | ||
push: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: Performance test | ||
|
||
on: | ||
workflow_dispatch: | ||
|
||
jobs: | ||
test: | ||
name: Performance test | ||
runs-on: self-hosted | ||
strategy: | ||
matrix: | ||
tag: ["gnu", "intel"] | ||
if: github.repository_owner == 'deepmodeling' | ||
container: ghcr.io/${{ github.repository_owner }}/abacus-development-kit:${{ matrix.tag }} | ||
timeout-minutes: 2880 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Install Requirements | ||
run: | | ||
apt install -y time | ||
- name: Build | ||
run: | | ||
cmake -B build -DENABLE_LIBXC=ON | ||
cmake --build build -j16 | ||
cmake --install build | ||
- name: Test | ||
run: | | ||
. /opt/intel/oneapi/setvars.sh 2> /dev/null || : | ||
cd examples/performance/ | ||
bash run.sh | ||
- name: Show Result | ||
run: | | ||
cat examples/performance/sumall.dat |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# To build this Dockerfile, run `docker build -t abacus - < Dockerfile`. | ||
# Pull image with `docker pull ghcr.io/deepmodeling/abacus:latest`. | ||
FROM ubuntu:latest | ||
RUN apt update && apt install -y --no-install-recommends libopenblas-dev liblapack-dev libscalapack-mpi-dev libelpa-dev libfftw3-dev libcereal-dev libxc-dev g++ make cmake bc time sudo vim git | ||
# If you wish to use the LLVM compiler, replace 'g++' above with 'clang libomp-dev'. | ||
RUN GIT_SSL_NO_VERIFY=true git clone https://github.com/deepmodeling/abacus-develop.git --depth 1 && cd abacus-develop && cmake -B build && cmake --build build -j`nproc` && cmake --install build && cd .. && rm -rf abacus-develop | ||
# If you have trouble cloning repo, replace "github.com" with "gitee.com". | ||
ENV OMPI_ALLOW_RUN_AS_ROOT=1 OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 OMPI_MCA_btl_vader_single_copy_mechanism=none | ||
CMD mpirun --use-hwthread-cpus abacus | ||
|
||
# To run ABACUS built by this image with all available threads, execute `docker run -v <host>:<wd> -w <wd/input> abacus`. | ||
# Replace '<host>' with the path to all files(including pseudopotential files), '<wd>' with a path to working directory, and '<wd/input>' with the path to input folder(containing 'INPUT', 'STRU', etc.). | ||
# e.g. after clone the repo to `$HOME` and pulled this image, execute `docker run -v ~/abacus-develop/tests/integrate:/workspace -w /workspace/101_PW_15_f_pseudopots abacus`. | ||
# To run ABACUS with a given MPI process number, execute `docker run -v <host>:<wd> -w <wd/input> -it --entrypoint mpirun abacus -np <processes> abacus`. Note: the first "abacus" is the name of the image, the second "abacus" is the name of the executable file. Do not use '--cpus' flag of 'docker run' to specify the number of processes. | ||
|
||
# To use this image as developing environment, execute `docker run -it --entrypoint /bin/bash abacus`. | ||
# Please refer to https://docs.docker.com/engine/reference/commandline/run/ for more details. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
FROM ghcr.io/deepmodeling/abacus-development-kit:gnu | ||
|
||
RUN wget https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run --no-check-certificate --quiet \ | ||
&& sh cuda_11.4.2_470.57.02_linux.run --toolkit --silent \ | ||
&& rm cuda_11.4.2_470.57.02_linux.run | ||
RUN wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run --no-check-certificate --quiet \ | ||
&& sh cuda_11.7.0_515.43.04_linux.run --toolkit --silent \ | ||
&& rm cuda_11.7.0_515.43.04_linux.run | ||
ENV PATH=/usr/local/cuda/bin:$PATH |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.