Repository navigation
Expand file tree
/
Copy pathCMakePresets.json
More file actions
164 lines (164 loc) · 6.69 KB
/
Copy pathCMakePresets.json
File metadata and controls
164 lines (164 loc) · 6.69 KB
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
{
"version": 6,
"cmakeMinimumRequired": { "major": 3, "minor": 28, "patch": 0 },
"configurePresets": [
{
"name": "base",
"hidden": true,
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/${presetName}",
"installDir": "${sourceDir}/build/${presetName}/install",
"cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" }
},
{
"name": "release-base",
"hidden": true,
"inherits": "base",
"description": "Release flavour: SASS for sm_80 (also runs on sm_86/87), sm_89 and sm_120 plus compute_120 PTX for newer GPUs, shared C-API library (moss-infer links it), static cudart. Warnings are not errors here: release toolchains (MSVC, GCC 12, CUDA 12.8) differ from the dev box's.",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_CUDA_ARCHITECTURES": "80-real;89-real;120",
"MOSSINFER_SHARED": "ON",
"MOSSINFER_CLI_SHARED": "ON",
"MOSSINFER_STATIC_CUDART": "ON",
"MOSSINFER_BUNDLE_CUDA_LIBS": "ON",
"MOSSINFER_TESTS": "ON",
"MOSSINFER_WERROR": "OFF"
}
},
{
"name": "linux",
"hidden": true,
"condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Linux" },
"cacheVariables": { "MOSSINFER_STATIC_LIBSTDCXX": "ON" }
},
{
"name": "windows",
"hidden": true,
"description": "MSVC (Visual Studio 2022 or newer) + Ninja: run from a VS x64 developer prompt (CI: ilammy/msvc-dev-cmd).",
"condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Windows" },
"architecture": { "value": "x64", "strategy": "external" },
"toolset": { "value": "host=x64", "strategy": "external" },
"cacheVariables": {
"CMAKE_C_COMPILER": "cl",
"CMAKE_CXX_COMPILER": "cl",
"MOSSINFER_FETCH_GTEST": "ON"
}
},
{
"name": "dev",
"displayName": "Dev box (sm_89, tests, shared library)",
"inherits": "base",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
"CMAKE_CUDA_ARCHITECTURES": "89",
"MOSSINFER_SHARED": "ON",
"MOSSINFER_TESTS": "ON"
}
},
{
"name": "dev-sccache",
"displayName": "Dev box with sccache",
"inherits": "dev",
"description": "The dev preset with sccache as the C, C++ and CUDA compiler launcher, in its own build directory. Needs sccache >= 0.18 on PATH, which configure checks (cmake/sccache_version_check.cmake): 0.16 fails at nvcc 13.4's fatbinary step, 0.17 is untested. C++ module scanning is off: sccache does not cache -fmodules-ts compiles, and the project has no modules.",
"cacheVariables": {
"CMAKE_PROJECT_INCLUDE_BEFORE": "${sourceDir}/cmake/sccache_version_check.cmake",
"CMAKE_CXX_SCAN_FOR_MODULES": "OFF",
"CMAKE_C_COMPILER_LAUNCHER": "sccache",
"CMAKE_CXX_COMPILER_LAUNCHER": "sccache",
"CMAKE_CUDA_COMPILER_LAUNCHER": "sccache"
}
},
{
"name": "linux-cuda13",
"displayName": "Linux release, CUDA 13.x (driver >= 580)",
"inherits": [ "release-base", "linux" ],
"cacheVariables": { "MOSSINFER_EXPECT_CUDA_MAJOR": "13" }
},
{
"name": "linux-cuda12",
"displayName": "Linux release, CUDA 12.8+ (driver >= 525)",
"inherits": [ "release-base", "linux" ],
"cacheVariables": { "MOSSINFER_EXPECT_CUDA_MAJOR": "12" }
},
{
"name": "linux-cuda12-sm70",
"displayName": "Linux release, CUDA 12.8+ with Volta (sm_70)",
"inherits": "linux-cuda12",
"cacheVariables": { "MOSSINFER_SM70": "ON" }
},
{
"name": "windows-msvc-cuda13",
"displayName": "Windows release, MSVC + CUDA 13.x (driver >= 580)",
"inherits": [ "release-base", "windows" ],
"cacheVariables": { "MOSSINFER_EXPECT_CUDA_MAJOR": "13" }
},
{
"name": "windows-msvc-cuda13-sm75",
"displayName": "Windows release, CUDA 13.x with Turing (sm_75)",
"inherits": "windows-msvc-cuda13",
"binaryDir": "${sourceDir}/build/${presetName}",
"cacheVariables": { "MOSSINFER_SM75": "ON" }
},
{
"name": "windows-msvc-cuda12",
"displayName": "Windows release, MSVC + CUDA 12.8+ (driver >= 527)",
"inherits": [ "release-base", "windows" ],
"cacheVariables": { "MOSSINFER_EXPECT_CUDA_MAJOR": "12" }
}
],
"buildPresets": [
{ "name": "dev", "configurePreset": "dev" },
{ "name": "dev-sccache", "configurePreset": "dev-sccache" },
{ "name": "linux-cuda13", "configurePreset": "linux-cuda13" },
{ "name": "linux-cuda12", "configurePreset": "linux-cuda12" },
{ "name": "linux-cuda12-sm70", "configurePreset": "linux-cuda12-sm70" },
{ "name": "windows-msvc-cuda13", "configurePreset": "windows-msvc-cuda13" },
{ "name": "windows-msvc-cuda13-sm75", "configurePreset": "windows-msvc-cuda13-sm75" },
{ "name": "windows-msvc-cuda12", "configurePreset": "windows-msvc-cuda12" }
],
"testPresets": [
{
"name": "test-base",
"hidden": true,
"output": { "outputOnFailure": true },
"execution": { "noTestsAction": "error" }
},
{ "name": "dev", "inherits": "test-base", "configurePreset": "dev" },
{ "name": "dev-sccache", "inherits": "test-base", "configurePreset": "dev-sccache" },
{ "name": "linux-cuda13", "inherits": "test-base", "configurePreset": "linux-cuda13" },
{
"name": "linux-cuda12",
"inherits": "test-base",
"configurePreset": "linux-cuda12",
"description": "bitexact_cu13 tests compare against CUDA 13.4 libdevice and are excluded.",
"filter": { "exclude": { "label": "bitexact_cu13" } }
},
{
"name": "linux-cuda12-sm70",
"inherits": "linux-cuda12",
"configurePreset": "linux-cuda12-sm70"
},
{ "name": "windows-msvc-cuda13", "inherits": "test-base", "configurePreset": "windows-msvc-cuda13" },
{
"name": "windows-msvc-cuda13-sm75",
"inherits": "test-base",
"configurePreset": "windows-msvc-cuda13-sm75"
},
{
"name": "windows-msvc-cuda12",
"inherits": "test-base",
"configurePreset": "windows-msvc-cuda12",
"description": "bitexact_cu13 tests compare against CUDA 13.4 libdevice and are excluded.",
"filter": { "exclude": { "label": "bitexact_cu13" } }
}
],
"packagePresets": [
{ "name": "linux-cuda13", "configurePreset": "linux-cuda13" },
{ "name": "linux-cuda12", "configurePreset": "linux-cuda12" },
{ "name": "linux-cuda12-sm70", "configurePreset": "linux-cuda12-sm70" },
{ "name": "windows-msvc-cuda13", "configurePreset": "windows-msvc-cuda13" },
{ "name": "windows-msvc-cuda13-sm75", "configurePreset": "windows-msvc-cuda13-sm75" },
{ "name": "windows-msvc-cuda12", "configurePreset": "windows-msvc-cuda12" }
]
}