Преглед изворни кода

Merge topic 'cuda_memcheck_more_errors'

d7a2cf681b Tests: Add cases for cuda-memcheck error types
562dcec3c4 CTest: Add error types to cuda-memcheck parser

Acked-by: Kitware Robot <[email protected]>
Merge-request: !5101
Brad King пре 5 година
родитељ
комит
ac44121027

+ 2 - 1
Source/CTest/cmCTestMemCheckHandler.cxx

@@ -1164,13 +1164,14 @@ bool cmCTestMemCheckHandler::ProcessMemCheckCudaOutput(
     "== Program hit error ([^ ]*).* on CUDA API call to",
     "== Program hit ([^ ]*).* on CUDA API call to",
     // memcheck
-    "== (Invalid .*) of size [0-9,]+",
+    "== (Invalid .*) of size [0-9,]+", "== (Fatal UVM [CG]PU fault)",
     // racecheck
     "== .* (Potential .* hazard detected)", "== .* (Race reported)",
     // synccheck
     "== (Barrier error)",
     // initcheck
     "== (Uninitialized .* memory read)", "== (Unused memory)",
+    "== (Host API memory access error)",
     // generic error: ignore ERROR SUMMARY, CUDA-MEMCHECK and others
     "== ([A-Z][a-z].*)"
   };

+ 1 - 1
Tests/RunCMake/ctest_memcheck/DummyCudaMemcheck-stderr.txt

@@ -1 +1 @@
-Defect count: 20
+Defect count: 23

+ 3 - 0
Tests/RunCMake/ctest_memcheck/DummyCudaMemcheck-stdout.txt

@@ -1,9 +1,12 @@
 Memory checking results:
 Uninitialized __global__ memory read - 1
 Unused memory - 1
+Host API memory access error - 1
 Barrier error - 2
 Invalid __global__ read - 1
 cudaErrorLaunchFailure - 2
+Fatal UVM GPU fault - 1
+Fatal UVM CPU fault - 1
 Memory leak - 1
 Potential WAR hazard detected - 4
 Potential RAW hazard detected - 4

+ 15 - 0
Tests/RunCMake/ctest_memcheck/testCudaMemcheck.cmake

@@ -37,6 +37,15 @@ file(APPEND "${LOG_FILE}"
 =========     Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22505]
 =========     Host Frame:./uninit-read [0x31e2]
 =========
+========= Host API memory access error at host access to 0x1303fd1400 of size 25600 bytes
+=========     Uninitialized access at 0x1303fd4600 on access by cudaMemcopy source.
+=========     Saved host backtrace up to driver entry point at error
+=========     Host Frame:/usr/lib/x86_64-linux-gnu/libcuda.so.1 (cuMemcpyDtoH_v2 + 0x1ec) [0x29200c]
+=========     Host Frame:/usr/local/cuda/targets/x86_64-linux/lib/libcudart.so.10.1 [0x38aaa]
+=========     Host Frame:/usr/local/cuda/targets/x86_64-linux/lib/libcudart.so.10.1 [0x18946]
+=========     Host Frame:/usr/local/cuda/targets/x86_64-linux/lib/libcudart.so.10.1 (cudaMemcpy + 0x1a2) [0x3b8c2]
+=========     Host Frame:/something/somewhere [0xcafe]
+=========
 ========= ERROR SUMMARY: 2 errors
 ")
 
@@ -108,6 +117,12 @@ file(APPEND "${LOG_FILE}"
 =========     Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22505]
 =========     Host Frame:./invalid-read [0x31e2]
 =========
+========= Fatal UVM GPU fault of type invalid pde due to invalid address
+=========     during atomic access to address 0x20be00000
+=========
+========= Fatal UVM CPU fault due to invalid operation
+=========     during read access to address 0x1357c92000
+=========
 ========= LEAK SUMMARY: 0 bytes leaked in 0 allocations
 ========= ERROR SUMMARY: 3 errors
 ")