@@ -301,102 +301,102 @@ void printDeviceProp(int32_t deviceId)
301301 cudaDeviceProp props;
302302 GPUCHECK (cudaGetDeviceProperties (&props, deviceId));
303303
304- int32_t clockRateKHz = 0 ;
305- int32_t memoryClockRateKHz = 0 ;
306- int32_t computeMode = 0 ;
304+ int32_t clockRateKHz = 0 ;
305+ int32_t memoryClockRateKHz = 0 ;
306+ int32_t computeMode = 0 ;
307307
308308#if (CUDART_VERSION >= 13000)
309- GPUCHECK (cudaDeviceGetAttribute (&clockRateKHz, cudaDevAttrClockRate, deviceId));
310- GPUCHECK (cudaDeviceGetAttribute (&memoryClockRateKHz, cudaDevAttrMemoryClockRate, deviceId));
311- GPUCHECK (cudaDeviceGetAttribute (&computeMode, cudaDevAttrComputeMode, deviceId));
309+ GPUCHECK (cudaDeviceGetAttribute (&clockRateKHz, cudaDevAttrClockRate, deviceId));
310+ GPUCHECK (cudaDeviceGetAttribute (&memoryClockRateKHz, cudaDevAttrMemoryClockRate, deviceId));
311+ GPUCHECK (cudaDeviceGetAttribute (&computeMode, cudaDevAttrComputeMode, deviceId));
312312#else
313- clockRateKHz = props.clockRate ;
314- memoryClockRateKHz = props.memoryClockRate ;
315- computeMode = props.computeMode ;
316- cooperativeMultiDevice = props.cooperativeMultiDeviceLaunch ;
313+ clockRateKHz = props.clockRate ;
314+ memoryClockRateKHz = props.memoryClockRate ;
315+ computeMode = props.computeMode ;
316+ cooperativeMultiDevice = props.cooperativeMultiDeviceLaunch ;
317317#endif
318- std::cout << std::setw (w1) << " Name: " << props.name << std::endl;
319- std::cout << std::setw (w1) << " pciBusID: " << props.pciBusID << std::endl;
320- std::cout << std::setw (w1) << " pciDeviceID: " << props.pciDeviceID << std::endl;
321- std::cout << std::setw (w1) << " pciDomainID: " << props.pciDomainID << std::endl;
322- std::cout << std::setw (w1) << " multiProcessorCount: " << props.multiProcessorCount << std::endl;
323- std::cout << std::setw (w1) << " maxThreadsPerMultiProcessor: " << props.maxThreadsPerMultiProcessor
324- << std::endl;
325- std::cout << std::setw (w1) << " isMultiGpuBoard: " << props.isMultiGpuBoard << std::endl;
326-
327- // Use the variables we populated above for the moved properties
328- std::cout << std::setw (w1) << " clockRate: " << (float )clockRateKHz / 1000.0 << " Mhz" << std::endl;
329- std::cout << std::setw (w1) << " memoryClockRate: " << (float )memoryClockRateKHz / 1000.0 << " Mhz"
330- << std::endl;
331-
332- std::cout << std::setw (w1) << " memoryBusWidth: " << props.memoryBusWidth << std::endl;
333-
334- // clockInstructionRate is just another name for clockRate in this context
335- std::cout << std::setw (w1) << " clockInstructionRate: " << (float )clockRateKHz / 1000.0
336- << " Mhz" << std::endl;
337- std::cout << std::setw (w1) << " totalGlobalMem: " << std::fixed << std::setprecision (2 )
338- << bytesToGB (props.totalGlobalMem ) << " GB" << std::endl;
318+ std::cout << std::setw (w1) << " Name: " << props.name << std::endl;
319+ std::cout << std::setw (w1) << " pciBusID: " << props.pciBusID << std::endl;
320+ std::cout << std::setw (w1) << " pciDeviceID: " << props.pciDeviceID << std::endl;
321+ std::cout << std::setw (w1) << " pciDomainID: " << props.pciDomainID << std::endl;
322+ std::cout << std::setw (w1) << " multiProcessorCount: " << props.multiProcessorCount << std::endl;
323+ std::cout << std::setw (w1) << " maxThreadsPerMultiProcessor: " << props.maxThreadsPerMultiProcessor
324+ << std::endl;
325+ std::cout << std::setw (w1) << " isMultiGpuBoard: " << props.isMultiGpuBoard << std::endl;
326+
327+ // Use the variables we populated above for the moved properties
328+ std::cout << std::setw (w1) << " clockRate: " << (float )clockRateKHz / 1000.0 << " Mhz" << std::endl;
329+ std::cout << std::setw (w1) << " memoryClockRate: " << (float )memoryClockRateKHz / 1000.0 << " Mhz"
330+ << std::endl;
331+
332+ std::cout << std::setw (w1) << " memoryBusWidth: " << props.memoryBusWidth << std::endl;
333+
334+ // clockInstructionRate is just another name for clockRate in this context
335+ std::cout << std::setw (w1) << " clockInstructionRate: " << (float )clockRateKHz / 1000.0
336+ << " Mhz" << std::endl;
337+ std::cout << std::setw (w1) << " totalGlobalMem: " << std::fixed << std::setprecision (2 )
338+ << bytesToGB (props.totalGlobalMem ) << " GB" << std::endl;
339339#if !defined(__CUDACC__)
340- std::cout << std::setw (w1) << " maxSharedMemoryPerMultiProcessor: " << std::fixed << std::setprecision (2 )
341- << bytesToconfig (props.sharedMemPerMultiprocessor ) << " config" << std::endl;
340+ std::cout << std::setw (w1) << " maxSharedMemoryPerMultiProcessor: " << std::fixed << std::setprecision (2 )
341+ << bytesToconfig (props.sharedMemPerMultiprocessor ) << " config" << std::endl;
342342#endif
343343#if defined(__HIPCC__)
344- std::cout << std::setw (w1) << " maxSharedMemoryPerMultiProcessor: " << std::fixed << std::setprecision (2 )
345- << bytesToconfig (props.maxSharedMemoryPerMultiProcessor ) << " config" << std::endl;
344+ std::cout << std::setw (w1) << " maxSharedMemoryPerMultiProcessor: " << std::fixed << std::setprecision (2 )
345+ << bytesToconfig (props.maxSharedMemoryPerMultiProcessor ) << " config" << std::endl;
346346#endif
347- std::cout << std::setw (w1) << " totalConstMem: " << props.totalConstMem << std::endl;
348- std::cout << std::setw (w1) << " sharedMemPerBlock: " << (float )props.sharedMemPerBlock / 1024.0 << " config"
349- << std::endl;
350- std::cout << std::setw (w1) << " canMapHostMemory: " << props.canMapHostMemory << std::endl;
351- std::cout << std::setw (w1) << " regsPerBlock: " << props.regsPerBlock << std::endl;
352- std::cout << std::setw (w1) << " warpSize: " << props.warpSize << std::endl;
353- std::cout << std::setw (w1) << " l2CacheSize: " << props.l2CacheSize << std::endl;
354-
355- // Use the variable for computeMode
356- std::cout << std::setw (w1) << " computeMode: " << computeMode << std::endl;
357-
358- std::cout << std::setw (w1) << " maxThreadsPerBlock: " << props.maxThreadsPerBlock << std::endl;
359- std::cout << std::setw (w1) << " maxThreadsDim.x: " << props.maxThreadsDim [0 ] << std::endl;
360- std::cout << std::setw (w1) << " maxThreadsDim.y: " << props.maxThreadsDim [1 ] << std::endl;
361- std::cout << std::setw (w1) << " maxThreadsDim.z: " << props.maxThreadsDim [2 ] << std::endl;
362- std::cout << std::setw (w1) << " maxGridSize.x: " << props.maxGridSize [0 ] << std::endl;
363- std::cout << std::setw (w1) << " maxGridSize.y: " << props.maxGridSize [1 ] << std::endl;
364- std::cout << std::setw (w1) << " maxGridSize.z: " << props.maxGridSize [2 ] << std::endl;
365- std::cout << std::setw (w1) << " major: " << props.major << std::endl;
366- std::cout << std::setw (w1) << " minor: " << props.minor << std::endl;
367- std::cout << std::setw (w1) << " concurrentKernels: " << props.concurrentKernels << std::endl;
347+ std::cout << std::setw (w1) << " totalConstMem: " << props.totalConstMem << std::endl;
348+ std::cout << std::setw (w1) << " sharedMemPerBlock: " << (float )props.sharedMemPerBlock / 1024.0 << " config"
349+ << std::endl;
350+ std::cout << std::setw (w1) << " canMapHostMemory: " << props.canMapHostMemory << std::endl;
351+ std::cout << std::setw (w1) << " regsPerBlock: " << props.regsPerBlock << std::endl;
352+ std::cout << std::setw (w1) << " warpSize: " << props.warpSize << std::endl;
353+ std::cout << std::setw (w1) << " l2CacheSize: " << props.l2CacheSize << std::endl;
354+
355+ // Use the variable for computeMode
356+ std::cout << std::setw (w1) << " computeMode: " << computeMode << std::endl;
357+
358+ std::cout << std::setw (w1) << " maxThreadsPerBlock: " << props.maxThreadsPerBlock << std::endl;
359+ std::cout << std::setw (w1) << " maxThreadsDim.x: " << props.maxThreadsDim [0 ] << std::endl;
360+ std::cout << std::setw (w1) << " maxThreadsDim.y: " << props.maxThreadsDim [1 ] << std::endl;
361+ std::cout << std::setw (w1) << " maxThreadsDim.z: " << props.maxThreadsDim [2 ] << std::endl;
362+ std::cout << std::setw (w1) << " maxGridSize.x: " << props.maxGridSize [0 ] << std::endl;
363+ std::cout << std::setw (w1) << " maxGridSize.y: " << props.maxGridSize [1 ] << std::endl;
364+ std::cout << std::setw (w1) << " maxGridSize.z: " << props.maxGridSize [2 ] << std::endl;
365+ std::cout << std::setw (w1) << " major: " << props.major << std::endl;
366+ std::cout << std::setw (w1) << " minor: " << props.minor << std::endl;
367+ std::cout << std::setw (w1) << " concurrentKernels: " << props.concurrentKernels << std::endl;
368368#if defined(__HIPCC__)
369- std::cout << std::setw (w1) << " arch.hasGlobalInt32Atomics: " << props.arch .hasGlobalInt32Atomics << std::endl;
370- std::cout << std::setw (w1) << " arch.hasGlobalFloatAtomicExch: " << props.arch .hasGlobalFloatAtomicExch
371- << std::endl;
372- std::cout << std::setw (w1) << " arch.hasSharedInt32Atomics: " << props.arch .hasSharedInt32Atomics << std::endl;
373- std::cout << std::setw (w1) << " arch.hasSharedFloatAtomicExch: " << props.arch .hasSharedFloatAtomicExch
374- << std::endl;
375- std::cout << std::setw (w1) << " arch.hasFloatAtomicAdd: " << props.arch .hasFloatAtomicAdd << std::endl;
376- std::cout << std::setw (w1) << " arch.hasGlobalInt64Atomics: " << props.arch .hasGlobalInt64Atomics << std::endl;
377- std::cout << std::setw (w1) << " arch.hasSharedInt64Atomics: " << props.arch .hasSharedInt64Atomics << std::endl;
378- std::cout << std::setw (w1) << " arch.hasDoubles: " << props.arch .hasDoubles << std::endl;
379- std::cout << std::setw (w1) << " arch.hasWarpVote: " << props.arch .hasWarpVote << std::endl;
380- std::cout << std::setw (w1) << " arch.hasWarpBallot: " << props.arch .hasWarpBallot << std::endl;
381- std::cout << std::setw (w1) << " arch.hasWarpShuffle: " << props.arch .hasWarpShuffle << std::endl;
382- std::cout << std::setw (w1) << " arch.hasFunnelShift: " << props.arch .hasFunnelShift << std::endl;
383- std::cout << std::setw (w1) << " arch.hasThreadFenceSystem: " << props.arch .hasThreadFenceSystem << std::endl;
384- std::cout << std::setw (w1) << " arch.hasSyncThreadsExt: " << props.arch .hasSyncThreadsExt << std::endl;
385- std::cout << std::setw (w1) << " arch.hasSurfaceFuncs: " << props.arch .hasSurfaceFuncs << std::endl;
386- std::cout << std::setw (w1) << " arch.has3dGrid: " << props.arch .has3dGrid << std::endl;
387- std::cout << std::setw (w1) << " arch.hasDynamicParallelism: " << props.arch .hasDynamicParallelism << std::endl;
388- std::cout << std::setw (w1) << " gcnArchName: " << props.gcnArchName << std::endl;
369+ std::cout << std::setw (w1) << " arch.hasGlobalInt32Atomics: " << props.arch .hasGlobalInt32Atomics << std::endl;
370+ std::cout << std::setw (w1) << " arch.hasGlobalFloatAtomicExch: " << props.arch .hasGlobalFloatAtomicExch
371+ << std::endl;
372+ std::cout << std::setw (w1) << " arch.hasSharedInt32Atomics: " << props.arch .hasSharedInt32Atomics << std::endl;
373+ std::cout << std::setw (w1) << " arch.hasSharedFloatAtomicExch: " << props.arch .hasSharedFloatAtomicExch
374+ << std::endl;
375+ std::cout << std::setw (w1) << " arch.hasFloatAtomicAdd: " << props.arch .hasFloatAtomicAdd << std::endl;
376+ std::cout << std::setw (w1) << " arch.hasGlobalInt64Atomics: " << props.arch .hasGlobalInt64Atomics << std::endl;
377+ std::cout << std::setw (w1) << " arch.hasSharedInt64Atomics: " << props.arch .hasSharedInt64Atomics << std::endl;
378+ std::cout << std::setw (w1) << " arch.hasDoubles: " << props.arch .hasDoubles << std::endl;
379+ std::cout << std::setw (w1) << " arch.hasWarpVote: " << props.arch .hasWarpVote << std::endl;
380+ std::cout << std::setw (w1) << " arch.hasWarpBallot: " << props.arch .hasWarpBallot << std::endl;
381+ std::cout << std::setw (w1) << " arch.hasWarpShuffle: " << props.arch .hasWarpShuffle << std::endl;
382+ std::cout << std::setw (w1) << " arch.hasFunnelShift: " << props.arch .hasFunnelShift << std::endl;
383+ std::cout << std::setw (w1) << " arch.hasThreadFenceSystem: " << props.arch .hasThreadFenceSystem << std::endl;
384+ std::cout << std::setw (w1) << " arch.hasSyncThreadsExt: " << props.arch .hasSyncThreadsExt << std::endl;
385+ std::cout << std::setw (w1) << " arch.hasSurfaceFuncs: " << props.arch .hasSurfaceFuncs << std::endl;
386+ std::cout << std::setw (w1) << " arch.has3dGrid: " << props.arch .has3dGrid << std::endl;
387+ std::cout << std::setw (w1) << " arch.hasDynamicParallelism: " << props.arch .hasDynamicParallelism << std::endl;
388+ std::cout << std::setw (w1) << " gcnArchName: " << props.gcnArchName << std::endl;
389389#endif
390- std::cout << std::setw (w1) << " isIntegrated: " << props.integrated << std::endl;
391- std::cout << std::setw (w1) << " maxTexture1D: " << props.maxTexture1D << std::endl;
392- std::cout << std::setw (w1) << " maxTexture2D.width: " << props.maxTexture2D [0 ] << std::endl;
393- std::cout << std::setw (w1) << " maxTexture2D.height: " << props.maxTexture2D [1 ] << std::endl;
394- std::cout << std::setw (w1) << " maxTexture3D.width: " << props.maxTexture3D [0 ] << std::endl;
395- std::cout << std::setw (w1) << " maxTexture3D.height: " << props.maxTexture3D [1 ] << std::endl;
396- std::cout << std::setw (w1) << " maxTexture3D.depth: " << props.maxTexture3D [2 ] << std::endl;
390+ std::cout << std::setw (w1) << " isIntegrated: " << props.integrated << std::endl;
391+ std::cout << std::setw (w1) << " maxTexture1D: " << props.maxTexture1D << std::endl;
392+ std::cout << std::setw (w1) << " maxTexture2D.width: " << props.maxTexture2D [0 ] << std::endl;
393+ std::cout << std::setw (w1) << " maxTexture2D.height: " << props.maxTexture2D [1 ] << std::endl;
394+ std::cout << std::setw (w1) << " maxTexture3D.width: " << props.maxTexture3D [0 ] << std::endl;
395+ std::cout << std::setw (w1) << " maxTexture3D.height: " << props.maxTexture3D [1 ] << std::endl;
396+ std::cout << std::setw (w1) << " maxTexture3D.depth: " << props.maxTexture3D [2 ] << std::endl;
397397#if defined(__HIPCC__)
398- std::cout << std::setw (w1) << " isLargeBar: " << props.isLargeBar << std::endl;
399- std::cout << std::setw (w1) << " asicRevision: " << props.asicRevision << std::endl;
398+ std::cout << std::setw (w1) << " isLargeBar: " << props.isLargeBar << std::endl;
399+ std::cout << std::setw (w1) << " asicRevision: " << props.asicRevision << std::endl;
400400#endif
401401
402402 int32_t deviceCnt;
0 commit comments