SOME FEATURES NOT AVAILABLE.
Python version:3.8.10
- Install Requirements
sudo apt-get install python3-dev python3-pip python3-setuptools \
build-essential cmake libatlas-base-dev \
libavcodec-dev libavformat-dev libavutil-dev \
libswscale-dev libjpeg-dev libpng-dev libtiff-dev \
libv4l-dev libxvidcore-dev libx264-dev \
libopenblas-dev liblapack-dev libhdf5-dev \
libprotobuf-dev protobuf-compiler libgflags-dev \
libgoogle-glog-dev liblmdb-dev libsnappy-dev \
libiomp-dev
- Clone github repo
git clone --recursive https://github.com/pytorch/pytorch
git checkout v1.4.0
git submodule sync
git submodule update --init --recursive
Modify cuda.make(/the/path/to/Pytorch/cmake/public/cuda.make)
line 150
file(READ ${CUDNN_INCLUDE_PATH}/cudnn.h CUDNN_HEADER_CONTENTS)
Replace it to
if(EXISTS ${CUDNN_INCLUDE_PATH}/cudnn_version.h)
file(READ ${CUDNN_INCLUDE_PATH}/cudnn_version.h CUDNN_HEADER_CONTENTS)
else()
file(READ ${CUDNN_INCLUDE_PATH}/cudnn.h CUDNN_HEADER_CONTENTS)
endif()
Modify CMakeLists.txt(/the/path/to/Pytorch/third_party/QNNPACK/deps/clog/CMakeLists.txt)
line 66
TARGET_INCLUDE_DIRECTORIES(clog BEFORE PUBLIC include)
Replace it to
TARGET_INCLUDE_DIRECTORIES(clog PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
After line 74
ENDIF()
add
add_library(cpuinfo::clog ALIAS clog)
After line 75
INSTALL(TARGETS clog
add
EXPORT cpuinfo-targets
Modify SparseCUDABlas.cu(/the/path/to/Pytorch/aten/src/ATen/native/sparse/cuda/SparseCUDABlas.cu)
line 118
TORCH_CUDASPARSE_CHECK(cusparseScsrmm2(handle, opa, opb, i_m, i_n, i_k, i_nnz, &alpha, desc, csrvala, csrrowptra, csrcolinda, b, i_ldb, &beta, c, i_ldc));
Comment it
line 141
TORCH_CUDASPARSE_CHECK(cusparseDcsrmm2(handle, opa, opb, i_m, i_n, i_k, i_nnz, &alpha, desc, csrvala, csrrowptra, csrcolinda, b, i_ldb, &beta, c, i_ldc));
Comment it
- build
cd pytorch(include setup.py)
export CMAKE_PREFIX_PATH=${PWD}/libtorch
env BUILD_CAFFE2_OPS=0 python setup.py build develop
python setup.py install
Note: Your path to pytorch can't include Chinese characters or spaces!
If something wrong, please input
python setup.py clean