@@ -2,90 +2,27 @@ name: CUDA Test
2
2
3
3
on :
4
4
workflow_dispatch :
5
+ pull_request :
5
6
6
7
jobs :
7
- start-runner :
8
- name : Start self-hosted EC2 runner
9
- runs-on : ubuntu-latest
10
- outputs :
11
- label : ${{ steps.start-ec2-runner.outputs.label }}
12
- ec2-instance-id : ${{ steps.start-ec2-runner.outputs.ec2-instance-id }}
13
- steps :
14
- - name : Configure AWS credentials
15
- uses : aws-actions/configure-aws-credentials@v4
16
- with :
17
- aws-access-key-id : ${{ secrets.AWS_ACCESS_KEY_ID }}
18
- aws-secret-access-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
19
- aws-region : us-east-2
20
- - name : Start EC2 runner
21
- id : start-ec2-runner
22
- uses : machulav/ec2-github-runner@v2
23
- with :
24
- mode : start
25
- github-token : ${{ secrets.PAT }}
26
- ec2-image-id : ami-04cd9fec4a7a39019
27
- ec2-instance-type : g4dn.xlarge
28
- subnet-id : subnet-72d3e53e
29
- security-group-id : sg-06b0c93122c08aeab
30
-
31
8
test :
32
- name : Do the job on the runner
33
- needs : start-runner # required to start the main job when the runner is ready
34
- runs-on : ${{ needs.start-runner.outputs.label }} # run the job on the newly created runner
9
+ name : Test on CUDA Build
10
+ runs-on : nvidia
35
11
container :
36
12
image : ghcr.io/deepmodeling/abacus-cuda
37
13
options : --gpus all
38
14
steps :
39
15
- name : Checkout
40
16
uses : actions/checkout@v4
41
- - name : Build cuSolver
17
+ with :
18
+ submodules : recursive
19
+ - name : Build
42
20
run : |
43
21
nvidia-smi
44
- cmake -B build -DUSE_CUSOLVER_LCAO =ON
22
+ cmake -B build -DUSE_CUDA=ON -DBUILD_TESTING =ON
45
23
cmake --build build -j4
46
24
cmake --install build
47
- cmake -B build -DBUILD_TESTING=ON
48
- cmake --build build -j4 --target hsolver_diago
49
- - name : Test e2e
25
+ - name : Test
50
26
run : |
51
- export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda/lib64
52
27
cd tests/integrate
53
- echo "ks_solver cusolver" >> ./270_NO_MD_2O/INPUT
54
- ./Autotest.sh -r 270_NO_MD_2O
55
- - name : Test UT
56
- run : |
57
- cd source/src_pdiag/test/
58
- cp ../../../build/source/src_pdiag/test/hsolver_diago .
59
- ./hsolver_diago
60
- bash diago_parallel_test.sh
61
- - name : Test performance
62
- run : |
63
- cd examples/performance
64
- ls -d P1*lcao* > allcase
65
- sed -i '/ks_solver/d' P1*lcao*/INPUT
66
- sed -i '$a ks_solver cusolver' P1*lcao*/INPUT
67
- bash run.sh
68
- cat sumall.dat
69
-
70
-
71
- stop-runner :
72
- name : Stop self-hosted EC2 runner
73
- needs :
74
- - start-runner # required to get output from the start-runner job
75
- - test # required to wait when the main job is done
76
- runs-on : ubuntu-latest
77
- if : ${{ always() }} # required to stop the runner even if the error happened in the previous jobs
78
- steps :
79
- - name : Configure AWS credentials
80
- uses : aws-actions/configure-aws-credentials@v4
81
- with :
82
- aws-access-key-id : ${{ secrets.AWS_ACCESS_KEY_ID }}
83
- aws-secret-access-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
84
- aws-region : us-east-2
85
- - name : Stop EC2 runner
86
- uses : machulav/ec2-github-runner@v2
87
- with :
88
- mode : stop
89
- github-token : ${{ secrets.PAT }}
90
- label : ${{ needs.start-runner.outputs.label }}
91
- ec2-instance-id : ${{ needs.start-runner.outputs.ec2-instance-id }}
28
+ bash Autotest.sh -n 2 -f CASES_GPU.txt
0 commit comments