forked from jcosborn/qex
-
Notifications
You must be signed in to change notification settings - Fork 1
/
configDefault.nims
76 lines (64 loc) · 2.22 KB
/
configDefault.nims
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
# QEX configuration file
# location of temporary build files (generated C/C++ source, objects, etc.)
nimcache = getCurrentDir() / "nimcache"
# Nim compiler build verbosity (0-3, 1 is Nim default)
buildVerbosity = 1
# type of compiler, used for Nim generated compile flags
# typically "gcc" or "clang" will work fine for most modern compilers
# https://github.com/nim-lang/Nim/wiki/Consts-defined-by-the-compiler
ccType = "gcc"
# default language backend, "cc" (C) or "cpp" (C++)
# "cpp" is required for Chroma and Grid
ccDef = "cc"
# options for C compiler
# cc C compiler executable
# cflagsAlways C flags for all builds (debug and release)
# cflagsDebug C flags for debug build
# cflagsSpeed C flags for release build
# ld C linker executable (typically same as C compiler)
# ldflags C linker flags
cc = "mpicc"
cflagsAlways = "-g"
cflagsDebug = ""
cflagsSpeed = "-Ofast -march=native"
ld = cc
ldflags = cflagsAlways & " -ldl"
# options for C++ compiler
# cpp C++ compiler executable
# cppflagsAlways C++ flags for all builds (debug and release)
# cppflagsDebug C++ flags for debug build
# cppflagsSpeed C++ flags for release build
# ldpp C++ linker executable (typically same as C++ compiler)
# ldppflags C++ linker flags
cpp = "mpicxx"
cppflagsAlways = "-g"
cppflagsDebug = ""
cppflagsSpeed = "-Ofast -march=native"
ldpp = cpp
ldppflags = cppflagsAlways & " -ldl"
# SIMD intrinsics to use, comma separated list of SSE, AVX, AXV512
# "SSE,AVX" for up to AVX2
# "SSE,AVX,AVX512" for up to AVX512
# "" for no explicit intrinsics
simd = ""
# default inner (SIMD) vector length (for both single and double)
# this is independent of hardware SIMD length
# (i.e. 16 is valid on any platform)
vlen = 8
# required libraries
qmpDir = getHomeDir()/"lqcd/install/qmp"
qioDir = getHomeDir()/"lqcd/install/qio"
# optional libraries
qudaDir = ""
cudaLibDir = ""
cudaMathLibDir = ""
nvhpcDir = ""
primmeDir = ""
chromaDir = ""
gridDir = ""
# seq of extra environment variables to define during build
# e.g. @["OMPI_CXX=foo","BAR=1","ENV_WITH_SPACE_QUOTES=SPACE \"WITH QUOTES\""]
envs = @[]
# seq of extra arguments for Nim during build
# e.g. @["--listCmd","-d:defPrec:S","-d:nc=4"]
nimargs = @[]