@@ -106,7 +106,7 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults
106
106
sudo pip -q install awscli==1.16.35
107
107
108
108
if [ -n "${CUDA_VERSION}" ]; then
109
- DRIVER_FN="NVIDIA-Linux-x86_64-440.59 .run"
109
+ DRIVER_FN="NVIDIA-Linux-x86_64-460.39 .run"
110
110
wget "https://s3.amazonaws.com/ossci-linux/nvidia_driver/$DRIVER_FN"
111
111
sudo /bin/bash "$DRIVER_FN" -s --no-drm || (sudo cat /var/log/nvidia-installer.log && false)
112
112
nvidia-smi
@@ -116,13 +116,15 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults
116
116
export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_ECR_READ_ONLY}
117
117
export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_ECR_READ_ONLY}
118
118
eval $(aws ecr get-login --region us-east-1 --no-include-email)
119
+ - restore_cache :
120
+ key : v1.0-tutorial-{{ .Environment.CIRCLE_JOB }}
119
121
- run :
120
122
name : Build
121
123
no_output_timeout : " 20h"
122
124
command : |
123
125
set -e
124
126
125
- export pyTorchDockerImageTag=291
127
+ export pyTorchDockerImageTag=9de29bef4a5dc0dd1dd19428d83e5a66a44a1ed2
126
128
echo "PyTorchDockerImageTag: "${pyTorchDockerImageTag}
127
129
128
130
cat >/home/circleci/project/ci_build_script.sh \<<EOL
@@ -164,25 +166,49 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults
164
166
fi
165
167
set -x
166
168
169
+ # This also copies the cached build to docker.
167
170
docker cp /home/circleci/project/. "$id:/var/lib/jenkins/workspace"
168
171
169
172
export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1'
170
173
echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts
171
174
175
+ # Copy the last build from docker
176
+ docker cp "$id:/var/lib/jenkins/workspace/_build" /home/circleci/project
177
+ docker cp "$id:/var/lib/jenkins/workspace/docs" /home/circleci/project
178
+ docker cp "$id:/var/lib/jenkins/workspace/advanced" /home/circleci/project
179
+ docker cp "$id:/var/lib/jenkins/workspace/beginner" /home/circleci/project
180
+ docker cp "$id:/var/lib/jenkins/workspace/intermediate" /home/circleci/project
181
+ docker cp "$id:/var/lib/jenkins/workspace/prototype" /home/circleci/project
182
+ docker cp "$id:/var/lib/jenkins/workspace/recipes" /home/circleci/project
183
+ docker cp "$id:/var/lib/jenkins/workspace/src" /home/circleci/project
184
+
185
+ - save_cache :
186
+ # Save to cache for incremental build
187
+ key : v1.0-tutorial-{{ .Environment.CIRCLE_JOB }}
188
+ paths :
189
+ - /home/circleci/project/_build
190
+ - /home/circleci/project/docs
191
+ - /home/circleci/project/advanced
192
+ - /home/circleci/project/beginner
193
+ - /home/circleci/project/intermediate
194
+ - /home/circleci/project/prototype
195
+ - /home/circleci/project/recipes
196
+ - /home/circleci/project/src
197
+
172
198
pytorch_tutorial_build_worker_defaults : &pytorch_tutorial_build_worker_defaults
173
199
environment :
174
- DOCKER_IMAGE : " 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda9 -cudnn7-py3"
200
+ DOCKER_IMAGE : " 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2 -cudnn7-py3-gcc7 "
175
201
CUDA_VERSION : " 9"
176
202
resource_class : gpu.medium
177
203
<< : *pytorch_tutorial_build_defaults
178
204
179
205
pytorch_tutorial_build_manager_defaults : &pytorch_tutorial_build_manager_defaults
180
206
environment :
181
- DOCKER_IMAGE : " 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda9 -cudnn7-py3"
207
+ DOCKER_IMAGE : " 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2 -cudnn7-py3-gcc7 "
182
208
resource_class : medium
183
209
<< : *pytorch_tutorial_build_defaults
184
210
185
- pytorch_windows_build : &pytorch_windows_build
211
+ pytorch_windows_build_worker : &pytorch_windows_build_worker
186
212
executor : windows-with-nvidia-gpu
187
213
steps :
188
214
- checkout
@@ -191,10 +217,25 @@ pytorch_windows_build: &pytorch_windows_build
191
217
no_output_timeout : 30m
192
218
command : |
193
219
.circleci/scripts/windows_cuda_install.sh
220
+ - run :
221
+ name : Generate cache key
222
+ # This will refresh cache on Sundays, build should generate new cache.
223
+ command : echo "$(date +"%Y-%U")" > .circleci-weekly
224
+ - restore_cache :
225
+ keys :
226
+ - data-{{ checksum "Makefile" }}-{{ checksum ".circleci-weekly" }}
194
227
- run :
195
228
name : test
229
+ no_output_timeout : " 1h"
196
230
command : |
197
231
.circleci/scripts/build_for_windows.sh
232
+ - save_cache :
233
+ key : data-{{ checksum "Makefile" }}-{{ checksum ".circleci-weekly" }}
234
+ paths :
235
+ - advanced_source/data
236
+ - beginner_source/data
237
+ - intermediate_source/data
238
+ - prototype_source/data
198
239
199
240
jobs :
200
241
pytorch_tutorial_pr_build_worker_0 :
@@ -323,8 +364,29 @@ jobs:
323
364
pytorch_tutorial_master_build_manager :
324
365
<< : *pytorch_tutorial_build_manager_defaults
325
366
326
- pytorch_windows_build_worker :
327
- << : *pytorch_windows_build
367
+ pytorch_tutorial_windows_pr_build_worker_0 :
368
+ << : *pytorch_windows_build_worker
369
+
370
+ pytorch_tutorial_windows_pr_build_worker_1 :
371
+ << : *pytorch_windows_build_worker
372
+
373
+ pytorch_tutorial_windows_pr_build_worker_2 :
374
+ << : *pytorch_windows_build_worker
375
+
376
+ pytorch_tutorial_windows_pr_build_worker_3 :
377
+ << : *pytorch_windows_build_worker
378
+
379
+ pytorch_tutorial_windows_master_build_worker_0 :
380
+ << : *pytorch_windows_build_worker
381
+
382
+ pytorch_tutorial_windows_master_build_worker_1 :
383
+ << : *pytorch_windows_build_worker
384
+
385
+ pytorch_tutorial_windows_master_build_worker_2 :
386
+ << : *pytorch_windows_build_worker
387
+
388
+ pytorch_tutorial_windows_master_build_worker_3 :
389
+ << : *pytorch_windows_build_worker
328
390
329
391
workflows :
330
392
build :
@@ -562,11 +624,48 @@ workflows:
562
624
branches :
563
625
only :
564
626
- master
565
- # - pytorch_windows_build_worker:
566
- # name: win_test_worker
567
- # type: approval
568
- # filters:
569
- # branches:
570
- # only:
571
- # - master
627
+ - pytorch_tutorial_windows_pr_build_worker_0 :
628
+ filters :
629
+ branches :
630
+ ignore :
631
+ - master
632
+ - pytorch_tutorial_windows_pr_build_worker_1 :
633
+ filters :
634
+ branches :
635
+ ignore :
636
+ - master
637
+ - pytorch_tutorial_windows_pr_build_worker_2 :
638
+ filters :
639
+ branches :
640
+ ignore :
641
+ - master
642
+ - pytorch_tutorial_windows_pr_build_worker_3 :
643
+ filters :
644
+ branches :
645
+ ignore :
646
+ - master
647
+ - pytorch_tutorial_windows_master_build_worker_0 :
648
+ context : org-member
649
+ filters :
650
+ branches :
651
+ only :
652
+ - master
653
+ - pytorch_tutorial_windows_master_build_worker_1 :
654
+ context : org-member
655
+ filters :
656
+ branches :
657
+ only :
658
+ - master
659
+ - pytorch_tutorial_windows_master_build_worker_2 :
660
+ context : org-member
661
+ filters :
662
+ branches :
663
+ only :
664
+ - master
665
+ - pytorch_tutorial_windows_master_build_worker_3 :
666
+ context : org-member
667
+ filters :
668
+ branches :
669
+ only :
670
+ - master
572
671
0 commit comments