Compatibility with Sapporo
This commit is contained in:
parent
21bba88d27
commit
c6c95c393c
5 changed files with 96 additions and 8 deletions
37
Makefile
37
Makefile
|
|
@ -19,20 +19,45 @@ NVCC ?= $(CUDAHOME)/bin/nvcc
|
||||||
|
|
||||||
export
|
export
|
||||||
|
|
||||||
all:
|
default: hybrid-sapporo
|
||||||
|
|
||||||
|
hybrid-yebisu: etics yebisu
|
||||||
|
make -C grapite yebisu
|
||||||
|
make -C $(RUNDIR) grapite
|
||||||
|
|
||||||
|
hybrid-sapporo: etics sapporo
|
||||||
|
make -C grapite sapporo
|
||||||
|
make -C $(RUNDIR) grapite
|
||||||
|
|
||||||
|
plain-yebisu: yebisu
|
||||||
|
make -C $(RUNDIR) yebisu
|
||||||
|
|
||||||
|
plain-sapporo: sapporo
|
||||||
|
cp -rp sapporo2/testCodes/src/g6lib.h sapporo2/lib/grape6.h
|
||||||
|
make -C $(RUNDIR) sapporo
|
||||||
|
|
||||||
|
etics:
|
||||||
make -C etics/src library
|
make -C etics/src library
|
||||||
make -C yebisu
|
|
||||||
make -C grapite
|
|
||||||
make -C $(RUNDIR)
|
|
||||||
|
|
||||||
yebisu:
|
yebisu:
|
||||||
make -C yebisu
|
make -C yebisu
|
||||||
make -C $(RUNDIR) yebisu
|
|
||||||
|
|
||||||
|
sapporo:
|
||||||
|
make -C sapporo2/lib
|
||||||
|
cd $(RUNDIR) && ln -s ../sapporo2/lib/CUDAKernels CUDA
|
||||||
|
|
||||||
|
|
||||||
|
##################
|
||||||
|
#
|
||||||
|
#yebisu:
|
||||||
|
# make -C yebisu
|
||||||
|
# make -C $(RUNDIR) yebisu
|
||||||
|
#
|
||||||
clean:
|
clean:
|
||||||
make -C etics/src clean
|
make -C etics/src clean
|
||||||
make -C yebisu clean
|
make -C yebisu clean
|
||||||
|
make -C sapporo2/lib clean
|
||||||
make -C grapite clean
|
make -C grapite clean
|
||||||
make -C $(RUNDIR) clean
|
make -C $(RUNDIR) clean
|
||||||
|
|
||||||
.PHONY: all yebisu clean
|
.PHONY: default hybrid-yebisu hybrid-sapporo plain-yebisu plain-yebisu etics yebisu sapporo
|
||||||
|
|
|
||||||
2
grapite
2
grapite
|
|
@ -1 +1 @@
|
||||||
Subproject commit 4341ebbe988aeaf2fb7aacba6e47e1759c8e518b
|
Subproject commit 0d155035ce04cb12c1a1f09e6ae875f589c80281
|
||||||
2
phigrape
2
phigrape
|
|
@ -1 +1 @@
|
||||||
Subproject commit 35a90c343fbe7d699d1e32f03f2f2ce2ef561fde
|
Subproject commit 11c0db23a3c3680fccffec7e53779a16e603f64c
|
||||||
9
sapporo2/get_sapporo.sh
Executable file
9
sapporo2/get_sapporo.sh
Executable file
|
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/bash
|
||||||
|
commit=7c3f80acf1df5a8907118706a2260184cfccc6a1
|
||||||
|
archive_md5sum=b7b17eeded2cb5dfb9e174424b3f7ecb
|
||||||
|
url=https://github.com/treecode/sapporo2/archive/$commit.tar.gz
|
||||||
|
wget -O sapporo2.tar.gz $url
|
||||||
|
md5sum --check <<<"$archive_md5sum sapporo2.tar.gz"
|
||||||
|
tar --strip-components=1 -xvf sapporo2.tar.gz
|
||||||
|
rm -f sapporo2.tar.gz
|
||||||
|
patch -p0 < patch.diff
|
||||||
54
sapporo2/patch.diff
Normal file
54
sapporo2/patch.diff
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
diff -ruN
|
||||||
|
--- lib/CUDAKernels/kernels.cu
|
||||||
|
+++
|
||||||
|
@@ -206,7 +206,7 @@
|
||||||
|
// template<> __device__ __forceinline__ double RSQRT(double val) { return 1.0/sqrt(val); }
|
||||||
|
|
||||||
|
|
||||||
|
-
|
||||||
|
+#if (CUDART_VERSION <= 8000)
|
||||||
|
__device__ double atomicAdd(double* address, double val)
|
||||||
|
{
|
||||||
|
unsigned long long int* address_as_ull =
|
||||||
|
@@ -220,7 +220,7 @@
|
||||||
|
} while (assumed != old);
|
||||||
|
return __longlong_as_double(old);
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
__device__ __forceinline__ double atomicMin(double *address, double val)
|
||||||
|
{
|
||||||
|
diff -ruN
|
||||||
|
--- lib/Makefile
|
||||||
|
+++
|
||||||
|
@@ -5,7 +5,8 @@
|
||||||
|
|
||||||
|
.SUFFIXES: .o .cpp .ptx .cu
|
||||||
|
|
||||||
|
-CUDA_TK ?= /usr/local/cuda
|
||||||
|
+CUDAHOME ?= /usr/local/cuda
|
||||||
|
+CUDA_TK = $(CUDAHOME)
|
||||||
|
|
||||||
|
|
||||||
|
testRunFlags1=
|
||||||
|
@@ -36,17 +37,8 @@
|
||||||
|
NVCC = $(CUDA_TK)/bin/nvcc
|
||||||
|
|
||||||
|
|
||||||
|
-# Support older CUDA versions out of the box
|
||||||
|
-NVCCVERSION=$(shell "${NVCC}" --version | grep ^Cuda | sed 's/^.* //g')
|
||||||
|
-ifeq "${NVCCVERSION}" "V5.5.22"
|
||||||
|
- NVCCFLAGS ?= -arch sm_20
|
||||||
|
-else
|
||||||
|
- NVCCFLAGS ?= -arch sm_30
|
||||||
|
-endif
|
||||||
|
-
|
||||||
|
-#NVCCFLAGS = -arch sm_35
|
||||||
|
-#NVCCFLAGS ?= -arch sm_30
|
||||||
|
-#NVCCFLAGS = -arch sm_20
|
||||||
|
+GPUARCH ?= sm_75
|
||||||
|
+NVCCFLAGS = -arch $(GPUARCH)
|
||||||
|
NVCCFLAGS += ${testRunFlags}
|
||||||
|
|
||||||
|
# Use with Mac OS X
|
||||||
Loading…
Add table
Add a link
Reference in a new issue