Skip to content

Commit 46aa6e4

Browse files
authored
[jenkins] updates for migration to new k8s-based system (#1754)
1 parent ef08b6f commit 46aa6e4

2 files changed

Lines changed: 81 additions & 104 deletions

File tree

jenkins/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM nvidia/cuda:12.6.3-devel-ubuntu22.04
1+
FROM docker.io/nvidia/cuda:12.6.3-devel-ubuntu22.04
22

33
# julia
44
RUN apt-get update && \

jenkins/Jenkinsfile

Lines changed: 80 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -1,108 +1,85 @@
1-
pipeline {
2-
agent none
3-
options {
4-
disableConcurrentBuilds(abortPrevious: true)
5-
buildDiscarder(logRotator(numToKeepStr: '8', daysToKeepStr: '20'))
6-
}
7-
stages {
8-
stage('GPU Testing') {
9-
parallel {
10-
stage('NDTensorsCUDAExt') {
11-
options {
12-
timeout(time: 45, unit: 'MINUTES')
13-
}
14-
agent {
15-
dockerfile {
16-
label 'gpu&&v100'
17-
filename 'Dockerfile'
18-
dir 'jenkins'
19-
additionalBuildArgs '--build-arg JULIA=1.12'
20-
args '--gpus "device=0"'
21-
}
22-
}
23-
environment {
24-
HOME = pwd(tmp:true)
25-
OMP_NUM_THREADS = 4
26-
JULIA_NUM_THREADS = 4
27-
}
28-
steps {
29-
sh 'rm -rf "$HOME/.julia"'
30-
sh 'nvidia-smi'
31-
sh '''
32-
julia -e '
33-
using Pkg: Pkg
34-
Pkg.activate("./NDTensors/test")
35-
Pkg.add(["CUDA", "Preferences", "CUDA_Driver_jll"])
36-
using CUDA
37-
CUDA.set_runtime_version!(v"12.6"; local_toolkit=false)
38-
using CUDA_Driver_jll
39-
using Preferences: set_preferences!
40-
set_preferences!(CUDA_Driver_jll, "compat" => "false"; export_prefs=true)
41-
'
42-
'''
43-
sh '''
44-
julia -e 'using Pkg: Pkg; Pkg.activate(temp=true); Pkg.Registry.update(); Pkg.update(); Pkg.develop(path="./NDTensors"); Pkg.develop(path="."); Pkg.test("NDTensors"; test_args=["cuda"])'
45-
'''
46-
}
1+
properties([
2+
disableConcurrentBuilds(abortPrevious: true),
3+
buildDiscarder(logRotator(numToKeepStr: '8', daysToKeepStr: '20'))
4+
])
5+
6+
buildImage(context: 'jenkins', buildArgs: '--build-arg JULIA=1.12')
7+
parallel cudaext: {
8+
runPod(gpus: 1) {
9+
stage('NDTensorsCUDAExt') {
10+
timeout(time: 45, unit: 'MINUTES') {
11+
withEnv([
12+
"HOME=$WORKSPACE_TMP",
13+
"OMP_NUM_THREADS=4",
14+
"JULIA_NUM_THREADS=4"
15+
]) {
16+
sh 'nvidia-smi'
17+
sh '''
18+
julia -e '
19+
using Pkg: Pkg
20+
Pkg.activate("./NDTensors/test")
21+
Pkg.add(["CUDA", "Preferences", "CUDA_Driver_jll"])
22+
using CUDA
23+
CUDA.set_runtime_version!(v"12.6"; local_toolkit=false)
24+
using CUDA_Driver_jll
25+
using Preferences: set_preferences!
26+
set_preferences!(CUDA_Driver_jll, "compat" => "false"; export_prefs=true)
27+
'
28+
'''
29+
sh '''
30+
julia -e 'using Pkg: Pkg; Pkg.activate(temp=true); Pkg.Registry.update(); Pkg.update(); Pkg.develop(path="./NDTensors"); Pkg.develop(path="."); Pkg.test("NDTensors"; test_args=["cuda"])'
31+
'''
4732
}
48-
stage('NDTensorscuTENSORExt') {
49-
options {
50-
timeout(time: 45, unit: 'MINUTES')
51-
}
52-
agent {
53-
dockerfile {
54-
label 'gpu&&v100'
55-
filename 'Dockerfile'
56-
dir 'jenkins'
57-
additionalBuildArgs '--build-arg JULIA=1.12'
58-
args '--gpus "device=0"'
59-
}
60-
}
61-
environment {
62-
HOME = pwd(tmp:true)
63-
OMP_NUM_THREADS = 4
64-
JULIA_NUM_THREADS = 4
65-
}
66-
steps {
67-
sh 'rm -rf "$HOME/.julia"'
68-
sh 'nvidia-smi'
69-
sh '''
70-
julia -e '
71-
using Pkg: Pkg
72-
Pkg.activate("./NDTensors/test")
73-
Pkg.add(["CUDA", "Preferences", "CUDA_Driver_jll"])
74-
using CUDA
75-
CUDA.set_runtime_version!(v"12.6"; local_toolkit=false)
76-
using CUDA_Driver_jll
77-
using Preferences: set_preferences!
78-
set_preferences!(CUDA_Driver_jll, "compat" => "false"; export_prefs=true)
79-
'
80-
'''
81-
sh '''
82-
julia -e 'using Pkg: Pkg; Pkg.activate(temp=true); Pkg.Registry.update(); Pkg.update(); Pkg.develop(path="./NDTensors"); Pkg.develop(path="."); Pkg.test("NDTensors"; test_args=["cutensor"])'
83-
'''
84-
}
33+
}
34+
}
35+
}
36+
},
37+
tensorext: {
38+
runPod(gpus: 1) {
39+
stage('NDTensorscuTENSORExt') {
40+
timeout(time: 45, unit: 'MINUTES') {
41+
withEnv([
42+
"HOME=$WORKSPACE_TMP",
43+
"OMP_NUM_THREADS=4",
44+
"JULIA_NUM_THREADS=4"
45+
]) {
46+
sh 'nvidia-smi'
47+
sh '''
48+
julia -e '
49+
using Pkg: Pkg
50+
Pkg.activate("./NDTensors/test")
51+
Pkg.add(["CUDA", "Preferences", "CUDA_Driver_jll"])
52+
using CUDA
53+
CUDA.set_runtime_version!(v"12.6"; local_toolkit=false)
54+
using CUDA_Driver_jll
55+
using Preferences: set_preferences!
56+
set_preferences!(CUDA_Driver_jll, "compat" => "false"; export_prefs=true)
57+
'
58+
'''
59+
sh '''
60+
julia -e 'using Pkg: Pkg; Pkg.activate(temp=true); Pkg.Registry.update(); Pkg.update(); Pkg.develop(path="./NDTensors"); Pkg.develop(path="."); Pkg.test("NDTensors"; test_args=["cutensor"])'
61+
'''
8562
}
86-
stage('NDTensorsMetalExt'){
87-
options {
88-
timeout(time: 45, unit: 'MINUTES')
89-
}
90-
agent {
91-
label 'm1'
92-
}
93-
environment{
94-
PATH="${env.HOME}/.juliaup/bin:${env.PATH}"
95-
PLATFORM = 'macos'
96-
}
97-
steps{
98-
sh '''
99-
juliaup update
100-
juliaup default release
101-
'''
102-
sh '''
103-
julia -e 'using Pkg: Pkg; Pkg.activate(temp=true); Pkg.Registry.update(); Pkg.update(); Pkg.develop(path="./NDTensors"); Pkg.develop(path="."); Pkg.test("NDTensors"; test_args=["metal"])'
104-
'''
105-
}
63+
}
64+
}
65+
}
66+
},
67+
metalext: {
68+
node('m1') {
69+
stage('NDTensorsMetalExt') {
70+
timeout(time: 45, unit: 'MINUTES') {
71+
withEnv([
72+
"PATH=${env.HOME}/.juliaup/bin:${env.PATH}",
73+
"PLATFORM=macos"
74+
]) {
75+
checkout scm
76+
sh '''
77+
juliaup update
78+
juliaup default release
79+
'''
80+
sh '''
81+
julia -e 'using Pkg: Pkg; Pkg.activate(temp=true); Pkg.Registry.update(); Pkg.update(); Pkg.develop(path="./NDTensors"); Pkg.develop(path="."); Pkg.test("NDTensors"; test_args=["metal"])'
82+
'''
10683
}
10784
}
10885
}

0 commit comments

Comments
 (0)