After a long wait, the GPU VM has become generally available on MS Azure service. I will use it to test the capability of VASP-GPU version before deciding to invest in the pricey GPU servers at our center. As a beginning, I reference by setting on the previous work, which setup a previewed NC6 unit for deep learning application [Cortana Intelligence and ML Blog Team].
For our test, I used the cheapest model of NC6 VM at South Central US equipped with 6 CPU cores + 1 K80 GPU pricing at $1.08/hr. To minimize the cost, I put it on a HDD storage. At first, I tried using OpenSuSe 13.2 but the NC6 become unavailable so I used Ubuntu 16.04 LTS instead.
First, I followed the cuda installation instruction by Cortana team. Here are the steps:
- The first step is to install the dependencies:
sudo apt-get install -y make unzip git gcc g++ libcurl4-openssl-dev libssl-dev
followed by update to alternatives for cc:
sudo update-alternatives –install /usr/bin/cc cc /usr/bin/gcc 50
- Install cuda driver & toolkit
chmod 755 cuda_8.0.44_linux.run
sudo ./cuda_8.0.44_linux.run –override
- Enabling the CUDA persistence mode.
sudo nvidia-smi -pm 1
To make things easier, I put it in a bash script for ease of use next time I restart the machine.
Then the cuda part is ready to go. Next, I set up the compilers & MPI environment. To make it short, I tried several solutions on Ubuntu that does not work:
- OpenMPI 2.0.0 + gfortran
- OpenMPI 1.10.5 + Intel Compiler
- OpenMPI 2.0.0 + Intel Compiler
- OpenMPI 2.0.1 + Intel Compiler
It seems that the working solution is MPICH2-3.2 + Intel Compiler. Now, the compilation without VTST code. Next, I’ll try compiling MPICH2-3.2 + Intel Compiler with VTST code applied.