• !! Outdated: nvidia does not released cudnn7.1 for macosx
  • Disable SIP.

  • Install cuda-8. Though cuda-9 released for High Sierra, cudnn-7 is not available for mac osx. After installation upgrade cuda driver through system preference panel, as shown below. If not upgrade to newest cuda driver the compiled application cannot run on High Sierra. cuda-8 only has 10.12 version, but it’s fine.
    CUDA panel Upgrade CUDA driver

  • Download cudnn-v6 for mac osx from Nvidia cudnn and install it.

  • Install Xcode-8.2.x, either 8.2 or 8.2.1 is fine, based on documents of cuda-8.0.61. Download Xcode from Apple Developers Download Center. We can install different versions of Xcode by renaming Xcode to Xcode_8_2. Once installed, select right version for Command Line Tools, by preference panel of Xcode as shown in following. Choose CLT

  • Config environment variables in .zshrc or .bash_profile or other shell configurations. Add following content:
    export DYLD_LIBRARY_PATH=/usr/local/cuda/lib:$DYLD_LIBRARY_PATH
    export LD_LIBRARY_PATH=/usr/local/cuda/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
    
  • Make sure anaconda has installed and upgraded needed packages.
    conda install numpy pyyaml setuptools cmake cffi # provided by pytorch README
    # I remember some packages need newest version of mkl which is 2018-01, but default mkl in anaconda is mkl2017
    conda upgrade mkl 
    
  • Start compiling (last command is optional):
    export CMAKE_PREFIX_PATH=[anaconda root directory] # temporal env variable
    # get source code
    # following command will get newest pytorch v0.4.0
    git clone --recursive https://github.com/pytorch/pytorch
    cd pytorch
    # make and install
    # it is fine using target 10.9; 
    MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python setup.py install
    # Optional !!!!!! if it failed before; do clean first
    MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python setup.py clean