Skip to content

Commit ab2b802

Browse files
committed
Add compiler definition files
The behavior for each compiler is defined in a separate TOML file to improve readability and maintainability. Signed-off-by: John Pennycook <john.pennycook@intel.com>
1 parent 6b76126 commit ab2b802

File tree

5 files changed

+131
-0
lines changed

5 files changed

+131
-0
lines changed

MANIFEST.in

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
include codebasin/compilers/clang.toml
2+
include codebasin/compilers/gnu.toml
3+
include codebasin/compilers/intel.toml
4+
include codebasin/compilers/nvidia.toml
15
include codebasin/schema/analysis.schema
26
include codebasin/schema/compilation-database.schema
37
include codebasin/schema/coverage.schema

codebasin/compilers/clang.toml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[compiler.clang]
2+
3+
[compiler."clang++"]
4+
alias_of = "clang"
5+
6+
[[compiler.clang.parser]]
7+
flags = ["-fopenmp"]
8+
action = "append_const"
9+
dest = "modes"
10+
const = "openmp"
11+
12+
[[compiler.clang.parser]]
13+
flags = ["-fsycl-is-device"]
14+
action = "append_const"
15+
dest = "defines"
16+
const = "__SYCL_DEVICE_ONLY__"
17+
18+
[[compiler.clang.modes]]
19+
name = "openmp"
20+
defines = ["_OPENMP"]

codebasin/compilers/gnu.toml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[compiler.gcc]
2+
3+
[compiler."g++"]
4+
alias_of = "gcc"
5+
6+
[[compiler.gcc.parser]]
7+
flags = ["-fopenmp"]
8+
action = "append_const"
9+
dest = "modes"
10+
const = "openmp"
11+
12+
[[compiler.gcc.modes]]
13+
name = "openmp"
14+
defines = ["_OPENMP"]

codebasin/compilers/intel.toml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
[compiler.icx]
2+
3+
[compiler.icpx]
4+
alias_of = "icx"
5+
6+
[[compiler.icx.parser]]
7+
flags = ["-fopenmp"]
8+
action = "append_const"
9+
dest = "modes"
10+
const = "openmp"
11+
12+
[[compiler.icx.parser]]
13+
flags = ["-fsycl"]
14+
action = "append_const"
15+
dest = "modes"
16+
const = "sycl"
17+
18+
[[compiler.icx.parser]]
19+
flags = ["-fsycl-targets"]
20+
action = "store_split"
21+
sep = ","
22+
format = "sycl-$value"
23+
dest = "passes"
24+
default = ["sycl-spir64"]
25+
26+
[[compiler.icx.modes]]
27+
name = "sycl"
28+
defines = ["SYCL_LANGUAGE_VERSION"]
29+
30+
[[compiler.icx.modes]]
31+
name = "openmp"
32+
defines = ["_OPENMP"]
33+
34+
[[compiler.icx.passes]]
35+
name = "sycl-spir64"
36+
defines = ["__SYCL_DEVICE_ONLY__", "__SPIR__", "__SPIRV__"]
37+
modes = ["sycl"]
38+
39+
[[compiler.icx.passes]]
40+
name = "sycl-spir64_x86_64"
41+
defines = ["__SYCL_DEVICE_ONLY__", "__SPIR__", "__SPIRV__"]
42+
modes = ["sycl"]
43+
44+
[[compiler.icx.passes]]
45+
name = "sycl-spir64_gen"
46+
defines = ["__SYCL_DEVICE_ONLY__", "__SPIR__", "__SPIRV__"]
47+
modes = ["sycl"]
48+
49+
[[compiler.icx.passes]]
50+
name = "sycl-spir64_fpga"
51+
defines = ["__SYCL_DEVICE_ONLY__", "__SPIR__", "__SPIRV__"]
52+
modes = ["sycl"]

codebasin/compilers/nvidia.toml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
[compiler.nvcc]
2+
options = ["-D__NVCC__", "-D__CUDACC__"]
3+
4+
[[compiler.nvcc.parser]]
5+
flags = ["-fopenmp"]
6+
action = "append_const"
7+
dest = "modes"
8+
const = "openmp"
9+
10+
[[compiler.nvcc.parser]]
11+
flags = ["--gpu-architecture", "--gpu-code", "-gencode"]
12+
action = "extend_match"
13+
pattern = '(?:sm_|compute_)(\d+)'
14+
format = "sm_$value"
15+
dest = "passes"
16+
default = ["sm_70"]
17+
override = true
18+
19+
[[compiler.nvcc.modes]]
20+
name = "openmp"
21+
defines = ["_OPENMP"]
22+
23+
[[compiler.nvcc.passes]]
24+
name = "sm_70"
25+
defines = ["__CUDA_ARCH__=700"]
26+
27+
[[compiler.nvcc.passes]]
28+
name = "sm_75"
29+
defines = ["__CUDA_ARCH__=750"]
30+
31+
[[compiler.nvcc.passes]]
32+
name = "sm_80"
33+
defines = ["__CUDA_ARCH__=800"]
34+
35+
[[compiler.nvcc.passes]]
36+
name = "sm_89"
37+
defines = ["__CUDA_ARCH__=890"]
38+
39+
[[compiler.nvcc.passes]]
40+
name = "sm_90"
41+
defines = ["__CUDA_ARCH__=900"]

0 commit comments

Comments
 (0)