-
Notifications
You must be signed in to change notification settings - Fork 0
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
How to build machine image (AMI) to run test pipeline on Windows #7
Comments
@trivialfis It looks like I have to re-build Windows machines from scratch. So I'll go ahead and document all steps as I go. |
Note to myself: CUDA 9.0 is quite old and doesn't work with Visual Studio 15.9 (latest update of VS 2017). For now, stick with Visual Studio 15.0. We should consider upgrading CUDA eventually, as there are some C++11 features that Visual Studio 15.0 does not support but 15.9 does. See https://docs.microsoft.com/en-us/cpp/overview/visual-cpp-language-conformance?view=vs-2019#compiler-features |
Note: CUDA 10.0 is not compatible with Tesla T4, at least on Windows. Note: CUDA 10.2 is now out. We should probably support it. |
Now we have an automated build pipeline for Windows worker image. See dmlc/xgboost#8142 |
The testing pipeline consists of two stages:
We require separate machine images for Steps 1 and 2.
Build machine: Windows 2012 R2, CUDA 9.0, Visual Studio 2017
xgboost-ci
key pair when prompted for a key pair.ninja.exe
inC:\Ninja
directory and addC:\Ninja
to the system PATH environment variable.After Miniconda is fully installed, go to the Start menu and run "Anaconda Prompt (Miniconda)." This is a special terminal we use to configure Conda. Run
conda init
in the terminal. Now we can use Conda environment in ordinary Command Prompt or Powershell, just by runningconda activate
.8 Open Command Prompt and activate Conda environment with command
conda activate
. Then install essential Python packages:You will see that it is possible to compile CUDA programs using a machine without an NVIDIA GPU. However, running it would require a GPU.
12. Install OpenSSH for Windows by following instructions in this page. Set up public key authentication, with the private key
xgboost-ci
. (Mess this up, and the Jenkins master won't be able to SSH into the Windows workers.) Make sure to follow advice in PowerShell/Win32-OpenSSH#1306 (comment). Note: all changes in the SSH configuration take effect when you restart two Windows services associated with OpenSSH.13. Set a password you can remember. This is important because the EC2 console cannot retrieve Windows password from a custom AMI.
14. Stop the instance again and create an AMI from the stopped instance.
Testing machine: Windows Server 2008 R2, no GPU
Note that you don't need Visual Studio to run tests.
xgboost-ci
key pair when prompted for a key pair.conda activate
. Then install essential Python packages:C:\Program Files (x86)\Graphviz2.38\bin
to the system PATH. (Search "Edit the system environment variables from the Start menu.) To check, open a new Command Prompt and rundot -V
command. Then install thegraphviz
python package by runningconda activate && pip install graphviz
.Testing machine: Windows Server 2012 R2, CUDA 9.0
xgboost-ci
key pair when prompted for a key pair.conda activate
. Then install essential Python packages:C:\Program Files (x86)\Graphviz2.38\bin
to the system PATH. (Search "Edit the system environment variables from the Start menu.) To check, open a new Command Prompt and rundot -V
command. Then install thegraphviz
python package by runningconda activate && pip install graphviz
.testxgboost.exe
) will be able to run without crashing.Testing machine: Windows Server 2016, CUDA 10.0
Carry out all steps in the previous section, with following changes:
Testing machine: Windows Server 2019, CUDA 10.1
Carry out all steps in the previous section, with following changes:
The text was updated successfully, but these errors were encountered: