Skip to content

Commit

Permalink
put LSH WTA to GPU;
Browse files Browse the repository at this point in the history
  • Loading branch information
shixing committed Mar 15, 2017
1 parent b7a2aa6 commit 505e75a
Show file tree
Hide file tree
Showing 8 changed files with 341 additions and 45 deletions.
60 changes: 34 additions & 26 deletions scripts/compile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,38 +11,46 @@
#Boost version = 1.51.0 or 1.55.0
#Any version of Eigen

source /usr/usc/cuda/7.5/setup.sh
source /usr/usc/cuda/8.0/setup.sh
source /usr/usc/gnu/gcc/4.9.3/setup.sh

PATH_TO_CUDA_INCLUDE=${PATH_TO_CUDA_INCLUDE:-"/usr/usc/cuda/7.5/include/"}
PATH_TO_CUDA_INCLUDE=${PATH_TO_CUDA_INCLUDE:-"/usr/usc/cuda/8.0/include/"}
PATH_TO_BOOST_INCLUDE=${PATH_TO_BOOST_INCLUDE:-"/usr/usc/boost/1.55.0/include/"}
PATH_TO_CUDA_LIB_64=${PATH_TO_CUDA_LIB_64:-"/usr/usc/cuda/7.5/lib64/"}
PATH_TO_CUDA_LIB_64=${PATH_TO_CUDA_LIB_64:-"/usr/usc/cuda/8.0/lib64/"}
PATH_TO_BOOST_LIB=${PATH_TO_BOOST_LIB:-"/usr/usc/boost/1.55.0/lib/"}
PATH_TO_CUDNN_V4_64=${PATH_TO_CUDNN_V4_64:-"/home/nlg-05/zoph/cudnn_v4/lib64/"}
PATH_TO_EIGEN=${PATH_TO_EIGEN:-"/home/nlg-05/zoph/eigen/"}
PATH_TO_CUDNN_INCLUDE=${PATH_TO_CUDNN_INCLUDE:-"/home/nlg-05/zoph/cudnn_v4/include/"}

nvcc -DCUDNN_STATIC -O3 -g -G \
-Xcompiler -fopenmp \
-I $PATH_TO_CUDA_INCLUDE \
-I $PATH_TO_BOOST_INCLUDE \
${PATH_TO_BOOST_LIB}libboost_system.a \
-I $PATH_TO_CUDNN_INCLUDE \
${PATH_TO_BOOST_LIB}libboost_filesystem.a \
${PATH_TO_BOOST_LIB}libboost_program_options.a \
${PATH_TO_BOOST_LIB}libboost_regex.a \
-I $PATH_TO_EIGEN \
-std=c++11 \
${PATH_TO_CUDA_LIB_64}libcublas_static.a \
${PATH_TO_CUDA_LIB_64}libcudadevrt.a \
${PATH_TO_CUDA_LIB_64}libcudart_static.a \
${PATH_TO_CUDA_LIB_64}libculibos.a \
${PATH_TO_CUDA_LIB_64}libcurand_static.a \
${PATH_TO_CUDA_LIB_64}libcusolver_static.a \
${PATH_TO_CUDA_LIB_64}libcusparse_static.a \
${PATH_TO_CUDA_LIB_64}libnppc_static.a \
${PATH_TO_CUDA_LIB_64}libnppi_static.a \
${PATH_TO_CUDA_LIB_64}libnpps_static.a \
${PATH_TO_CUDNN_V4_64}libcudnn_static.a \
src/main.cu src/format.cc -o ZOPH_RNN
#complie
#-DCUDNN_STATIC
nvcc -DCUDNN_STATIC -O3 -g -G -arch=sm_35 \
-Xcompiler -fopenmp \
-I $PATH_TO_CUDA_INCLUDE \
-I $PATH_TO_BOOST_INCLUDE \
-I $PATH_TO_EIGEN \
-I $PATH_TO_CUDNN_INCLUDE \
-std=c++11 \
-dc src/main.cu -o main.o

nvcc -c src/format.cc -o format.o

nvcc -arch=sm_35 -rdc=true main.o format.o -o ZOPH_RNN\
${PATH_TO_BOOST_LIB}libboost_system.a \
${PATH_TO_BOOST_LIB}libboost_filesystem.a \
${PATH_TO_BOOST_LIB}libboost_program_options.a \
${PATH_TO_BOOST_LIB}libboost_regex.a \
${PATH_TO_CUDA_LIB_64}libcublas_static.a \
${PATH_TO_CUDA_LIB_64}libcudadevrt.a \
${PATH_TO_CUDA_LIB_64}libcudart_static.a \
${PATH_TO_CUDA_LIB_64}libculibos.a \
${PATH_TO_CUDA_LIB_64}libcurand_static.a \
${PATH_TO_CUDA_LIB_64}libcusolver_static.a \
${PATH_TO_CUDA_LIB_64}libcusparse_static.a \
${PATH_TO_CUDA_LIB_64}libnppc_static.a \
${PATH_TO_CUDA_LIB_64}libnppi_static.a \
${PATH_TO_CUDA_LIB_64}libnpps_static.a \
${PATH_TO_CUDNN_V4_64}libcudnn_static.a \


