From 280f595b7f717b76d0c82d01fd16e5956aafa681 Mon Sep 17 00:00:00 2001 From: Maximilian Gaul Date: Thu, 11 Nov 2021 14:49:29 +0100 Subject: [PATCH] Fixed linker error by putting includes and cuda function in extern 'C' --- config.mk | 2 +- include_NVCC.mk | 2 +- src/force.cu | 21 +++++++++++++-------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/config.mk b/config.mk index 49612ce..aa86e7b 100644 --- a/config.mk +++ b/config.mk @@ -22,7 +22,7 @@ INDEX_TRACER ?= false # Vector width (elements) for index and distance tracer VECTOR_WIDTH ?= 8 # Compute statistics -COMPUTE_STATS ?= true +COMPUTE_STATS ?= false #Feature options OPTIONS = -DALIGNMENT=64 diff --git a/include_NVCC.mk b/include_NVCC.mk index 6571fe1..39ae113 100644 --- a/include_NVCC.mk +++ b/include_NVCC.mk @@ -12,4 +12,4 @@ ASFLAGS = -masm=intel LFLAGS = DEFINES = -D_GNU_SOURCE -DLIKWID_PERFMON INCLUDES = $(LIKWID_INC) -LIBS = -lm $(LIKWID_LIB) -llikwid +LIBS = -lm $(LIKWID_LIB) -llikwid -lcuda -lcudart diff --git a/src/force.cu b/src/force.cu index ecc78ff..8e61354 100644 --- a/src/force.cu +++ b/src/force.cu @@ -26,12 +26,14 @@ #include #include -#include +extern "C" { + #include -#include -#include -#include -#include + #include + #include + #include + #include +} // cuda kernel __global__ void calc_force( @@ -69,6 +71,8 @@ __global__ void calc_force( } } +extern "C" { + double computeForce( Parameter *param, Atom *atom, @@ -90,7 +94,7 @@ double computeForce( fz[i] = 0.0; } - // double S = getTimeStamp(); + double S = getTimeStamp(); LIKWID_MARKER_START("force"); #pragma omp parallel for @@ -167,8 +171,9 @@ double computeForce( } LIKWID_MARKER_STOP("force"); - // double E = getTimeStamp(); + double E = getTimeStamp(); - // return E-S; + return E-S; return 0; } +} \ No newline at end of file