Removed OMP in sapporo
This commit is contained in:
parent
c6c95c393c
commit
e7d5522765
5 changed files with 119 additions and 14 deletions
25
Makefile
25
Makefile
|
|
@ -2,16 +2,15 @@
|
||||||
# This is the unified Makefile for the hybrid code #
|
# This is the unified Makefile for the hybrid code #
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
RUNDIR ?= phigrape
|
RUNDIR ?= run
|
||||||
ETICS_LMAX ?= 2
|
ETICS_LMAX ?= 2
|
||||||
ETICS_NMAX ?= 10
|
ETICS_NMAX ?= 10
|
||||||
GPUARCH ?= sm_75
|
GPUARCH ?= sm_75
|
||||||
CUDAHOME ?= /usr/local/cuda
|
CUDAHOME ?= /usr/local/cuda
|
||||||
MPIHOME ?= /home/meiron/local
|
MPIHOME ?= /home/meiron/local
|
||||||
OPTIMIZATION ?= 3
|
OPTIMIZATION ?= 3
|
||||||
CFLAGS += -mcmodel=large
|
|
||||||
CXXFLAGS += $(CFLAGS)
|
CXXFLAGS += $(CFLAGS)
|
||||||
CUDAFLAGS =
|
CUDAFLAGS ?=
|
||||||
|
|
||||||
CXX ?= g++
|
CXX ?= g++
|
||||||
MPICC ?= mpicc
|
MPICC ?= mpicc
|
||||||
|
|
@ -23,18 +22,24 @@ default: hybrid-sapporo
|
||||||
|
|
||||||
hybrid-yebisu: etics yebisu
|
hybrid-yebisu: etics yebisu
|
||||||
make -C grapite yebisu
|
make -C grapite yebisu
|
||||||
make -C $(RUNDIR) grapite
|
make -C phigrape grapite
|
||||||
|
mkdir -p $(RUNDIR)/
|
||||||
|
cp -rp phigrape/phigrape $(RUNDIR)/
|
||||||
|
|
||||||
hybrid-sapporo: etics sapporo
|
hybrid-sapporo: etics sapporo
|
||||||
make -C grapite sapporo
|
make -C grapite sapporo
|
||||||
make -C $(RUNDIR) grapite
|
make -C phigrape grapite
|
||||||
|
cp -rp phigrape/phigrape $(RUNDIR)/
|
||||||
|
|
||||||
plain-yebisu: yebisu
|
plain-yebisu: yebisu
|
||||||
make -C $(RUNDIR) yebisu
|
make -C phigrape yebisu
|
||||||
|
mkdir -p $(RUNDIR)/
|
||||||
|
cp -rp phigrape/phigrape $(RUNDIR)/
|
||||||
|
|
||||||
plain-sapporo: sapporo
|
plain-sapporo: sapporo
|
||||||
cp -rp sapporo2/testCodes/src/g6lib.h sapporo2/lib/grape6.h
|
cp -rp sapporo2/testCodes/src/g6lib.h sapporo2/lib/grape6.h
|
||||||
make -C $(RUNDIR) sapporo
|
make -C phigrape sapporo
|
||||||
|
cp -rp phigrape/phigrape $(RUNDIR)/
|
||||||
|
|
||||||
etics:
|
etics:
|
||||||
make -C etics/src library
|
make -C etics/src library
|
||||||
|
|
@ -44,7 +49,9 @@ yebisu:
|
||||||
|
|
||||||
sapporo:
|
sapporo:
|
||||||
make -C sapporo2/lib
|
make -C sapporo2/lib
|
||||||
cd $(RUNDIR) && ln -s ../sapporo2/lib/CUDAKernels CUDA
|
mkdir -p $(RUNDIR)/
|
||||||
|
rm -rf $(RUNDIR)/CUDA
|
||||||
|
cp -rp ../sapporo2/lib/CUDAKernels $(RUNDIR)/CUDA
|
||||||
|
|
||||||
|
|
||||||
##################
|
##################
|
||||||
|
|
@ -58,6 +65,6 @@ clean:
|
||||||
make -C yebisu clean
|
make -C yebisu clean
|
||||||
make -C sapporo2/lib clean
|
make -C sapporo2/lib clean
|
||||||
make -C grapite clean
|
make -C grapite clean
|
||||||
make -C $(RUNDIR) clean
|
make -C phigrape clean
|
||||||
|
|
||||||
.PHONY: default hybrid-yebisu hybrid-sapporo plain-yebisu plain-yebisu etics yebisu sapporo
|
.PHONY: default hybrid-yebisu hybrid-sapporo plain-yebisu plain-yebisu etics yebisu sapporo
|
||||||
|
|
|
||||||
2
grapite
2
grapite
|
|
@ -1 +1 @@
|
||||||
Subproject commit 0d155035ce04cb12c1a1f09e6ae875f589c80281
|
Subproject commit aa58cd9b21892ece6729fbdf9062746286ae2374
|
||||||
2
phigrape
2
phigrape
|
|
@ -1 +1 @@
|
||||||
Subproject commit 11c0db23a3c3680fccffec7e53779a16e603f64c
|
Subproject commit 0a2344563d4916a0947f4da7f661a5206ace098e
|
||||||
5
sapporo2/.gitignore
vendored
Normal file
5
sapporo2/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
*
|
||||||
|
|
||||||
|
!.gitignore
|
||||||
|
!get_sapporo.sh
|
||||||
|
!patch.diff
|
||||||
|
|
@ -20,19 +20,105 @@ diff -ruN
|
||||||
__device__ __forceinline__ double atomicMin(double *address, double val)
|
__device__ __forceinline__ double atomicMin(double *address, double val)
|
||||||
{
|
{
|
||||||
diff -ruN
|
diff -ruN
|
||||||
|
--- lib/include/cudadev.h
|
||||||
|
+++
|
||||||
|
@@ -80,7 +80,7 @@
|
||||||
|
assert(false);\
|
||||||
|
} }
|
||||||
|
|
||||||
|
-#define cuSafeCall( call ) CU_SAFE_CALL_NO_SYNC(call);
|
||||||
|
+#define cuSafeCall( call ) call;
|
||||||
|
|
||||||
|
class context {
|
||||||
|
protected:
|
||||||
|
diff -ruN
|
||||||
|
--- lib/include/sapdevclass.h
|
||||||
|
+++
|
||||||
|
@@ -33,7 +33,10 @@
|
||||||
|
|
||||||
|
#include <cassert>
|
||||||
|
#include <iostream>
|
||||||
|
-#include <omp.h>
|
||||||
|
+#define omp_get_num_procs() 1
|
||||||
|
+#define omp_get_thread_num() 0
|
||||||
|
+#define omp_get_num_threads() 1
|
||||||
|
+#define omp_get_max_threads() 1
|
||||||
|
|
||||||
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
diff -ruN
|
||||||
|
--- lib/interfaces/sapporoG6lib.cpp
|
||||||
|
+++
|
||||||
|
@@ -45,34 +45,9 @@
|
||||||
|
|
||||||
|
int g6_open_(int *id)
|
||||||
|
{
|
||||||
|
- //Check for a config file if its there use it
|
||||||
|
- id = id; //Make the compiler happy
|
||||||
|
- int *devList = NULL;
|
||||||
|
- int how_many = 0;
|
||||||
|
- FILE *fd;
|
||||||
|
- if ((fd = fopen("sapporo2.config", "r"))) {
|
||||||
|
- char line[256];
|
||||||
|
- fprintf(stderr, "sapporo2::open - config file is found\n");
|
||||||
|
- if(fgets(line, 256, fd) != NULL)
|
||||||
|
- sscanf(line, "%d", &how_many);
|
||||||
|
-
|
||||||
|
- //Read the devices we want to use
|
||||||
|
- if(how_many > 0)
|
||||||
|
- {
|
||||||
|
- devList = new int[how_many];
|
||||||
|
- for (int i = 0; i < how_many; i++) {
|
||||||
|
- if(fgets(line, 256, fd) != NULL)
|
||||||
|
- sscanf(line, "%d", &devList[i]);
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- } else {
|
||||||
|
- fprintf(stderr," sapporo2::open - no config file is found \n");
|
||||||
|
- how_many = 0;
|
||||||
|
- }
|
||||||
|
- int res = g6_open_special(how_many, devList);
|
||||||
|
-
|
||||||
|
- delete[] devList;
|
||||||
|
-
|
||||||
|
+ int devList = *id;
|
||||||
|
+ int how_many = 1;
|
||||||
|
+ int res = g6_open_special(how_many, &devList);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -ruN
|
||||||
--- lib/Makefile
|
--- lib/Makefile
|
||||||
+++
|
+++
|
||||||
@@ -5,7 +5,8 @@
|
@@ -1,11 +1,13 @@
|
||||||
|
-CXX = g++
|
||||||
|
-CC = gcc
|
||||||
|
-LD = g++
|
||||||
|
-F90 = ifort
|
||||||
|
+CXX ?= g++
|
||||||
|
+CC ?= gcc
|
||||||
|
+LD ?= g++
|
||||||
|
+F90 ?= ifort
|
||||||
|
|
||||||
.SUFFIXES: .o .cpp .ptx .cu
|
.SUFFIXES: .o .cpp .ptx .cu
|
||||||
|
|
||||||
-CUDA_TK ?= /usr/local/cuda
|
-CUDA_TK ?= /usr/local/cuda
|
||||||
+CUDAHOME ?= /usr/local/cuda
|
+CUDAHOME ?= /usr/local/cuda
|
||||||
+CUDA_TK = $(CUDAHOME)
|
+CUDA_TK = $(CUDAHOME)
|
||||||
|
+OPTIMIZATION ?= 3
|
||||||
|
|
||||||
|
|
||||||
testRunFlags1=
|
testRunFlags1=
|
||||||
@@ -36,17 +37,8 @@
|
@@ -24,7 +26,7 @@
|
||||||
|
testRunFlags3="-D TIMING_STATS=1"
|
||||||
|
endif
|
||||||
|
|
||||||
|
-OFLAGS = -g -O3 -Wall -Wextra -Wstrict-aliasing=2 -fopenmp
|
||||||
|
+OFLAGS = -g -O$(OPTIMIZATION) -Wall -Wextra -Wstrict-aliasing=2
|
||||||
|
|
||||||
|
#Use below if compiling with CPU_SUPPORT (SSE)
|
||||||
|
#CXXFLAGS += ${testRunFlags} -fPIC $(OFLAGS) -I$(CUDA_TK)/include -msse4
|
||||||
|
@@ -36,23 +38,14 @@
|
||||||
NVCC = $(CUDA_TK)/bin/nvcc
|
NVCC = $(CUDA_TK)/bin/nvcc
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -48,7 +134,14 @@ diff -ruN
|
||||||
-#NVCCFLAGS ?= -arch sm_30
|
-#NVCCFLAGS ?= -arch sm_30
|
||||||
-#NVCCFLAGS = -arch sm_20
|
-#NVCCFLAGS = -arch sm_20
|
||||||
+GPUARCH ?= sm_75
|
+GPUARCH ?= sm_75
|
||||||
+NVCCFLAGS = -arch $(GPUARCH)
|
+NVCCFLAGS = -arch $(GPUARCH) -ccbin $(CXX)
|
||||||
NVCCFLAGS += ${testRunFlags}
|
NVCCFLAGS += ${testRunFlags}
|
||||||
|
|
||||||
# Use with Mac OS X
|
# Use with Mac OS X
|
||||||
|
# NVCCFLAGS = -arch sm_12 -Xcompiler="-Duint=unsigned\ int"
|
||||||
|
|
||||||
|
-LDFLAGS = -lcuda -fopenmp
|
||||||
|
+LDFLAGS = -lcuda
|
||||||
|
|
||||||
|
|
||||||
|
INCLUDEPATH = ./include
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue