Skip to content

Releases: TomHeaven/pytorch-osx-build

pytorch-2.0.0-py39-cuda10.1-cudnn7.6.5

22 Mar 04:33
Compare
Choose a tag to compare

This release is built for Pytorch 2.0.0 (py39) and torch vision & text 0.15.1 (py39) on Mac OS X 10.13 with GPU (CUDA) support.
Supported CUDA compute capability: 3.5,5.0,5.2,6.1,7.0. CUDA 10.1 and CuDNN 7.6.5 are required.

Note Python 3.7 is no longer supported by Pytorch 2.0.0. So I decided to upgrade my Python environment to Python3.9, which can easily done by

brew unlink [email protected]
brew install [email protected]

Dependencies

OpenMP

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

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-2.6.2.zip to /usr/local/lib
  • download usr_local_lib from the master branch an put the dylib files into /usr/local/lib.

Features

Distributed Module Support

  • Unzip nccl_osx_2.5.8.zip to /usr/local folder. That is to say, put header files in include to /usr/local/include and library files in lib to /usr/local/lib.
  • torch.distributed module is enabled with BOTH nccl and gloo backends now. It enables distributed GPU training for many existing training programs.

torch.compile

Pytorch 2.0.0 introduces a new mechanism by opt_model = torch.compile(model) to accelerate execution. For CPU tensors, the function works fine on macOS. For GPU tensors, however, the function only partially works with an Nvidia Titan V GPU (which is the only GPU both working on macOS and supported by torch.compile for GPU tensors ) and the triton package.

Here is a working demo:

import torch
from torchvision.models import resnet50
def foo(x, y):
    a = torch.sin(x)
    b = torch.cos(x)
    return a + b
# gpu tensor computation works with torch.compile (with an Nvidia Titan V GPU)
opt_foo1 = torch.compile(foo)
input = torch.randn(10,10).cuda()
print(opt_foo1(input, input))

# cpu tensors with resnet50 works with torch.compile
model = resnet50()
opt_model = torch.compile(model)
input = torch.rand(1,3,224,224)
output = opt_model(input)

Here is a failed demo:

import torch
from torchvision.models import resnet50
# gpu tensors with resnet50 failed with torch.compile
model = resnet50()
opt_model = torch.compile(model).cuda()
input = torch.rand(1,3,224,224).cuda()
output = opt_model(input)

The cause of the failure is that ptxas binary (from CUDA SDK 10.1 for macOS) detects a syntax error in the intermediate representation (IR) code due to its outdated version. The details about the failure will be present in console starting with DEBUG INFO.
Hacking the source from Linux CUDA 11 SDK to get a new version of ptxas for macOS might be a solution, but it is beyond the scope of this project.

pytorch-1.13.1-py37-cuda10.1-cudnn7.6.5

31 Jan 16:26
Compare
Choose a tag to compare

This release is built for Pytorch 1.13.1 (py37) and torch vision & text 0.12.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-2.6.2.zip to /usr/local/lib
  • download usr_local_lib from the master branch an put the dylib files into /usr/local/lib.

Distributed Module Support

  • Unzip nccl_osx_2.5.8.zip to /usr/local folder. That is to say, put header files in include to /usr/local/include and library files in lib to /usr/local/lib.
  • torch.distributed module is enabled with BOTH nccl and gloo backends now. It enables distributed GPU training for many existing training programs.

pytorch-1.11.0-py37-cuda10.1-cudnn7.6.5

25 Mar 08:06
Compare
Choose a tag to compare

This release is built for Pytorch 1.11.0 (py37) and torch vision & text 0.12.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-2.6.2.zip to /usr/local/lib
  • download usr_local_lib from the master branch an put the dylib files into /usr/local/lib.

Distributed Module Support

  • Unzip nccl_osx_2.5.8.zip to /usr/local folder. That is to say, put header files in include to /usr/local/include and library files in lib to /usr/local/lib.
  • torch.distributed module is enabled with BOTH nccl and gloo backends now. It enables distributed GPU training for many existing training programs.

pytorch-1.10.0-py37-cuda10.1-cudnn7.6.5(Distributed)

24 Mar 03:54
Compare
Choose a tag to compare

This release is built for Pytorch 1.10.0 (py37) and torch vision 0.10.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-2.6.2.zip to /usr/local/lib
  • download usr_local_lib from the master branch an put the dylib files into /usr/local/lib.

Fixes

  • torch.eig() with CUDA is fixed. Now it works with the above pre-built magma-2.6.2 in place.
  • torch.distributed module is enabled with gloo backend only. It enables distributed GPU training for many existing training programs. Remember to use gloo backend instead of nccl.

pytorch-1.10.0-py37-cuda10.1-cudnn7.6.5

18 Feb 05:39
Compare
Choose a tag to compare

This release is built for Pytorch 1.10.0 (py37) and torch vision 0.10.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.

Known Issues

  • torch.eig() with CUDA is broken. Use v1.7.0 if you need it.
  • torch.distributed module is disabled. Use v1.7.0 if you need it.

pytorch-1.9.0-py37-cuda10.1-cudnn7.6.5

11 Aug 09:29
Compare
Choose a tag to compare

This release is built for Pytorch 1.9.0 (py37) and torch vision 0.10.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.

Known Issues

  • torch.eig() with CUDA is broken. Use v1.7.0 if you need it.
  • torch.distributed module is disabled. Use v1.7.0 if you need it.

pytorch-1.8.0-py37-cuda10.1-cudnn7.6.5

07 Mar 05:33
Compare
Choose a tag to compare

This release is built for Pytorch 1.8.0 (py37) and torch vision 0.9.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.

Known Issues

  • torch.eig() with CUDA is broken. Use v1.7.0 if you need it.

pytorch-1.7.0-py37-cuda10.1-cudnn7.6.5

31 Oct 12:30
Compare
Choose a tag to compare

This release is built for Pytorch 1.7.0 (py37) and torch vision 0.8.0 (py37) on Mac OS X 10.13 with GPU (CUDA) support.

Pytorch 1.7.0 relies on a pip wheel package named dataclasses. You should install the package from this release rather than from other sources.

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.

Distributed GPU Training Support

Pytorch 1.7.0 officially supports distributed GPU training on Windows using Gloo backend. A good news is that the distributed GPU training works on macOS, too. Simply install libuv by

brew install libuv

and use the newly uploaded wheel file in this release, the distributed feature is enabled by default.

pytorch-1.6.0-py37-cuda10.1-cudnn7.6.5

31 Jul 01:10
Compare
Choose a tag to compare

This release is built for Pytorch 1.6.0 (py37) and torch vision 0.7.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.

pytorch-1.6.0-py37-cuda10-cudnn7.6.5

30 Jul 10:31
Compare
Choose a tag to compare

This release is built for Pytorch 1.6.0 (py37) on Mac OS X 10.13 with GPU (CUDA) support. If you need GPU ops such as nms from torchvision, install torchvision-0.7.0a0+78ed10c-cp37-cp37m-macosx_10_12_x86_64.whl from this release rather than other sources.

Supported CUDA compute capability: 3.5,5.0,5.2,6.1,7.0.

OpenMP, CUDA 10 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.