forked from UK-MAC/CloverLeaf
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
86 lines (73 loc) · 3.85 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
PACKAGE=CloverLeaf
help:
@echo " CloverLeaf, a Lagrangian-Eulerian hydrodynamics mini-application "
@echo " "
@echo " CloverLeaf comes in the following principal flavours: "
@echo " "
@echo " - Ref "
@echo " This is the reference MPI/OpenMP implementation. "
@echo " - Serial "
@echo " This is the serial implementation. "
@echo " - MPI "
@echo " This is the parallel MPI implementation. "
@echo " - OpenMP "
@echo " This version is threaded using MPI directives. "
@echo " - OpenACC_KERNELS "
@echo " This version uses OpenACC directives to utilise GPU "
@echo " hardware. "
@echo " - OpenACC_LOOPS "
@echo " This version uses OpenACC directives to utilise GPU "
@echo " hardware. "
@echo " - OpenACC_CRAY "
@echo " This version uses OpenACC directives to utilise GPU "
@echo " hardware. "
@echo " - Offload "
@echo " - CUDA "
@echo " - OpenMP 4 "
@echo " "
@echo " Build a particular version by typing: "
@echo " \`make <flavour>\` "
@echo " where <flavour> is the name of the version you want to make, all "
@echo " in lowercase. "
@echo " "
@echo " Please use the COMPILER environment variable to specify the "
@echo " compiler you wish to use. Supported compilers are: "
@echo " - GNU "
@echo " - CRAY "
@echo " - INTEL "
@echo " - PATHSCALE "
@echo " - PGI "
@echo " - SUN "
@echo " - XLF "
all: ref openmp mpi openacc_cray openacc_kernels openacc_loops cuda openmp4 serial offload
ref:
cd $(PACKAGE)_ref; make
serial:
cd $(PACKAGE)_Serial; make
openmp:
cd $(PACKAGE)_OpenMP; make
mpi:
cd $(PACKAGE)_MPI; make
openmp4:
cd $(PACKAGE)_OpenMP4; make
openacc_cray:
cd $(PACKAGE)_OpenACC_CRAY; make
openacc_kernels:
cd $(PACKAGE)_OpenACC_KERNELS; make
openacc_loops:
cd $(PACKAGE)_OpenACC_LOOPS; make
cuda:
cd $(PACKAGE)_CUDA; make
offload:
cd $(PACKAGE)_Offload; make
clean:
cd $(PACKAGE)_ref; make clean
cd $(PACKAGE)_Serial; make clean
cd $(PACKAGE)_OpenMP; make clean
cd $(PACKAGE)_MPI; make clean
cd $(PACKAGE)_OpenMP4; make clean
cd $(PACKAGE)_OpenACC_CRAY; make clean
cd $(PACKAGE)_OpenACC_KERNELS; make clean
cd $(PACKAGE)_OpenACC_LOOPS; make clean
cd $(PACKAGE)_CUDA; make clean
cd $(PACKAGE)_Offload; make clean