|
|
@@ -0,0 +1,264 @@
|
|
|
+# 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]
|
|
|
+=========
|
|
|
+========= 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]
|
|
|
+=========
|
|
|
+========= 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)
|
|
|
+")
|