######
57 changes: 57 additions & 0 deletions scripts/compile.sh.bk
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#Written by Barret Zoph, for questions email barretzoph@gmail.com

#Compilation script for compiling ZOPH_RNN
#The following 7 environmental variables must be set in order for compilation
#The default arguements are examples of what the paths should look like
#For the dependencies the following are required:
#-----------------------------------------------
#cuda version >= 7.0
#One of the following gcc versions >= 4.8.1
#CuDNN version = 4
#Boost version = 1.51.0 or 1.55.0
#Any version of Eigen

source /usr/usc/cuda/7.5/setup.sh
source /usr/usc/gnu/gcc/4.9.3/setup.sh

PATH_TO_CUDA_INCLUDE=${PATH_TO_CUDA_INCLUDE:-"/usr/usc/cuda/7.5/include/"}
PATH_TO_BOOST_INCLUDE=${PATH_TO_BOOST_INCLUDE:-"/usr/usc/boost/1.55.0/include/"}
PATH_TO_CUDA_LIB_64=${PATH_TO_CUDA_LIB_64:-"/usr/usc/cuda/7.5/lib64/"}
PATH_TO_BOOST_LIB=${PATH_TO_BOOST_LIB:-"/usr/usc/boost/1.55.0/lib/"}
PATH_TO_CUDNN_V4_64=${PATH_TO_CUDNN_V4_64:-"/home/nlg-05/zoph/cudnn_v4/lib64/"}
PATH_TO_EIGEN=${PATH_TO_EIGEN:-"/home/nlg-05/zoph/eigen/"}
PATH_TO_CUDNN_INCLUDE=${PATH_TO_CUDNN_INCLUDE:-"/home/nlg-05/zoph/cudnn_v4/include/"}

#complie

nvcc -arch=sm_35 -DCUDNN_STATIC -O3 -g -G \
-Xcompiler -fopenmp \
-I $PATH_TO_CUDA_INCLUDE \
-I $PATH_TO_BOOST_INCLUDE \
-I $PATH_TO_CUDNN_INCLUDE \
-I $PATH_TO_EIGEN \
-std=c++11 \
-dc src/main.cu -o main.o

nvcc -c src/format.cc -o format.o

# link
nvcc -arch=sm_35 -DCUDNN_STATIC \
main.o format.o \
${PATH_TO_BOOST_LIB}libboost_system.a \
${PATH_TO_BOOST_LIB}libboost_filesystem.a \
${PATH_TO_BOOST_LIB}libboost_program_options.a \
${PATH_TO_BOOST_LIB}libboost_regex.a \
${PATH_TO_CUDA_LIB_64}libcublas_static.a \
${PATH_TO_CUDA_LIB_64}libcudart_static.a \
${PATH_TO_CUDA_LIB_64}libculibos.a \
${PATH_TO_CUDA_LIB_64}libcurand_static.a \
${PATH_TO_CUDA_LIB_64}libcusolver_static.a \
${PATH_TO_CUDA_LIB_64}libcusparse_static.a \
${PATH_TO_CUDA_LIB_64}libnppc_static.a \
${PATH_TO_CUDA_LIB_64}libnppi_static.a \
${PATH_TO_CUDA_LIB_64}libnpps_static.a \
${PATH_TO_CUDA_LIB_64}libcudadevrt.a \
-o ZOPH_RNN

######
2 changes: 2 additions & 0 deletions src/BZ_CUDA_UTIL.h
Original file line number Diff line number Diff line change
Expand Up @@ -773,6 +773,7 @@ __device__ double atomicAddDouble(double* address, double val)
}

//atomic add for doubles,since undefined in cuda
/*
__device__ double atomicAdd(double* address, double val)
{
unsigned long long int* address_as_ull =
Expand All @@ -786,6 +787,7 @@ __device__ double atomicAdd(double* address, double val)
} while (assumed != old);
return __longlong_as_double(old);
}
*/


void curandGenerateUniform_wrapper(float *d_mask,int size,curandGenerator_t &generator) {
Expand Down
Loading

0 comments on commit 505e75a

Please sign in to comment.