-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
92 lines (72 loc) · 3.16 KB
/
CMakeLists.txt
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
87
88
89
90
cmake_minimum_required(VERSION 3.5)
project(Coursework)
if(APPLE)
SET(CMAKE_C_COMPILER /usr/local/bin/mpicc)
SET(CMAKE_CXX_COMPILER /usr/local/bin/mpicxx)
else()
SET(CMAKE_C_COMPILER /usr/bin/mpicc)
SET(CMAKE_CXX_COMPILER /usr/bin/mpicxx)
endif()
add_compile_options(-Wall -Wextra -Wpedantic)
#SET(GCC_COVERAGE_LINK_FLAGS "-llapack -lblas")
#SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}")
SET(GCC_COVERAGE_COMPILE_FLAGS "-O3 -ffast-math -funroll-loops -march=native -ftree-vectorize -fopenmp")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}")
set(CMAKE_CXX_STANDARD 14)
add_executable(burgers main.cpp Model.cpp Burgers.cpp MyMPI.cpp MyMPI.h)
add_custom_target(burg
COMMAND burgers OMP_NUM_THREADS=10 mpirun -np 1 burgers --physics 1 0.5 1 0.02 --steps 2001 2001 4000 -x 1 1
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Running burgers in ${CMAKE_CURRENT_SOURCE_DIR}"
SOURCES ${burgers_SOURCES}
)
add_custom_target(advx
COMMAND OMP_NUM_THREADS=10 mpirun -np 1 burgers --physics 1 0 0 0 --steps 2001 2001 4000 -x 1 1
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Running burgers in ${CMAKE_BINARY_DIR}"
SOURCES ${burgers_SOURCES}
)
add_custom_target(advy
COMMAND OMP_NUM_THREADS=10 mpirun -np 1 burgers --physics 0 1 0 0 --steps 2001 2001 4000 -x 1 1
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Running burgers in ${CMAKE_BINARY_DIR}"
SOURCES ${burgers_SOURCES}
)
add_custom_target(diff
COMMAND OMP_NUM_THREADS=10 mpirun -np 1 burgers --physics 0 0 0 1 --steps 201 201 4000 -x 1 1
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Running burgers in ${CMAKE_BINARY_DIR}"
SOURCES ${burgers_SOURCES}
)
add_custom_target(burgp
COMMAND OMP_NUM_THREADS=8 mpirun -np 2 burgers --physics 1 0.5 1 0.02 --steps 2001 2001 4000 -x 2 1
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Running burgers in ${CMAKE_BINARY_DIR}"
SOURCES ${burgers_SOURCES}
)
add_custom_target(advxp
COMMAND OMP_NUM_THREADS=8 mpirun -np 2 burgers --physics 1 0 0 0 --steps 2001 2001 4000 -x 2 1
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Running burgers in ${CMAKE_BINARY_DIR}"
SOURCES ${burgers_SOURCES}
)
add_custom_target(advyp
COMMAND OMP_NUM_THREADS=8 mpirun -np 2 burgers --physics 0 1 0 0 --steps 2001 2001 4000 -x 2 1
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Running burgers in ${CMAKE_BINARY_DIR}"
SOURCES ${burgers_SOURCES}
)
add_custom_target(diffp
COMMAND OMP_NUM_THREADS=8 mpirun -np 2 burgers --physics 0 0 0 1 --steps 201 201 4000 -x 2 1
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Running burgers in ${CMAKE_BINARY_DIR}"
SOURCES ${burgers_SOURCES}
)
add_dependencies(burgp burgers)
add_dependencies(advxp burgers)
add_dependencies(advyp burgers)
add_dependencies(diffp burgers)
add_dependencies(burg burgers)
add_dependencies(advy burgers)
add_dependencies(advx burgers)
add_dependencies(diff burgers)