Skip to content

Commit 0176dc8

Browse files
committed
[test]test for windows build
1 parent 43e3eb7 commit 0176dc8

File tree

4 files changed

+84
-232
lines changed

4 files changed

+84
-232
lines changed

.circleci/config.yml

Lines changed: 23 additions & 232 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
version: 2.1
22

3+
executors:
4+
windows-with-nvidia-gpu:
5+
machine:
6+
resource_class: windows.gpu.nvidia.medium
7+
image: windows-server-2019-nvidia:stable
8+
shell: bash.exe
9+
310
install_official_git_client: &install_official_git_client
411
name: Install Official Git Client
512
no_output_timeout: "1h"
@@ -176,6 +183,20 @@ pytorch_tutorial_build_manager_defaults: &pytorch_tutorial_build_manager_default
176183
<<: *pytorch_tutorial_build_defaults
177184

178185
jobs:
186+
pytorch_windows_build:
187+
executor: windows-with-nvidia-gpu
188+
steps:
189+
- checkout
190+
- run:
191+
name: Install Cuda
192+
no_output_timeout: 30m
193+
command: |
194+
.circleci/scripts/windows_cuda_install.sh
195+
- run:
196+
name: test
197+
command: |
198+
.circleci/scripts/build_for_windows.sh
199+
179200
pytorch_tutorial_pr_build_worker_0:
180201
<<: *pytorch_tutorial_build_worker_defaults
181202

