You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

280 lines
14 KiB

# this file simulates an execution of cuda-memcheck
set(LOG_FILE "$ENV{PSEUDO_LOGFILE}")
message("LOG_FILE=[${LOG_FILE}]")
# clear the log file
file(REMOVE "${LOG_FILE}")
# create an error of each type of sanitizer tool and failure
# initcheck
file(APPEND "${LOG_FILE}"
"========= CUDA-MEMCHECK
========= Uninitialized __global__ memory read of size 4
========= at 0x00000020 in test(int*, int*)
========= by thread (0,0,0) in block (0,0,0)
========= Address 0x1303d80000
========= Saved host backtrace up to driver entry point
========= Host Frame:/lib64/libcuda.so.1 (cuLaunchKernel + 0x346) [0x297db6]
========= Host Frame:./uninit-read [0x101d9]
========= Host Frame:./uninit-read [0x10267]
========= Host Frame:./uninit-read [0x465b5]
========= Host Frame:./uninit-read [0x3342]
========= Host Frame:./uninit-read [0x3143]
========= Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22505]
========= Host Frame:./uninit-read [0x31e2]
=========
========= Unused memory in allocation 0x1303d80000 of size 16 bytes
========= Not written any memory.
========= 100.00% of allocation were unused.
========= Saved host backtrace up to driver entry point
========= Host Frame:/lib64/libcuda.so.1 (cuMemAlloc_v2 + 0x1b7) [0x26ec97]
========= Host Frame:./uninit-read [0x2bbd3]
========= Host Frame:./uninit-read [0x71ab]
========= Host Frame:./uninit-read [0x3c84f]
========= Host Frame:./uninit-read [0x3111]
========= 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
")
# synccheck
file(APPEND "${LOG_FILE}"
"========= CUDA-MEMCHECK
========= Barrier error detected. Divergent thread(s) in warp
========= at 0x00000058 in test(int*, int*)
========= by thread (1,0,0) in block (0,0,0)
========= Device Frame:test(int*, int*) (test(int*, int*) : 0x60)
========= Saved host backtrace up to driver entry point at kernel launch time
========= Host Frame:/lib64/libcuda.so.1 (cuLaunchKernel + 0x346) [0x297db6]
========= Host Frame:./sync [0x101d9]
========= Host Frame:./sync [0x10267]
========= Host Frame:./sync [0x465b5]
========= Host Frame:./sync [0x3342]
========= Host Frame:./sync [0x314a]
========= Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22505]
========= Host Frame:./sync [0x31e2]
=========
========= Barrier error detected. Divergent thread(s) in warp
========= at 0x00000058 in test(int*, int*)
========= by thread (0,0,0) in block (0,0,0)
========= Device Frame:test(int*, int*) (test(int*, int*) : 0x60)
========= Saved host backtrace up to driver entry point at kernel launch time
========= Host Frame:/lib64/libcuda.so.1 (cuLaunchKernel + 0x346) [0x297db6]
========= Host Frame:./sync [0x101d9]
========= Host Frame:./sync [0x10267]
========= Host Frame:./sync [0x465b5]
========= Host Frame:./sync [0x3342]
========= Host Frame:./sync [0x314a]
========= Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22505]
========= Host Frame:./sync [0x31e2]
=========
========= ERROR SUMMARY: 2 errors
")
# memcheck
file(APPEND "${LOG_FILE}"
"========= CUDA-MEMCHECK
========= Invalid __global__ read of size 4
========= at 0x00000020 in test(int*, int*)
========= by thread (0,0,0) in block (0,0,0)
========= Address 0x00000000 is out of bounds
========= Saved host backtrace up to driver entry point at kernel launch time
========= Host Frame:/lib64/libcuda.so.1 (cuLaunchKernel + 0x346) [0x297db6]
========= Host Frame:./invalid-read [0x101d9]
========= Host Frame:./invalid-read [0x10267]
========= Host Frame:./invalid-read [0x465b5]
========= Host Frame:./invalid-read [0x3342]
========= Host Frame:./invalid-read [0x3142]
========= Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22505]
========= Host Frame:./invalid-read [0x31e2]
=========
========= Program hit cudaErrorLaunchFailure (error 719) due to \"unspecified launch failure\" on CUDA API call to cudaDeviceSynchronize.
========= Saved host backtrace up to driver entry point at error
========= Host Frame:/lib64/libcuda.so.1 [0x3ac5a3]
========= Host Frame:./invalid-read [0x2e576]
========= Host Frame:./invalid-read [0x3147]
========= Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22505]
========= Host Frame:./invalid-read [0x31e2]
=========
========= Program hit cudaErrorLaunchFailure (error 719) due to \"unspecified launch failure\" on CUDA API call to cudaFree.
========= Saved host backtrace up to driver entry point at error
========= Host Frame:/lib64/libcuda.so.1 [0x3ac5a3]
========= Host Frame:./invalid-read [0x3c106]
========= Host Frame:./invalid-read [0x3150]
========= 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
")
# memcheck with leak-check full
file(APPEND "${LOG_FILE}"
"========= CUDA-MEMCHECK
========= Leaked 10 bytes at 0x1303d80000
========= Saved host backtrace up to driver entry point at cudaMalloc time
========= Host Frame:/lib64/libcuda.so.1 (cuMemAlloc_v2 + 0x1b7) [0x26ec97]
========= Host Frame:./leak [0x2bab3]
========= Host Frame:./leak [0x708b]
========= Host Frame:./leak [0x3c72f]
========= Host Frame:./leak [0x3113]
========= Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22505]
========= Host Frame:./leak [0x3174]
=========
========= LEAK SUMMARY: 10 bytes leaked in 1 allocations
========= ERROR SUMMARY: 1 error
")
# racecheck with racecheck-report all
file(APPEND "${LOG_FILE}"
"========= CUDA-MEMCHECK
========= WARN:(Warp Level Programming) Potential WAR hazard detected at __shared__ 0x3 in block (0, 0, 0) :
========= Read Thread (31, 0, 0) at 0x00000170 in ./race.cu:4:test(int*, int*)
========= Write Thread (0, 0, 0) at 0x000001a8 in ./race.cu:4:test(int*, int*)
========= Current Value : 0, Incoming Value : 0
========= Saved host backtrace up to driver entry point at kernel launch time
========= Host Frame:/lib64/libcuda.so.1 (cuLaunchKernel + 0x346) [0x297db6]
========= Host Frame:./race [0x101d9]
========= Host Frame:./race [0x10267]
========= Host Frame:./race [0x465b5]
========= Host Frame:./race [0x3342]
========= Host Frame:./race [0x314a]
========= Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22505]
========= Host Frame:./race [0x31e2]
=========
========= WARN:(Warp Level Programming) Potential WAR hazard detected at __shared__ 0x2 in block (0, 0, 0) :
========= Read Thread (31, 0, 0) at 0x00000170 in ./race.cu:4:test(int*, int*)
========= Write Thread (0, 0, 0) at 0x000001a8 in ./race.cu:4:test(int*, int*)
========= Current Value : 0, Incoming Value : 0
========= Saved host backtrace up to driver entry point at kernel launch time
========= Host Frame:/lib64/libcuda.so.1 (cuLaunchKernel + 0x346) [0x297db6]
========= Host Frame:./race [0x101d9]
========= Host Frame:./race [0x10267]
========= Host Frame:./race [0x465b5]
========= Host Frame:./race [0x3342]
========= Host Frame:./race [0x314a]
========= Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22505]
========= Host Frame:./race [0x31e2]
=========
========= WARN:(Warp Level Programming) Potential WAR hazard detected at __shared__ 0x1 in block (0, 0, 0) :
========= Read Thread (31, 0, 0) at 0x00000170 in ./race.cu:4:test(int*, int*)
========= Write Thread (0, 0, 0) at 0x000001a8 in ./race.cu:4:test(int*, int*)
========= Current Value : 0, Incoming Value : 0
========= Saved host backtrace up to driver entry point at kernel launch time
========= Host Frame:/lib64/libcuda.so.1 (cuLaunchKernel + 0x346) [0x297db6]
========= Host Frame:./race [0x101d9]
========= Host Frame:./race [0x10267]
========= Host Frame:./race [0x465b5]
========= Host Frame:./race [0x3342]
========= Host Frame:./race [0x314a]
========= Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22505]
========= Host Frame:./race [0x31e2]
=========
========= WARN:(Warp Level Programming) Potential WAR hazard detected at __shared__ 0x0 in block (0, 0, 0) :
========= Read Thread (31, 0, 0) at 0x00000170 in ./race.cu:4:test(int*, int*)
========= Write Thread (0, 0, 0) at 0x000001a8 in ./race.cu:4:test(int*, int*)
========= Current Value : 0, Incoming Value : 1
========= Saved host backtrace up to driver entry point at kernel launch time
========= Host Frame:/lib64/libcuda.so.1 (cuLaunchKernel + 0x346) [0x297db6]
========= Host Frame:./race [0x101d9]
========= Host Frame:./race [0x10267]
========= Host Frame:./race [0x465b5]
========= Host Frame:./race [0x3342]
========= Host Frame:./race [0x314a]
========= Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22505]
========= Host Frame:./race [0x31e2]
=========
========= WARN:(Warp Level Programming) Potential RAW hazard detected at __shared__ 0x3 in block (0, 0, 0) :
========= Write Thread (31, 0, 0) at 0x00000148 in ./race.cu:3:test(int*, int*)
========= Read Thread (0, 0, 0) at 0x00000170 in ./race.cu:4:test(int*, int*)
========= Current Value : 0
========= Saved host backtrace up to driver entry point at kernel launch time
========= Host Frame:/lib64/libcuda.so.1 (cuLaunchKernel + 0x346) [0x297db6]
========= Host Frame:./race [0x101d9]
========= Host Frame:./race [0x10267]
========= Host Frame:./race [0x465b5]
========= Host Frame:./race [0x3342]
========= Host Frame:./race [0x314a]
========= Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22505]
========= Host Frame:./race [0x31e2]
=========
========= WARN:(Warp Level Programming) Potential RAW hazard detected at __shared__ 0x2 in block (0, 0, 0) :
========= Write Thread (31, 0, 0) at 0x00000148 in ./race.cu:3:test(int*, int*)
========= Read Thread (0, 0, 0) at 0x00000170 in ./race.cu:4:test(int*, int*)
========= Current Value : 0
========= Saved host backtrace up to driver entry point at kernel launch time
========= Host Frame:/lib64/libcuda.so.1 (cuLaunchKernel + 0x346) [0x297db6]
========= Host Frame:./race [0x101d9]
========= Host Frame:./race [0x10267]
========= Host Frame:./race [0x465b5]
========= Host Frame:./race [0x3342]
========= Host Frame:./race [0x314a]
========= Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22505]
========= Host Frame:./race [0x31e2]
=========
========= WARN:(Warp Level Programming) Potential RAW hazard detected at __shared__ 0x1 in block (0, 0, 0) :
========= Write Thread (31, 0, 0) at 0x00000148 in ./race.cu:3:test(int*, int*)
========= Read Thread (0, 0, 0) at 0x00000170 in ./race.cu:4:test(int*, int*)
========= Current Value : 0
========= Saved host backtrace up to driver entry point at kernel launch time
========= Host Frame:/lib64/libcuda.so.1 (cuLaunchKernel + 0x346) [0x297db6]
========= Host Frame:./race [0x101d9]
========= Host Frame:./race [0x10267]
========= Host Frame:./race [0x465b5]
========= Host Frame:./race [0x3342]
========= Host Frame:./race [0x314a]
========= Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22505]
========= Host Frame:./race [0x31e2]
=========
========= WARN:(Warp Level Programming) Potential RAW hazard detected at __shared__ 0x0 in block (0, 0, 0) :
========= Write Thread (31, 0, 0) at 0x00000148 in ./race.cu:3:test(int*, int*)
========= Read Thread (0, 0, 0) at 0x00000170 in ./race.cu:4:test(int*, int*)
========= Current Value : 0
========= Saved host backtrace up to driver entry point at kernel launch time
========= Host Frame:/lib64/libcuda.so.1 (cuLaunchKernel + 0x346) [0x297db6]
========= Host Frame:./race [0x101d9]
========= Host Frame:./race [0x10267]
========= Host Frame:./race [0x465b5]
========= Host Frame:./race [0x3342]
========= Host Frame:./race [0x314a]
========= Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22505]
========= Host Frame:./race [0x31e2]
=========
========= WARN: Race reported between Read access at 0x00000170 in ./race.cu:4:test(int*, int*)
========= and Write access at 0x00000148 in ./race.cu:3:test(int*, int*) [4 hazards]
========= and Write access at 0x000001a8 in ./race.cu:4:test(int*, int*) [4 hazards]
=========
========= WARN: Race reported between Write access at 0x00000148 in ./race.cu:3:test(int*, int*)
========= and Write access at 0x00000148 in ./race.cu:3:test(int*, int*) [124 hazards]
========= and Read access at 0x00000170 in ./race.cu:4:test(int*, int*) [4 hazards]
=========
========= WARN: Race reported between Write access at 0x000001a8 in ./race.cu:4:test(int*, int*)
========= and Write access at 0x000001a8 in ./race.cu:4:test(int*, int*) [124 hazards]
========= and Read access at 0x00000170 in ./race.cu:4:test(int*, int*) [4 hazards]
=========
========= WARN: Race reported between Write access at 0x00000148 in ./race.cu:3:test(int*, int*)
========= and Write access at 0x00000148 in ./race.cu:3:test(int*, int*) [124 hazards]
========= and Read access at 0x00000170 in ./race.cu:4:test(int*, int*) [4 hazards]
=========
========= RACECHECK SUMMARY: 12 hazards displayed (0 errors, 12 warnings)
")