Fixed linker error by putting includes and cuda function in extern 'C'
This commit is contained in:
parent
3428974730
commit
280f595b7f
@ -22,7 +22,7 @@ INDEX_TRACER ?= false
|
|||||||
# Vector width (elements) for index and distance tracer
|
# Vector width (elements) for index and distance tracer
|
||||||
VECTOR_WIDTH ?= 8
|
VECTOR_WIDTH ?= 8
|
||||||
# Compute statistics
|
# Compute statistics
|
||||||
COMPUTE_STATS ?= true
|
COMPUTE_STATS ?= false
|
||||||
|
|
||||||
#Feature options
|
#Feature options
|
||||||
OPTIONS = -DALIGNMENT=64
|
OPTIONS = -DALIGNMENT=64
|
||||||
|
@ -12,4 +12,4 @@ ASFLAGS = -masm=intel
|
|||||||
LFLAGS =
|
LFLAGS =
|
||||||
DEFINES = -D_GNU_SOURCE -DLIKWID_PERFMON
|
DEFINES = -D_GNU_SOURCE -DLIKWID_PERFMON
|
||||||
INCLUDES = $(LIKWID_INC)
|
INCLUDES = $(LIKWID_INC)
|
||||||
LIBS = -lm $(LIKWID_LIB) -llikwid
|
LIBS = -lm $(LIKWID_LIB) -llikwid -lcuda -lcudart
|
||||||
|
21
src/force.cu
21
src/force.cu
@ -26,12 +26,14 @@
|
|||||||
#include <cuda_runtime.h>
|
#include <cuda_runtime.h>
|
||||||
#include <device_launch_parameters.h>
|
#include <device_launch_parameters.h>
|
||||||
|
|
||||||
#include <likwid-marker.h>
|
extern "C" {
|
||||||
|
#include <likwid-marker.h>
|
||||||
|
|
||||||
#include <timing.h>
|
#include <timing.h>
|
||||||
#include <neighbor.h>
|
#include <neighbor.h>
|
||||||
#include <parameter.h>
|
#include <parameter.h>
|
||||||
#include <atom.h>
|
#include <atom.h>
|
||||||
|
}
|
||||||
|
|
||||||
// cuda kernel
|
// cuda kernel
|
||||||
__global__ void calc_force(
|
__global__ void calc_force(
|
||||||
@ -69,6 +71,8 @@ __global__ void calc_force(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
|
||||||
double computeForce(
|
double computeForce(
|
||||||
Parameter *param,
|
Parameter *param,
|
||||||
Atom *atom,
|
Atom *atom,
|
||||||
@ -90,7 +94,7 @@ double computeForce(
|
|||||||
fz[i] = 0.0;
|
fz[i] = 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// double S = getTimeStamp();
|
double S = getTimeStamp();
|
||||||
LIKWID_MARKER_START("force");
|
LIKWID_MARKER_START("force");
|
||||||
|
|
||||||
#pragma omp parallel for
|
#pragma omp parallel for
|
||||||
@ -167,8 +171,9 @@ double computeForce(
|
|||||||
}
|
}
|
||||||
|
|
||||||
LIKWID_MARKER_STOP("force");
|
LIKWID_MARKER_STOP("force");
|
||||||
// double E = getTimeStamp();
|
double E = getTimeStamp();
|
||||||
|
|
||||||
// return E-S;
|
return E-S;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user