@@ -306,235 +327,5 @@ workflows:
306327
build:
307328
jobs:
308329
# Build jobs that only run on PR
309-
- pytorch_tutorial_pr_build_worker_0:
310-
filters:
311-
branches:
312-
ignore:
313-
- master
314-
- pytorch_tutorial_pr_build_worker_1:
315-
filters:
316-
branches:
317-
ignore:
318-
- master
319-
- pytorch_tutorial_pr_build_worker_2:
320-
filters:
321-
branches:
322-
ignore:
323-
- master
324-
- pytorch_tutorial_pr_build_worker_3:
325-
filters:
326-
branches:
327-
ignore:
328-
- master
329-
- pytorch_tutorial_pr_build_worker_4:
330-
filters:
331-
branches:
332-
ignore:
333-
- master
334-
- pytorch_tutorial_pr_build_worker_5:
335-
filters:
336-
branches:
337-
ignore:
338-
- master
339-
- pytorch_tutorial_pr_build_worker_6:
340-
filters:
341-
branches:
342-
ignore:
343-
- master
344-
- pytorch_tutorial_pr_build_worker_7:
345-
filters:
346-
branches:
347-
ignore:
348-
- master
349-
- pytorch_tutorial_pr_build_worker_8:
350-
filters:
351-
branches:
352-
ignore:
353-
- master
354-
- pytorch_tutorial_pr_build_worker_9:
355-
filters:
356-
branches:
357-
ignore:
358-
- master
359-
- pytorch_tutorial_pr_build_worker_10:
360-
filters:
361-
branches:
362-
ignore:
363-
- master
364-
- pytorch_tutorial_pr_build_worker_11:
365-
filters:
366-
branches:
367-
ignore:
368-
- master
369-
- pytorch_tutorial_pr_build_worker_12:
370-
filters:
371-
branches:
372-
ignore:
373-
- master
374-
- pytorch_tutorial_pr_build_worker_13:
375-
filters:
376-
branches:
377-
ignore:
378-
- master
379-
- pytorch_tutorial_pr_build_worker_14:
380-
filters:
381-
branches:
382-
ignore:
383-
- master
384-
- pytorch_tutorial_pr_build_worker_15:
385-
filters:
386-
branches:
387-
ignore:
388-
- master
389-
- pytorch_tutorial_pr_build_worker_16:
390-
filters:
391-
branches:
392-
ignore:
393-
- master
394-
- pytorch_tutorial_pr_build_worker_17:
395-
filters:
396-
branches:
397-
ignore:
398-
- master
399-
- pytorch_tutorial_pr_build_worker_18:
400-
filters:
401-
branches:
402-
ignore:
403-
- master
404-
- pytorch_tutorial_pr_build_worker_19:
405-
filters:
406-
branches:
407-
ignore:
408-
- master
409-
- pytorch_tutorial_pr_build_manager:
410-
filters:
411-
branches:
412-
ignore:
413-
- master
414-
# Build jobs that only run on master
415-
- pytorch_tutorial_master_build_worker_0:
416-
context: org-member
417-
filters:
418-
branches:
419-
only:
420-
- master
421-
- pytorch_tutorial_master_build_worker_1:
422-
context: org-member
423-
filters:
424-
branches:
425-
only:
426-
- master
427-
- pytorch_tutorial_master_build_worker_2:
428-
context: org-member
429-
filters:
430-
branches:
431-
only:
432-
- master
433-
- pytorch_tutorial_master_build_worker_3:
434-
context: org-member
435-
filters:
436-
branches:
437-
only:
438-
- master
439-
- pytorch_tutorial_master_build_worker_4:
440-
context: org-member
441-
filters:
442-
branches:
443-
only:
444-
- master
445-
- pytorch_tutorial_master_build_worker_5:
446-
context: org-member
447-
filters:
448-
branches:
449-
only:
450-
- master
451-
- pytorch_tutorial_master_build_worker_6:
452-
context: org-member
453-
filters:
454-
branches:
455-
only:
456-
- master
457-
- pytorch_tutorial_master_build_worker_7:
458-
context: org-member
459-
filters:
460-
branches:
461-
only:
462-
- master
463-
- pytorch_tutorial_master_build_worker_8:
464-
context: org-member
465-
filters:
466-
branches:
467-
only:
468-
- master
469-
- pytorch_tutorial_master_build_worker_9:
470-
context: org-member
471-
filters:
472-
branches:
473-
only:
474-
- master
475-
- pytorch_tutorial_master_build_worker_10:
476-
context: org-member
477-
filters:
478-
branches:
479-
only:
480-
- master
481-
- pytorch_tutorial_master_build_worker_11:
482-
context: org-member
483-
filters:
484-
branches:
485-
only:
486-
- master
487-
- pytorch_tutorial_master_build_worker_12:
488-
context: org-member
489-
filters:
490-
branches:
491-
only:
492-
- master
493-
- pytorch_tutorial_master_build_worker_13:
494-
context: org-member
495-
filters:
496-
branches:
497-
only:
498-
- master
499-
- pytorch_tutorial_master_build_worker_14:
500-
context: org-member
501-
filters:
502-
branches:
503-
only:
504-
- master
505-
- pytorch_tutorial_master_build_worker_15:
506-
context: org-member
507-
filters:
508-
branches:
509-
only:
510-
- master
511-
- pytorch_tutorial_master_build_worker_16:
512-
context: org-member
513-
filters:
514-
branches:
515-
only:
516-
- master
517-
- pytorch_tutorial_master_build_worker_17:
518-
context: org-member
519-
filters:
520-
branches:
521-
only:
522-
- master
523-
- pytorch_tutorial_master_build_worker_18:
524-
context: org-member
525-
filters:
526-
branches:
527-
only:
528-
- master
529-
- pytorch_tutorial_master_build_worker_19:
530-
context: org-member
531-
filters:
532-
branches:
533-
only:
534-
- master
535-
- pytorch_tutorial_master_build_manager:
536-
context: org-member
537-
filters:
538-
branches:
539-
only:
540-
- master
330+
- pytorch_windows_build:
331+
name: win_test
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/bash
2+
set -eux -o pipefail
3+
4+
SOURCE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
5+
pushd $SOURCE_DIR
6+
7+
#install anaconda3
8+
export CONDA_HOME="${SOURCE_DIR}/conda"
9+
export tmp_conda="${SOURCE_DIR}/conda"
10+
export miniconda_exe="${SOURCE_DIR}/miniconda.exe"
11+
rm -rf conda miniconda.exe
12+
curl -k https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe -o miniconda.exe
13+
./install_conda.bat
14+
export PATH="$(tmp_conda):$(tmp_conda)/Library/usr/bin:$(tmp_conda)/Library/bin:$(tmp_conda)/Scripts:$(tmp_conda)/bin:$PATH"
15+
16+
conda create -qyn testenv python=3.7
17+
conda activate testenv
18+
19+
#conda install -yq -c pytorch-nightly "cudatoolkit=%CUDA_VERSION_STR%" %package_name_and_version%
20+
conda install -r ../../requirements.txt
21+
22+
cd ../..
23+
make docs

