Releases: TomHeaven/pytorch-osx-build
pytorch-1.5.0-py37-cuda10.1-cudnn7.6.5
This release is built for Pytorch 1.5.0 (py37) on Mac OS X 10.13 with GPU (CUDA) support.
Supported CUDA compute capability: 3.5,5.0,5.2,6.1,7.0.
OpenMP, CUDA 10.1 and CuDNN 7.6.5 are required. You can install OpenMP by
brew install libomp
brew link --overwrite libomp
If you are using an Nvidia Titan V GPU, ensure your GPU driver version is exactly 387.10.10.15.15.108 and CUDA driver version is 418.105.
MAGMA Support
MAGMA support is required by GPU algebra algorithms such as torch.inverse()
applied to GPU tensors. You need to install a few dependencies to make it work:
- unzip
magma.zip
to/usr/local/lib
- download
usr_local_lib
from the master branch an put the dylib files into/usr/local/lib
.
There are a few questions you may be interested in:
Q1: Why change your environment from CUDA 10/CuDNN 7.4(XCode 9.4.1) to CUDA10.1/CuDNN 7.6.5 (XCode 10.1)?
Ans: There are a few benefits to do so:
- CUDNN 7.6.5 brings some performance improvement especially for Nvidia Titan V.
- XCode 10.1 fix some compilation bugs of XCode 9.4.1, which prevent recent Tensorflow versions from successful build on macOS. In order to provide a consistent environment for Tensorflow, I have to update my environment.
Q2: Why don't use the latest CUDA 10.2?
Ans: There is no CuDNN 7.6.5 support of CUDA 10.2 from Nvidia on macOS. It seems they are ready to stop support for macOS.
Q3: Why don't use newer XCode?
Ans: Because XCode 10.1 is the latest version that is compatible with macOS 10.13.6.
Besides, Python 2.7 is deprecated for about six months and no more support will be provided.
pytorch-1.5.0-py27-py37-cuda10-cudnn74
This release is built for Pytorch 1.5.0 (py27, py37) on Mac OS X 10.13 with GPU (CUDA) support. If you need GPU ops such as nms from torchvision, install torchvision-0.6.0a0+b68adcf-cp37-cp37m-macosx_10_13_x86_64.whl
from this release rather than other sources (GPU ops not included).
Supported CUDA compute capability: 3.5,5.0,5.2,6.1,7.0. (Support for compute capability 3.0 is dropped by Pytorch, do NOT use this release if you are using old GPUs with compute capability 3.0!
)
OpenMP, CUDA 10.0 and CuDNN 7.4 are required. You can install OpenMP by
brew install libomp
brew link --overwrite libomp
Without MAGMA Support
Download torch-1.5.0-cp27-cp27m-macosx_10_13_intel.whl
for Python 2.7 and torch-1.5.0-cp37-cp37m-macosx_10_13_x86_64.whl
for Python3.7 without MAGMA (Matrix Algebra on GPU and Multicore Architectures) support. Directly install them using pip/pip3.
With MAGMA Support
All previous releases are without MAGMA support. It is required by GPU algebra algorithms such as torch.inverse()
applied to GPU tensors.
Wheel package torch-1.5.0.post2-cp37-cp37m-macosx_10_13_x86_64.whl
is with MAGMA support for Python 3.7. However, you need to install a few dependencies to make it work:
- unzip
magma.zip
to/usr/local/lib
- download
usr_local_lib
from the master branch an put the dylib files into/usr/local/lib
.
Currently, there is no NCCL support in this release due to major changes made to NCCL related modules. If you need distributed GPU training in pytorch, use the release v1.4.0 with NCCL support instead.
I've manage to solve most of compilation problems in v1.5.0 with NCCL but CMake still raise errors and cannot detect AppleClang as its ASM compiler. I will try to compile with NCCL again in my spare time.
pytorch-1.4.0-py27-py37-cuda10-cudnn74
This release is built for Pytorch 1.4.0 (py27, py37) on Mac OS X 10.13 with GPU (CUDA) support. If you need GPU ops such as nms from torchvision, install torchvision-0.5.0a0+85b8fbf-cp37-cp37m-macosx_10_13_x86_64.whl
from this release rather than other sources (GPU ops not included).
It contains an experimental build torch-1.4.0-cp37-cp37m-macosx_10_13_x86_64.whl_with_nccl.zip
for Python 3.7 with distributed GPU training feature enabled. Now you can use distributed GPU training with gloo backend. The following code is a demo:
import torch
# Initializes the distributed backend which will take care of sychronizing nodes/GPUs
torch.distributed.init_process_group(backend='gloo', init_method='env://') # working
# RuntimeError: NCCL error in: ../torch/lib/c10d/ProcessGroupNCCL.cpp:400, unhandled system error
#torch.distributed.init_process_group(backend='nccl', init_method='env://')
Note nccl backend will fail at unhandled system error
and there is currently no fix.
Supported CUDA compute capability: 3.5,5.0,5.2,6.1,7.0. (Support for compute capability 3.0 is dropped by Pytorch, do NOT use this release if you are using old GPUs with compute capability 3.0!
)
OpenMP, CUDA 10.0 and CuDNN 7.4 are required. You can install OpenMP by
brew install libomp
brew link --overwrite libomp
OpenMPI enables only distributed CPU training, which is actually useless on Mac OS and thus removed from dependencies.
Note CUDA 10 driver cannot work normally on Mac OS 10.12. Therefore, you have to upgrade to 10.13 to use CUDA 10.
You can install python 3.7 by
brew install python
or download the latest Anaconda.
pytorch-1.3.1-py27-py37-cuda10-cudnn74
This release version is built for Pytorch 1.3.1 (py27, py37) on Mac OS X 10.13 with GPU (CUDA) support.
Supported CUDA compute capability: 3.5,5.0,5.2,6.1,7.0. (Support for compute capability 3.0 is dropped by Pytorch, do NOT use this release if you are using old GPUs with compute capability 3.0!
)
OpenMP, OpenMPI, CUDA 10.0 and CuDNN 7.4 are required. You can install OpenMP and OpenMPI by
brew install libomp
brew link --overwrite libomp
brew install open-mpi
Note CUDA 10 driver cannot work normally on Mac OS 10.12. Therefore, you have to upgrade to 10.13 to use CUDA 10.
You can install python 3.7 by
brew install python
or download the latest Anaconda.
pytorch-1.3.0-py27-py37-cuda10-cudnn74
This release version is built for Pytorch 1.3.0 (py27, py37) on Mac OS X 10.13 with GPU (CUDA) support. If you need GPU ops such as nms from torchvision, install torchvision-0.4.0-cp37-cp37m-macosx_10_13_x86_64.whl
from this release rather than other sources.
Supported CUDA compute capability: 3.5,5.0,5.2,6.1,7.0. (Support for compute capability 3.0 is dropped by Pytorch, do NOT use this release if you are using old GPUs with compute capability 3.0!
)
OpenMP, OpenMPI, CUDA 10.0 and CuDNN 7.4 are required. You can install OpenMP and OpenMPI by
brew install libomp
brew link --overwrite libomp
brew install open-mpi
Note CUDA 10 driver cannot work normally on Mac OS 10.12. Therefore, you have to upgrade to 10.13 to use CUDA 10.
You can install python 3.7 by
brew install python
or download the latest Anaconda.
pytorch-1.2.0-py27-py37-cuda10-cudnn74
This release version is built for Pytorch 1.2.0 (py27, py37) on Mac OS X 10.13 with GPU (CUDA) support.
Supported CUDA compute capability: 3.5,5.0,5.2,6.1,7.0. (Support for compute capability 3.0 is dropped by Pytorch, do NOT use this release if you are using old GPUs with compute capability 3.0!
)
OpenMP, OpenMPI, CUDA 10.0 and CuDNN 7.4 are required. You can install OpenMP and OpenMPI by
brew install libomp
brew link --overwrite libomp
brew install open-mpi
Note CUDA 10 driver cannot work normally on Mac OS 10.12. Therefore, you have to upgrade to 10.13 to use CUDA 10.
You can install python 3.7 by
brew install python
or download the latest Anaconda.
【Known Issue with original pytorch 1.2.0】Original pytorch 1.2.0 will produce RuntimeError: CUDA error: unspecified launch failure
and cannot use CUDA on Mac OS X. I created an issue in pytorch repo pytorch/pytorch#25693 to report the problem and used pull pytorch/pytorch#25553 to fix the problem. The release is working now.
pytorch-1.1.0-py27-py37-cuda10-cudnn74
This release version is built for Pytorch 1.1.0 (py27, py37) on Mac OS X 10.13 with GPU (CUDA) support.
Supported CUDA compute capability: 3.0,3.5,5.0,5.2,6.1,7.0. (All possible capabilities are added according to user request.)
OpenMP, OpenMPI, CUDA 10.0 and CuDNN 7.4 are required. You can install OpenMP and OpenMPI by
brew install libomp
brew link --overwrite libomp
brew install open-mpi
Note CUDA 10 driver cannot work normally on Mac OS 10.12. Therefore, you have to upgrade to 10.13 to use CUDA 10.
You can install python 3.7 by
brew install python
or download the latest Anaconda.
pytorch-1.0.1-py27-py37-cuda10-cudnn74
This release version is built for Pytorch 1.0.1 (py27, py37) on Mac OS X 10.13 with GPU (CUDA) support.
Supported CUDA compute capability: 3.5,5.2,6.1,7.0. (Support for 3.0 is dropped and 7.0 is added compared with previous releases.)
OpenMP, CUDA 10.0 and CuDNN 7.4 are required. You can install OpenMP by
brew install libomp
brew link --overwrite libomp
Note CUDA 10 driver cannot work normally on Mac OS 10.12. Therefore, you have to upgrade to 10.13 to use CUDA 10.
You can install python 3.7 by
brew install python
or download the latest Anaconda.
pytorch-1.0-py27-py37-cuda10-cudnn74
This release version is built for Pytorch 1.0 (py27, py37) on Mac OS X 10.13 with GPU (CUDA) support.
OpenMP, CUDA 10.0 and CuDNN 7.4 are required. You can install OpenMP by
brew install libomp
brew link --overwrite libomp
Note CUDA 10 driver cannot work normally on Mac OS 10.12. Therefore, you have to upgrade to 10.13 to use CUDA 10.
Starting from this release, support for python 3.6 will be dropped. Please use Python 3.7 instead or use this previous release. You can install python 3.7 by
brew install python
or download the latest Anaconda.
pytorch-1.0-py27-py36-py37-cuda90-cudnn70
This release version is built for Pytorch 1.0 (py27, py36, py37) on Mac OS X 10.12+ with GPU (CUDA) support.
OpenMP, CUDA 9.0 and CuDNN 7 are required. You can install OpenMP by
brew install libomp
brew link --overwrite libomp