Merge pull request #9 from sugarme/libtorch

Libtorch
This commit is contained in:
Sugarme 2020-10-11 08:48:04 +11:00 committed by GitHub
commit 9f4538a308
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 62 additions and 18 deletions

View File

@ -1,10 +1,9 @@
package libtch
// #cgo LDFLAGS: -lstdc++ -ltorch -lc10 -ltorch_cpu -L/opt/libtorch/lib
// #cgo LDFLAGS: -lstdc++ -ltorch -lc10 -ltorch_cpu
// #cgo LDFLAGS: -L/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcudnn -lcaffe2_nvrtc -lnvrtc-builtins -lnvrtc -lnvToolsExt -lc10_cuda -ltorch_cuda
// #cgo CFLAGS: -I${SRCDIR} -O3 -Wall -Wno-unused-variable -Wno-deprecated-declarations -Wno-c++11-narrowing -g -Wno-sign-compare -Wno-unused-function
// #cgo CFLAGS: -D_GLIBCXX_USE_CXX11_ABI=1
// #cgo CFLAGS: -I/usr/local/cuda/include
// #cgo CXXFLAGS: -std=c++17 -I${SRCDIR} -g -O3
// #cgo CXXFLAGS: -I/opt/libtorch/lib -I/opt/libtorch/include -I/opt/libtorch/include/torch/csrc/api/include
import "C"

View File

@ -1,13 +1,8 @@
package libtch
// #cgo CXXFLAGS: -std=c++17 -I${SRCDIR} -g -O3
// #cgo CFLAGS: -I${SRCDIR} -O3 -Wall -Wno-unused-variable -Wno-deprecated-declarations -Wno-c++11-narrowing -g -Wno-sign-compare -Wno-unused-function
// #cgo CFLAGS: -I/usr/local/include -I/opt/libtorch/include -I/opt/libtorch/include/torch/csrc/api/include
// #cgo LDFLAGS: -lstdc++ -ltorch -lc10 -ltorch_cpu
// #cgo LDFLAGS: -L/opt/libtorch/lib -L/lib64
// #cgo CXXFLAGS: -isystem /opt/libtorch/lib
// #cgo CXXFLAGS: -isystem /opt/libtorch/include
// #cgo CXXFLAGS: -isystem /opt/libtorch/include/torch/csrc/api/include
// #cgo CXXFLAGS: -isystem /opt/libtorch/include/torch/csrc
// #cgo CFLAGS: -I/usr/local/include
// #cgo CFLAGS: -D_GLIBCXX_USE_CXX11_ABI=1
// #cgo LDFLAGS: -lstdc++ -ltorch -lc10 -ltorch_cpu -L/lib64
// #cgo CXXFLAGS: -std=c++17 -I${SRCDIR} -g -O3
import "C"

9
libtch/lib.go.gpu Normal file
View File

@ -0,0 +1,9 @@
package libtch
// #cgo LDFLAGS: -lstdc++ -ltorch -lc10 -ltorch_cpu
// #cgo LDFLAGS: -L/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcudnn -lcaffe2_nvrtc -lnvrtc-builtins -lnvrtc -lnvToolsExt -lc10_cuda -ltorch_cuda
// #cgo CFLAGS: -I${SRCDIR} -O3 -Wall -Wno-unused-variable -Wno-deprecated-declarations -Wno-c++11-narrowing -g -Wno-sign-compare -Wno-unused-function
// #cgo CFLAGS: -D_GLIBCXX_USE_CXX11_ABI=1
// #cgo CFLAGS: -I/usr/local/cuda/include
// #cgo CXXFLAGS: -std=c++17 -I${SRCDIR} -g -O3
import "C"

View File

