-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
35 lines (24 loc) · 1.03 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
NVCC=nvcc
#You might have to change this if you want to use MKL instead of lapacke. Only one is needed.
#LAPACKE_FLAGS=-llapacke -I/usr/include/lapacke
VERBOSITY=5
MKL_FLAGS=-DUSE_MKL -DMKL_ILP64 -m64 -I${MKLROOT}/include -L${MKLROOT}/lib/intel64 -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl
UAMMD_ROOT=source/uammd/
CUDA_ROOT:=$(shell dirname `which nvcc`)/..
INCLUDEFLAGS= -I$(CUDA_ROOT)/include -I $(UAMMD_ROOT)/src -I $(UAMMD_ROOT)/src/third_party
BASIC_LINE= $(NVCC) -O3 -std=c++14 -x cu $(INCLUDEFLAGS) --expt-relaxed-constexpr $(MKL_FLAGS) $(LAPACKE_FLAGS) -DMAXLOGLEVEL=$(VERBOSITY)
all: poisson python
poisson: source/PoissonSlab.cu source/RepulsivePotential.cuh
$(BASIC_LINE) source/PoissonSlab.cu -o poisson -lcufft
python:
make -C python_interface
test: poisson
(cd charged_wall; bash test.bash);
(cd uncharged_wall; bash test.bash);
(cd rdftest; bash testRDF.bash);
clean:
make -C python_interface clean
rm -rf charged_wall/results
rm -rf uncharged_wall/results
rm -rf rdftest/results
rm -f poisson