-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Expand file tree
/
Copy pathrun.sh
More file actions
71 lines (61 loc) · 1.52 KB
/
run.sh
File metadata and controls
71 lines (61 loc) · 1.52 KB
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
#!/bin/bash
print_banner() {
printf "\n\n\n\e[30m\e[42m$1\e[0m\n\n\n\n"
}
print_green() {
printf "\e[30m\e[42m$1\e[0m\n"
}
print_red() {
printf "\e[30m\e[41m$1\e[0m\n"
}
images=(
"pytorch/pytorch:nightly-devel-cuda10.0-cudnn7"
"pytorch/pytorch:1.1.0-cuda10.0-cudnn7.5-devel"
"pytorch/pytorch:1.0.1-cuda10.0-cudnn7-devel"
"pytorch/pytorch:1.0-cuda10.0-cudnn7-devel"
"pytorch/pytorch:nightly-devel-cuda9.2-cudnn7"
)
branch="master"
# Associative array for exit codes
declare -A exit_codes
for image in images
do
exit_codes[$image]="None"
done
for image in "${images[@]}"
do
print_banner "$image"
set -x
docker pull $image
# Trying python setup.py install instead of pip install to ensure direct access to error codes.
# Maybe pip install would be ok too but this works.
docker run --runtime=nvidia --rm $image /bin/bash -c "yes | pip uninstall apex; yes | pip uninstall apex; git clone https://github.com/NVIDIA/apex.git; cd apex; git checkout $branch; set -e; python setup.py install --cuda_ext --cpp_ext"
exit_code=$?
set +x
if [ $exit_code != 0 ]
then
print_red "Exit code: $exit_code"
else
print_green "Exit code: $exit_code"
fi
exit_codes[$image]=$exit_code
done
success=0
for image in "${images[@]}"
do
exit_code=${exit_codes[$image]}
if [ $exit_code != 0 ]
then
print_red "$image : $exit_code"
success=1
else
print_green "$image : $exit_code"
fi
done
if [ $success != 0 ]
then
print_red "Overall status: failure"
else
print_green "Overall status: success"
fi
exit $success