@ -1,7 +1,31 @@
#!/bin/bash
sudo rm -rf /opt/libtorch
# Env
export GOTCH_VERSION="v0.1.0"
export LIBTORCH="$GOPATH/pkg/mod/github.com/sugarme/gotch@$GOTCH_VERSION/libtch"
export LIBRARY_PATH=$LIBTORCH/lib
export CPATH=$CPATH:$LIBTORCH/lib:$LIBTORCH/include:$LIBTORCH/include/torch/csrc:$LIBTORCH/include/torch/csrc/api/include
export LD_LIBRARY_PATH=$LIBTORCH/lib:$LD_LIBRARY_PATH
# Precompiled libtorch
sudo rm -rf $LIBTORCH
mkdir -p $LIBTORCH
wget -O /tmp/libtorch-cxx11-abi-shared-with-deps-1.5.1+cpu.zip https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-1.5.1%2Bcpu.zip
unzip /tmp/libtorch-cxx11-abi-shared-with-deps-1.5.1+cpu.zip -d /opt
sudo echo LIBTORCH=/opt/libtorch >> $HOME/.bashrc
sudo echo LD_LIBRARY_PATH=${LIBTORCH}/lib:$LD_LIBRARY_PATH >> $HOME/.bashrc
unzip /tmp/libtorch-cxx11-abi-shared-with-deps-1.5.1+cpu.zip -d $LIBTORCH
# Update .bashrc
FILE='$HOME/.bashrc'
LN_LIBTORCH = 'export LIBTORCH="$GOPATH/pkg/mod/github.com/sugarme/gotch@$GOTCH_VERSION/libtch"'
LN_LIBRARY_PATH = 'export LIBRARY_PATH=$LIBTORCH/lib'
LN_CPATH = 'export CPATH=$CPATH:$LIBTORCH/lib:$LIBTORCH/include:$LIBTORCH/include/torch/csrc:$LIBTORCH/include/torch/csrc/api/include'
LN_LD_LIBRARY_PATH = 'export LD_LIBRARY_PATH=$LIBTORCH/lib:$LD_LIBRARY_PATH'
grep -qF -- "$LN_LIBTORCH" "$FILE" || echo "$LN_LIBTORCH" >> "$FILE"
grep -qF -- "$LN_LIBRARY_PATH" "$FILE" || echo "$LN_LIBRARY_PATH" >> "$FILE"
grep -qF -- "$LN_CPATH" "$FILE" || echo "$LN_CPATH" >> "$FILE"
grep -qF -- "$LN_LD_LIBRARY_PATH" "$FILE" || echo "$LN_LD_LIBRARY_PATH" >> "$FILE"
# Update CPU config
sudo rm $LIBTORCH/lib.go
cp $LIBTORCH/lib.go.cpu $LIBTORCH/lib.go
mv $LIBTORCH/dummy_cuda_dependency.cpp $LIBTORCH/dummy_cuda_dependency.cpp.gpu
mv $LIBTORCH/fake_cuda_dependency.cpp.cpu $LIBTORCH/fake_cuda_dependency.cpp

View File

@ -1,6 +1,23 @@
#!/bin/bash
sudo rm -rf /opt/libtorch
wget -O /tmp/libtorch-cxx11-abi-shared-with-deps-1.5.1+cpu.zip https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-1.5.1%2Bcpu.zip
unzip /tmp/libtorch-cxx11-abi-shared-with-deps-1.5.1+cpu.zip -d /opt
sudo echo LD_LIBRARY_PATH=/opt/libtorch/lib:/usr/lib64-nvidia:/usr/local/cuda-10.1/lib64 >> $HOME/.bashrc
export GOTCH_VERSION="v0.1.0"
export LIBTORCH="$GOPATH/pkg/mod/github.com/sugarme/gotch@$GOTCH_VERSION/libtch"
export LIBRARY_PATH=$LIBTORCH/lib
export CPATH=$CPATH:$LIBTORCH/lib:$LIBTORCH/include:$LIBTORCH/include/torch/csrc/api/include
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LIBTORCH/lib:/usr/lib64-nvidia:/usr/local/cuda-10.1/lib64
sudo rm -rf $LIBTORCH
mkdir -p $LIBTORCH
wget -O /tmp/libtorch-cxx11-abi-shared-with-deps-1.5.1%2Bcu101.zip https://download.pytorch.org/libtorch/cu101/libtorch-cxx11-abi-shared-with-deps-1.5.1%2Bcu101.zip
unzip /tmp/libtorch-cxx11-abi-shared-with-deps-1.5.1%2Bcu101.zip -d $LIBTORCH
# update .bashrc
FILE='$HOME/.bashrc'
LN_LIBTORCH = 'export LIBTORCH="$GOPATH/pkg/mod/github.com/sugarme/gotch@$GOTCH_VERSION/libtch"'
LN_LIBRARY_PATH = 'export LIBRARY_PATH=$LIBTORCH/lib'
LN_CPATH = 'export CPATH=$CPATH:$LIBTORCH/lib:$LIBTORCH/include:$LIBTORCH/include/torch/csrc/api/include'
LN_LD_LIBRARY_PATH = 'export LD_LIBRARY_PATH=$LIBTORCH/lib:/usr/lib64-nvidia:/usr/local/cuda-10.1/lib64'
grep -qF -- "$LN_LIBTORCH" "$FILE" || echo "$LN_LIBTORCH" >> "$FILE"
grep -qF -- "$LN_LIBRARY_PATH" "$FILE" || echo "$LN_LIBRARY_PATH" >> "$FILE"
grep -qF -- "$LN_CPATH" "$FILE" || echo "$LN_CPATH" >> "$FILE"
grep -qF -- "$LN_LD_LIBRARY_PATH" "$FILE" || echo "$LN_LD_LIBRARY_PATH" >> "$FILE"