Commit 35807cf
authored
[CI] Speed up GitLab Windows build with parallel C++ compilation (#8925)
## Summary of changes
Enable MSVC multiprocessor compilation for the GitLab Windows build,
capped at the runner's 16 logical processors. Increase the container
memory limit from 10 GB to 20 GB and log runner and peak container
memory.
## Reason for change
The Windows GitLab build took around 40 minutes. Native compilation
accounted for 24:52 of the 31:45 NUKE execution.
## Implementation details
Set `ENABLE_MULTIPROCESSOR_COMPILATION=true` and `CL_MPCount=16`. The
runner has 16 logical processors and approximately 31 GB of RAM. Peak
container usage with MP16 was 9.105 GiB.
## Test coverage
| Configuration | NUKE | Native compilation | End-to-end | Peak
container memory |
| --- | ---: | ---: | ---: | ---: |
| Baseline, MP disabled / 10 GB | 31:45 | 24:52 | ~40 min | Not measured
|
| MP2 / 10 GB | 22:27 | 14:40 | ~29–31 min | Not measured |
| MP3 / 10 GB | Not measured | Not measured | ~24–28 min | Not measured
|
| MP4 / 16 GB | 15:00–15:54 | Not measured | ~17–23 min | Not measured |
| MP8 / 16 GB | 13:50 | 6:01 | 23:27 | Not measured |
| MP8 / 20 GB | 13:11 | 5:44 | 21:31 | 8.686 GiB |
| MP16 / 20 GB | 11:37 | 4:37 | 19:54 | 9.105 GiB |
| Configuration | Tracer | Loader | Profiler |
| --- | ---: | ---: | ---: |
| Baseline | 8:38 | 2:46 | 13:28 |
| MP2 / 10 GB | 5:15 | 1:40 | 7:45 |
| MP8 / 16 GB | 2:21 | 0:42 | 2:58 |
| MP8 / 20 GB | 2:13 | 0:41 | 2:50 |
| MP16 / 20 GB | 1:50 | 0:33 | 2:14 |
MP16 reduced NUKE time by approximately 63% and cold end-to-end time by
approximately 50% compared with `master`. All runs completed without OOM
or compiler failures. End-to-end variance was mostly caused by the 7–9
minute Docker image pull.1 parent 821b067 commit 35807cf
1 file changed
Lines changed: 78 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
111 | | - | |
| 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 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
112 | 173 | | |
113 | 174 | | |
114 | | - | |
| 175 | + | |
| 176 | + | |
115 | 177 | | |
116 | 178 | | |
117 | 179 | | |
| |||
121 | 183 | | |
122 | 184 | | |
123 | 185 | | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
124 | 199 | | |
125 | 200 | | |
126 | 201 | | |
| |||
377 | 452 | | |
378 | 453 | | |
379 | 454 | | |
380 | | - | |
| 455 | + | |
0 commit comments