-
Notifications
You must be signed in to change notification settings - Fork 7.2k
Windows build scripts #1241
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows build scripts #1241
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1241 +/- ##
==========================================
- Coverage 65.84% 65.77% -0.07%
==========================================
Files 75 75
Lines 5785 5785
Branches 885 885
==========================================
- Hits 3809 3805 -4
- Misses 1710 1713 +3
- Partials 266 267 +1
Continue to review full report at Codecov.
|
@ezyang The yaml file for Azure Pipelines is added as |
echo "CUDA version should be M.m with no dot, e.g. '8.0' or 'cpu'" | ||
exit 1 | ||
fi | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Heads up: this script is no longer used by the Linux/OS X binary builds (I didn't delete it because Windows still needs it), instead packaging/build_conda.sh
is what is used. It would pretty awesome if we could also unify these packaging scripts, but I only really want to do it if we can keep the packaging on the shorter side. In the meantime, you can rename / simplify this script so that it is Windows only.
- NVCC_FLAGS | ||
features: | ||
{{ CONDA_CPUONLY_FEATURE }} | ||
{{ environ.get('CONDA_CPUONLY_FEATURE') }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice catch, I wonder how this ever worked lol
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I gave you commit bits so you can merge these changes directly
@peterjc123 what's the status of this PR? |
It runs fine for building binaries, but for nightlies, it requires our own machines, which cannot be satisfied. |
@peterjc123 so this is a superset of the Windows improvements you did in #1298? |
yes, you could say that. But it was actually a different direction, which tries to do releases using Azure Pipelines, not CircleCI. |
@peterjc123 from the discussion in pytorch/pytorch#24859 (comment), what do you think about updating this patch to instead run everything on CircleCI? cc @ezyang |
The problem is the limited parallelism (only 10x). @ezyang Have you talked about it with a related person? |
@peterjc123 Wait, I thought you were referring to Azure parallelism when you said we only got 10x parallelism. I can file a ticket with CircleCI to check what our Windows parallelism is, but I'm pretty sure we get more than 10x. |
You'll have to actually run the builds on PRs on these repositories, though, to get our limits. |
@ezyang Well, I misunderstood what @fmassa said. I was thinking that he wanted me to continue doing releases using Azure Pipelines. But actually, he needs CircleCI instead. I think it's feasible to add GPU CI for Windows. However, for releases, we may need to install some old versions of CUDA that is unsupported in CircleCI. (Windows Server 2019 is currently the only supported option for Windows on CircleCI and only CUDA 10.1 supports Windows Server 2019.) What's more, old CUDA leads to old VS and I haven't managed to install them in a Windows container. (The technology CircleCI based on) |
@soumith Do you know what our planned support window for CUDA 9.2 will be? My guess is we'd keep supporting it until CUDA 11 comes out... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ezyang Could you please upload these binaries to ossci-windows?
curl -k -L https://www.dropbox.com/s/z5b7ryz0zrimntl/cuda_9.0.176_windows.7z?dl=1 --output "%SRC_DIR%\temp_build\cuda_9.0.176_windows.7z" | ||
:cuda92 | ||
if not exist "%SRC_DIR%\temp_build\cuda_9.2.148_win10.exe" ( | ||
curl -k -L https://developer.nvidia.com/compute/cuda/9.2/Prod2/local_installers2/cuda_9.2.148_win10 --output "%SRC_DIR%\temp_build\cuda_9.2.148_win10.exe" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
IF NOT EXIST "%SRC_DIR%\temp_build\cudnn-9.0-windows7-x64-v7.zip" ( | ||
curl -k -L https://www.dropbox.com/s/6p0xyqh472nu8m1/cudnn-9.0-windows7-x64-v7.zip?dl=1 --output "%SRC_DIR%\temp_build\cudnn-9.0-windows7-x64-v7.zip" | ||
if not exist "%SRC_DIR%\temp_build\cudnn-9.2-windows10-x64-v7.2.1.38.zip" ( | ||
curl -k -L https://downloads.sourceforge.net/project/cuda-dnn/7/CUDA-9.2/cudnn-9.2-windows10-x64-v7.2.1.38.zip --output "%SRC_DIR%\temp_build\cudnn-9.2-windows10-x64-v7.2.1.38.zip" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
IF NOT EXIST "%SRC_DIR%\temp_build\cuda_9.1.85_windows.7z" ( | ||
curl -k -L https://www.dropbox.com/s/7a4sbq0dln6v7t2/cuda_9.1.85_windows.7z?dl=1 --output "%SRC_DIR%\temp_build\cuda_9.1.85_windows.7z" | ||
if not exist "%SRC_DIR%\temp_build\cuda_10.0.130_411.31_win10.exe" ( | ||
curl -k -L https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_411.31_win10 --output "%SRC_DIR%\temp_build\cuda_10.0.130_411.31_win10.exe" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
IF NOT EXIST "%SRC_DIR%\temp_build\cudnn-9.1-windows7-x64-v7.zip" ( | ||
curl -k -L https://www.dropbox.com/s/e0prhgsrbyfi4ov/cudnn-9.1-windows7-x64-v7.zip?dl=1 --output "%SRC_DIR%\temp_build\cudnn-9.1-windows7-x64-v7.zip" | ||
if not exist "%SRC_DIR%\temp_build\cudnn-10.0-windows10-x64-v7.4.1.5.zip" ( | ||
curl -k -L https://www.dropbox.com/s/9v1z9rmbjw9mhx2/cudnn-10.0-windows10-x64-v7.4.1.5.zip?dl=1 --output "%SRC_DIR%\temp_build\cudnn-10.0-windows10-x64-v7.4.1.5.zip" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
Future work: We can use Windows container to save time (~14 min to install VS and CUDA). |
These are nightly binaries right? We should just setup automatic upload. Does Azure have a way to add private environment variables? If so, I can give you S3 creds to the nightlies bucket. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, go for it!
No, these are the installers of CUDA and cuDNN. According to the packer-windows scripts, they should have of the URL of https://s3.amazonaws.com/ossci-windows/win2016/******. I'll wait until these binaries are uploaded and then change the URLs in this PR. |
@ezyang Looks like I've uploaded these wheels by mistake, could you please remove them in https://download.pytorch.org/whl/nightly/cpu? |
Done |
I misunderstood your comment :) Working on it. |
Awesome, thanks a lot @peterjc123 ! |
No description provided.