Enables -Db_sanitize=undefined and company. Also serves as a testcase for NVCC comma-shielding: Because the test- case declares `b_sanitize=address,undefined`, the host GCC compiler needs `-fsanitize=address,undefined`, but this stands a danger of being split by NVCC when wrapped with `-Xcompiler=args,args`. Special, already-existing comma-shielding codepaths activate to prevent this splitting. Closes #8394.0.57
parent
7182685b22
commit
84bf8e1f73
3 changed files with 40 additions and 0 deletions
@ -0,0 +1,4 @@ |
||||
project('simple', 'cuda', version : '1.0.0', |
||||
default_options: ['b_sanitize=address,undefined']) |
||||
|
||||
libtests = shared_library('tests', 'prog.cu') |
@ -0,0 +1,30 @@ |
||||
#include <iostream> |
||||
|
||||
int run_tests(void) { |
||||
int cuda_devices = 0; |
||||
std::cout << "CUDA version: " << CUDART_VERSION << "\n"; |
||||
cudaGetDeviceCount(&cuda_devices); |
||||
if(cuda_devices == 0) { |
||||
std::cout << "No Cuda hardware found. Exiting.\n"; |
||||
return 0; |
||||
} |
||||
std::cout << "This computer has " << cuda_devices << " Cuda device(s).\n"; |
||||
cudaDeviceProp props; |
||||
cudaGetDeviceProperties(&props, 0); |
||||
std::cout << "Properties of device 0.\n\n"; |
||||
|
||||
std::cout << " Name: " << props.name << "\n"; |
||||
std::cout << " Global memory: " << props.totalGlobalMem << "\n"; |
||||
std::cout << " Shared memory: " << props.sharedMemPerBlock << "\n"; |
||||
std::cout << " Constant memory: " << props.totalConstMem << "\n"; |
||||
std::cout << " Block registers: " << props.regsPerBlock << "\n"; |
||||
|
||||
std::cout << " Warp size: " << props.warpSize << "\n"; |
||||
std::cout << " Threads per block: " << props.maxThreadsPerBlock << "\n"; |
||||
std::cout << " Max block dimensions: [ " << props.maxThreadsDim[0] << ", " << props.maxThreadsDim[1] << ", " << props.maxThreadsDim[2] << " ]" << "\n"; |
||||
std::cout << " Max grid dimensions: [ " << props.maxGridSize[0] << ", " << props.maxGridSize[1] << ", " << props.maxGridSize[2] << " ]" << "\n"; |
||||
std::cout << "\n"; |
||||
|
||||
return 0; |
||||
} |
||||
|
Loading…
Reference in new issue