Skip to content

Commit 853baef

Browse files
authored
Sanitizer improvements. (#2157)
Enable HMM support when running under compute-sanitizer. Also run base testsuite under compute-sanitizer.
1 parent 0e65374 commit 853baef

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

.buildkite/pipeline.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ steps:
2020
commands: |
2121
echo -e "[CUDA_Runtime_jll]\nlocal = \"true\"" >LocalPreferences.toml
2222
if: build.message !~ /\[skip tests\]/
23-
timeout_in_minutes: 120
23+
timeout_in_minutes: 60
2424
matrix:
2525
setup:
2626
julia:
@@ -53,7 +53,7 @@ steps:
5353
queue: "juliagpu"
5454
cuda: "*"
5555
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
56-
timeout_in_minutes: 120
56+
timeout_in_minutes: 30
5757
matrix:
5858
setup:
5959
cuda:
@@ -89,7 +89,7 @@ steps:
8989
queue: "juliagpu"
9090
cuda: "*"
9191
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
92-
timeout_in_minutes: 120
92+
timeout_in_minutes: 30
9393
matrix:
9494
setup:
9595
memory:
@@ -130,7 +130,7 @@ steps:
130130
queue: "juliagpu"
131131
cuda: "*"
132132
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
133-
timeout_in_minutes: 120
133+
timeout_in_minutes: 15
134134
commands: |
135135
julia --project -e '
136136
using Pkg
@@ -189,7 +189,7 @@ steps:
189189
queue: "juliagpu"
190190
cuda: "*"
191191
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
192-
timeout_in_minutes: 60
192+
timeout_in_minutes: 30
193193
soft_fail:
194194
- exit_status: 3
195195

@@ -221,7 +221,7 @@ steps:
221221
queue: "juliagpu"
222222
intel: "*"
223223
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
224-
timeout_in_minutes: 60
224+
timeout_in_minutes: 5
225225

226226
- label: "Documentation"
227227
plugins:
@@ -243,14 +243,14 @@ steps:
243243
cuda: "*"
244244
if: build.message !~ /\[skip docs\]/ &&
245245
!build.pull_request.draft
246-
timeout_in_minutes: 30
246+
timeout_in_minutes: 15
247247

248248
- label: "Compute sanitizer"
249249
plugins:
250250
- JuliaCI/julia#v1:
251251
version: 1.9
252252
- JuliaCI/julia-test#v1:
253-
test_args: "--sanitize core"
253+
test_args: "--sanitize core base"
254254
- JuliaCI/julia-coverage#v1:
255255
dirs:
256256
- src
@@ -262,7 +262,7 @@ steps:
262262
env:
263263
JULIA_CUDA_USE_COMPAT: 'false' # NVIDIA bug #3418723: injection tools prevent probing libcuda
264264
if: build.message !~ /\[skip tests\]/ && !build.pull_request.draft
265-
timeout_in_minutes: 10
265+
timeout_in_minutes: 30
266266

267267
# we want to benchmark every commit on the master branch, even if it failed CI
268268
- wait: ~

src/utilities.jl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,12 @@ end
179179
# this helper function encodes options for compute-sanitizer useful with Julia applications
180180
function compute_sanitizer_cmd(tool::String="memcheck")
181181
sanitizer = CUDA.compute_sanitizer()
182-
`$sanitizer --tool $tool --launch-timeout=0 --target-processes=all --report-api-errors=no`
182+
cmd = `$sanitizer --tool $tool --launch-timeout=0 --target-processes=all --report-api-errors=no`
183+
if runtime_version() >= v"12.3" &&
184+
attribute(device(), DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS) == 1
185+
cmd = `$cmd --hmm-support`
186+
end
187+
cmd
183188
end
184189

185190
"""

0 commit comments

Comments
 (0)