forked from ecrc/kblas-gpu
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
136 lines (133 loc) · 5.4 KB
/
Jenkinsfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
pipeline {
/*
* Defining where to run
*/
//// Any:
// agent any
//// By agent label:
// agent { label 'sandybridge' }
agent { label 'Almaha' }
triggers {
pollSCM('H/10 * * * *')
}
environment {
CC="gcc"
}
options {
disableConcurrentBuilds()
buildDiscarder(logRotator(numToKeepStr: '50'))
timestamps()
}
stages {
stage ('cuda-8.0') {
steps {
sh '''#!/bin/bash -le
module load gcc/4.8.5;
module load cuda/8.0
module load intel/16
module list
set -x
export _MAGMA_ROOT_=/opt/ecrc/magma/2.2.0-intel-16-mkl-cuda-8.0
export _CUB_DIR_=$PWD/cub
if [ -d cub ]
then
cd cub; git pull; cd ..
else
git clone https://github.com/NVLABS/cub cub
fi
make clean
make
export CUDA_VISIBLE_DEVICES=2; export NGPUS=1
sed -i s/STEP_DIM=.*/STEP_DIM=1024/ ./test-scripts/kblas-test-l2.sh
sed -i s/STOP_DIM=.*/STOP_DIM=4096/ ./test-scripts/kblas-test-l2.sh
./test-scripts/kblas-test-l2.sh
sed -i s/"ranges = "/"ranges=\\[\\"--range 128:1024:128\\"\\]\\nranges = "/ ./test-scripts/kblas-test-l3.py
sed -i "/ranges = /,/\\]/d" ./test-scripts/kblas-test-l3.py
./test-scripts/kblas-test-l3.py
sed -i "/--range 2048:15360:1024/d" ./test-scripts/kblas-test-l3.py
./test-scripts/kblas-test-l3.py
./test-scripts/kblas-test-batch-parallel.py
'''
}
}
stage ('cuda-7.5') {
steps {
sh '''#!/bin/bash -le
module load gcc/4.8.5;
module load cuda/7.5
module load intel/16
module list
set -x
export _MAGMA_ROOT_=/opt/ecrc/magma/2.2.0-intel-16-mkl-cuda-7.5
export _CUB_DIR_=$PWD/cub
if [ -d cub ]
then
cd cub; git pull; cd ..
else
git clone https://github.com/NVLABS/cub cub
fi
make clean
make
export CUDA_VISIBLE_DEVICES=2; export NGPUS=1
sed -i s/STEP_DIM=.*/STEP_DIM=1024/ ./test-scripts/kblas-test-l2.sh
sed -i s/STOP_DIM=.*/STOP_DIM=4096/ ./test-scripts/kblas-test-l2.sh
./test-scripts/kblas-test-l2.sh
sed -i s/"ranges = "/"ranges=\\[\\"--range 128:1024:128\\"\\]\\nranges = "/ ./test-scripts/kblas-test-l3.py
sed -i "/ranges = /,/\\]/d" ./test-scripts/kblas-test-l3.py
./test-scripts/kblas-test-l3.py
sed -i "/--range 2048:15360:1024/d" ./test-scripts/kblas-test-l3.py
./test-scripts/kblas-test-l3.py
./test-scripts/kblas-test-batch-parallel.py
'''
}
}
stage ('cuda-7.0') {
steps {
sh '''#!/bin/bash -le
module load gcc/4.8.5;
module load cuda/7.0
module load intel/16
module list
set -x
export _MAGMA_ROOT_=/opt/ecrc/magma/2.0.1-intel-16-mkl-cuda-7.0/
export _CUB_DIR_=$PWD/cub
if [ -d cub ]
then
cd cub; git pull; cd ..
else
git clone https://github.com/NVLABS/cub cub
fi
make clean
make
export CUDA_VISIBLE_DEVICES=2; export NGPUS=1
sed -i s/STEP_DIM=.*/STEP_DIM=1024/ ./test-scripts/kblas-test-l2.sh
sed -i s/STOP_DIM=.*/STOP_DIM=4096/ ./test-scripts/kblas-test-l2.sh
./test-scripts/kblas-test-l2.sh
sed -i s/"ranges = "/"ranges=\\[\\"--range 128:1024:128\\"\\]\\nranges = "/ ./test-scripts/kblas-test-l3.py
sed -i "/ranges = /,/\\]/d" ./test-scripts/kblas-test-l3.py
./test-scripts/kblas-test-l3.py
sed -i "/--range 2048:15360:1024/d" ./test-scripts/kblas-test-l3.py
./test-scripts/kblas-test-l3.py
./test-scripts/kblas-test-batch-parallel.py
'''
}
}
}
// Post build actions
post {
//always {
//}
//success {
//}
//unstable {
//}
//failure {
//}
unstable {
emailext body: "${env.JOB_NAME} - Please go to ${env.BUILD_URL}", subject: "Jenkins Pipeline build is UNSTABLE", recipientProviders: [[$class: 'CulpritsRecipientProvider'], [$class: 'RequesterRecipientProvider']]
}
failure {
emailext body: "${env.JOB_NAME} - Please go to ${env.BUILD_URL}", subject: "Jenkins Pipeline build FAILED", recipientProviders: [[$class: 'CulpritsRecipientProvider'], [$class: 'RequesterRecipientProvider']]
}
}
}