.circleci/scripts/install_conda.bat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
start /wait "" "%miniconda_exe%" /S /InstallationType=JustMe /RegisterPython=0 /AddToPath=0 /D=%tmp_conda%
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/bin/bash
2+
set -eux -o pipefail
3+
4+
curl --retry 3 -kLO https://ossci-windows.s3.amazonaws.com/cuda_10.1.243_426.00_win10.exe
5+
7z x cuda_10.1.243_426.00_win10.exe -ocuda_10.1.243_426.00_win10
6+
cd cuda_10.1.243_426.00_win10
7+
mkdir cuda_install_logs
8+
9+
set +e
10+
11+
./setup.exe -s nvcc_10.1 cuobjdump_10.1 nvprune_10.1 cupti_10.1 cublas_10.1 cublas_dev_10.1 cudart_10.1 cufft_10.1 cufft_dev_10.1 curand_10.1 curand_dev_10.1 cusolver_10.1 cusolver_dev_10.1 cusparse_10.1 cusparse_dev_10.1 nvgraph_10.1 nvgraph_dev_10.1 npp_10.1 npp_dev_10.1 nvrtc_10.1 nvrtc_dev_10.1 nvml_dev_10.1 -loglevel:6 -log:"$(pwd -W)/cuda_install_logs"
12+
13+
set -e
14+
15+
if [[ "${VC_YEAR}" == "2017" ]]; then
16+
cp -r CUDAVisualStudioIntegration/extras/visual_studio_integration/MSBuildExtensions/* "C:/Program Files (x86)/Microsoft Visual Studio/2017/${VC_PRODUCT}/Common7/IDE/VC/VCTargets/BuildCustomizations/"
17+
else
18+
cp -r CUDAVisualStudioIntegration/extras/visual_studio_integration/MSBuildExtensions/* "C:/Program Files (x86)/Microsoft Visual Studio/2019/${VC_PRODUCT}/MSBuild/Microsoft/VC/v160/BuildCustomizations/"
19+
fi
20+
21+
curl --retry 3 -kLO https://ossci-windows.s3.amazonaws.com/NvToolsExt.7z
22+
7z x NvToolsExt.7z -oNvToolsExt
23+
mkdir -p "C:/Program Files/NVIDIA Corporation/NvToolsExt"
24+
cp -r NvToolsExt/* "C:/Program Files/NVIDIA Corporation/NvToolsExt/"
25+
export NVTOOLSEXT_PATH="C:\\Program Files\\NVIDIA Corporation\\NvToolsExt\\"
26+
27+
if ! ls "/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1/bin/nvcc.exe"
28+
then
29+
echo "CUDA installation failed"
30+
mkdir -p /c/w/build-results
31+
7z a "c:\\w\\build-results\\cuda_install_logs.7z" cuda_install_logs
32+
exit 1
33+
fi
34+
35+
cd ..
36+
rm -rf ./cuda_10.1.243_426.00_win10
37+
rm -f ./cuda_10.1.243_426.00_win10.exe

0 commit comments

Comments
 (0)