SWDEV-415965 - [catch2][dtest] Added test for newly added member of hipDeviceProp_t
Move the test of AMD specific attribute into proper section Change-Id: Id35e604e68123eee623a616ba6cd680097f6556d
Этот коммит содержится в:
коммит произвёл
Rakesh Roy
родитель
f44b862cd9
Коммит
cc35feba07
@@ -162,9 +162,6 @@ TEST_CASE("Unit_hipGetDeviceAttribute_CheckAttrValues") {
|
||||
HIP_CHECK(test_hipDeviceGetAttribute(deviceId,
|
||||
hipDeviceAttributePciDeviceId,
|
||||
props.pciDeviceID));
|
||||
HIP_CHECK(test_hipDeviceGetAttribute(deviceId,
|
||||
hipDeviceAttributeMaxSharedMemoryPerMultiprocessor,
|
||||
props.maxSharedMemoryPerMultiProcessor));
|
||||
HIP_CHECK(test_hipDeviceGetAttribute(deviceId,
|
||||
hipDeviceAttributeIntegrated,
|
||||
props.integrated));
|
||||
@@ -194,6 +191,9 @@ TEST_CASE("Unit_hipGetDeviceAttribute_CheckAttrValues") {
|
||||
props.cooperativeMultiDeviceLaunch));
|
||||
|
||||
#if HT_AMD
|
||||
HIP_CHECK(test_hipDeviceGetAttribute(deviceId,
|
||||
hipDeviceAttributeMaxSharedMemoryPerMultiprocessor,
|
||||
props.maxSharedMemoryPerMultiProcessor));
|
||||
HIP_CHECK(test_hipDeviceGetHdpAddress(deviceId,
|
||||
hipDeviceAttributeHdpMemFlushCntl,
|
||||
props.hdpMemFlushCntl));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.
|
||||
Copyright (c) 2022-2023 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -252,103 +252,144 @@ TEST_CASE("Print_Out_Properties") {
|
||||
|
||||
std::cout << std::left;
|
||||
std::cout << std::setw(w) << "device#: " << device << "\n";
|
||||
std::cout << std::setw(w) << "name: " << std::string(properties.name, 256) << "\n";
|
||||
std::cout << std::setw(w) << "totalGlobalMem: " << properties.totalGlobalMem << "\n";
|
||||
std::cout << std::setw(w) << "sharedMemPerBlock: " << properties.sharedMemPerBlock << "\n";
|
||||
std::cout << std::setw(w) << "regsPerBlock: " << properties.regsPerBlock << "\n";
|
||||
std::cout << std::setw(w) << "name: "
|
||||
<< std::string(properties.name, 256) << "\n";
|
||||
std::cout << std::setw(w) << "totalGlobalMem: "
|
||||
<< properties.totalGlobalMem << "\n";
|
||||
std::cout << std::setw(w) << "sharedMemPerBlock: "
|
||||
<< properties.sharedMemPerBlock << "\n";
|
||||
std::cout << std::setw(w) << "regsPerBlock: "
|
||||
<< properties.regsPerBlock << "\n";
|
||||
std::cout << std::setw(w) << "warpSize: " << properties.warpSize << "\n";
|
||||
std::cout << std::setw(w) << "maxThreadsPerBlock: " << properties.maxThreadsPerBlock << "\n";
|
||||
std::cout << std::setw(w) << "maxThreadsDim.x: " << properties.maxThreadsDim[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxThreadsDim.y: " << properties.maxThreadsDim[1] << "\n";
|
||||
std::cout << std::setw(w) << "maxThreadsDim.z: " << properties.maxThreadsDim[2] << "\n";
|
||||
std::cout << std::setw(w) << "maxGridSize.x: " << properties.maxGridSize[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxGridSize.y: " << properties.maxGridSize[1] << "\n";
|
||||
std::cout << std::setw(w) << "maxGridSize.z: " << properties.maxGridSize[2] << "\n";
|
||||
std::cout << std::setw(w) << "maxThreadsPerBlock: "
|
||||
<< properties.maxThreadsPerBlock << "\n";
|
||||
std::cout << std::setw(w) << "maxThreadsDim.x: "
|
||||
<< properties.maxThreadsDim[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxThreadsDim.y: "
|
||||
<< properties.maxThreadsDim[1] << "\n";
|
||||
std::cout << std::setw(w) << "maxThreadsDim.z: "
|
||||
<< properties.maxThreadsDim[2] << "\n";
|
||||
std::cout << std::setw(w) << "maxGridSize.x: "
|
||||
<< properties.maxGridSize[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxGridSize.y: "
|
||||
<< properties.maxGridSize[1] << "\n";
|
||||
std::cout << std::setw(w) << "maxGridSize.z: "
|
||||
<< properties.maxGridSize[2] << "\n";
|
||||
std::cout << std::setw(w) << "clockRate: " << properties.clockRate << "\n";
|
||||
std::cout << std::setw(w) << "memoryClockRate: " << properties.memoryClockRate << "\n";
|
||||
std::cout << std::setw(w) << "memoryBusWidth: " << properties.memoryBusWidth << "\n";
|
||||
std::cout << std::setw(w) << "totalConstMem: " << properties.totalConstMem << "\n";
|
||||
std::cout << std::setw(w) << "memoryClockRate: "
|
||||
<< properties.memoryClockRate << "\n";
|
||||
std::cout << std::setw(w) << "memoryBusWidth: "
|
||||
<< properties.memoryBusWidth << "\n";
|
||||
std::cout << std::setw(w) << "totalConstMem: "
|
||||
<< properties.totalConstMem << "\n";
|
||||
std::cout << std::setw(w) << "major: " << properties.major << "\n";
|
||||
std::cout << std::setw(w) << "minor: " << properties.minor << "\n";
|
||||
std::cout << std::setw(w) << "multiProcessorCount: " << properties.multiProcessorCount << "\n";
|
||||
std::cout << std::setw(w) << "l2CacheSize: " << properties.l2CacheSize << "\n";
|
||||
std::cout << std::setw(w)
|
||||
<< "maxThreadsPerMultiProcessor: " << properties.maxThreadsPerMultiProcessor << "\n";
|
||||
std::cout << std::setw(w) << "computeMode: " << properties.computeMode << "\n";
|
||||
std::cout << std::setw(w) << "concurrentKernels: " << properties.concurrentKernels << "\n";
|
||||
std::cout << std::setw(w) << "pciDomainID: " << properties.pciDomainID << "\n";
|
||||
std::cout << std::setw(w) << "multiProcessorCount: "
|
||||
<< properties.multiProcessorCount << "\n";
|
||||
std::cout << std::setw(w) << "l2CacheSize: "
|
||||
<< properties.l2CacheSize << "\n";
|
||||
std::cout << std::setw(w) << "maxThreadsPerMultiProcessor: "
|
||||
<< properties.maxThreadsPerMultiProcessor << "\n";
|
||||
std::cout << std::setw(w) << "computeMode: "
|
||||
<< properties.computeMode << "\n";
|
||||
std::cout << std::setw(w) << "concurrentKernels: "
|
||||
<< properties.concurrentKernels << "\n";
|
||||
std::cout << std::setw(w) << "pciDomainID: "
|
||||
<< properties.pciDomainID << "\n";
|
||||
std::cout << std::setw(w) << "pciBusID: " << properties.pciBusID << "\n";
|
||||
std::cout << std::setw(w) << "pciDeviceID: " << properties.pciDeviceID << "\n";
|
||||
std::cout << std::setw(w) << "isMultiGpuBoard: " << properties.isMultiGpuBoard << "\n";
|
||||
std::cout << std::setw(w) << "canMapHostMemory: " << properties.canMapHostMemory << "\n";
|
||||
std::cout << std::setw(w) << "pciDeviceID: "
|
||||
<< properties.pciDeviceID << "\n";
|
||||
std::cout << std::setw(w) << "isMultiGpuBoard: "
|
||||
<< properties.isMultiGpuBoard << "\n";
|
||||
std::cout << std::setw(w) << "canMapHostMemory: "
|
||||
<< properties.canMapHostMemory << "\n";
|
||||
std::cout << std::setw(w) << "integrated: " << properties.integrated << "\n";
|
||||
std::cout << std::setw(w) << "cooperativeLaunch: " << properties.cooperativeLaunch << "\n";
|
||||
std::cout << std::setw(w)
|
||||
<< "cooperativeMultiDeviceLaunch: " << properties.cooperativeMultiDeviceLaunch << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture1DLinear: " << properties.maxTexture1DLinear << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture1D: " << properties.maxTexture1D << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture2D.width: " << properties.maxTexture2D[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture2D.height: " << properties.maxTexture2D[1] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture3D.width: " << properties.maxTexture3D[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture3D.height: " << properties.maxTexture3D[1] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture3D.depth: " << properties.maxTexture3D[2] << "\n";
|
||||
std::cout << std::setw(w) << "cooperativeLaunch: "
|
||||
<< properties.cooperativeLaunch << "\n";
|
||||
std::cout << std::setw(w) << "cooperativeMultiDeviceLaunch: "
|
||||
<< properties.cooperativeMultiDeviceLaunch << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture1DLinear: "
|
||||
<< properties.maxTexture1DLinear << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture1D: "
|
||||
<< properties.maxTexture1D << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture2D.width: "
|
||||
<< properties.maxTexture2D[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture2D.height: "
|
||||
<< properties.maxTexture2D[1] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture3D.width: "
|
||||
<< properties.maxTexture3D[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture3D.height: "
|
||||
<< properties.maxTexture3D[1] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture3D.depth: "
|
||||
<< properties.maxTexture3D[2] << "\n";
|
||||
std::cout << std::setw(w) << "memPitch: " << properties.memPitch << "\n";
|
||||
std::cout << std::setw(w) << "textureAlignment: " << properties.textureAlignment << "\n";
|
||||
std::cout << std::setw(w) << "texturePitchAlignment: " << properties.texturePitchAlignment
|
||||
<< "\n";
|
||||
std::cout << std::setw(w) << "kernelExecTimeoutEnabled: " << properties.kernelExecTimeoutEnabled
|
||||
<< "\n";
|
||||
std::cout << std::setw(w) << "textureAlignment: "
|
||||
<< properties.textureAlignment << "\n";
|
||||
std::cout << std::setw(w) << "texturePitchAlignment: "
|
||||
<< properties.texturePitchAlignment << "\n";
|
||||
std::cout << std::setw(w) << "kernelExecTimeoutEnabled: "
|
||||
<< properties.kernelExecTimeoutEnabled << "\n";
|
||||
std::cout << std::setw(w) << "ECCEnabled: " << properties.ECCEnabled << "\n";
|
||||
std::cout << std::setw(w) << "tccDriver: " << properties.tccDriver << "\n";
|
||||
std::cout << std::setw(w) << "managedMemory: " << properties.managedMemory << "\n";
|
||||
std::cout << std::setw(w)
|
||||
<< "directManagedMemAccessFromHost: " << properties.directManagedMemAccessFromHost
|
||||
<< "\n";
|
||||
std::cout << std::setw(w) << "concurrentManagedAccess: " << properties.concurrentManagedAccess
|
||||
<< "\n";
|
||||
std::cout << std::setw(w) << "pageableMemoryAccess: " << properties.pageableMemoryAccess << "\n";
|
||||
std::cout << std::setw(w) << "managedMemory: "
|
||||
<< properties.managedMemory << "\n";
|
||||
std::cout << std::setw(w) << "directManagedMemAccessFromHost: "
|
||||
<< properties.directManagedMemAccessFromHost << "\n";
|
||||
std::cout << std::setw(w) << "concurrentManagedAccess: "
|
||||
<< properties.concurrentManagedAccess << "\n";
|
||||
std::cout << std::setw(w) << "pageableMemoryAccess: "
|
||||
<< properties.pageableMemoryAccess << "\n";
|
||||
std::cout << std::setw(w) << "pageableMemoryAccessUsesHostPageTables: "
|
||||
<< properties.pageableMemoryAccessUsesHostPageTables << "\n";
|
||||
|
||||
#if HT_AMD
|
||||
std::cout << std::setw(w) << "gcnArchName: " << std::string(properties.gcnArchName, 256) << "\n";
|
||||
std::cout << std::setw(w) << "asicRevision: " << properties.asicRevision << "\n";
|
||||
std::cout << std::setw(w)
|
||||
<< "arch.hasGlobalInt32Atomics: " << properties.arch.hasGlobalInt32Atomics << "\n";
|
||||
std::cout << std::setw(w)
|
||||
<< "arch.hasGlobalFloatAtomicExch: " << properties.arch.hasGlobalFloatAtomicExch
|
||||
<< "\n";
|
||||
std::cout << std::setw(w)
|
||||
<< "arch.hasSharedInt32Atomics: " << properties.arch.hasSharedInt32Atomics << "\n";
|
||||
std::cout << std::setw(w)
|
||||
<< "arch.hasSharedFloatAtomicExch: " << properties.arch.hasSharedFloatAtomicExch
|
||||
<< "\n";
|
||||
std::cout << std::setw(w) << "arch.hasFloatAtomicAdd: " << properties.arch.hasFloatAtomicAdd
|
||||
<< "\n";
|
||||
std::cout << std::setw(w)
|
||||
<< "arch.hasGlobalInt64Atomics: " << properties.arch.hasGlobalInt64Atomics << "\n";
|
||||
std::cout << std::setw(w)
|
||||
<< "arch.hasSharedInt64Atomics: " << properties.arch.hasSharedInt64Atomics << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasDoubles: " << properties.arch.hasDoubles << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasWarpVote: " << properties.arch.hasWarpVote << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasWarpBallot: " << properties.arch.hasWarpBallot << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasWarpShuffle: " << properties.arch.hasWarpShuffle << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasFunnelShift: " << properties.arch.hasFunnelShift << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasThreadFenceSystem: " << properties.arch.hasThreadFenceSystem
|
||||
<< "\n";
|
||||
std::cout << std::setw(w) << "arch.hasSyncThreadsExt: " << properties.arch.hasSyncThreadsExt
|
||||
<< "\n";
|
||||
std::cout << std::setw(w) << "arch.hasSurfaceFuncs: " << properties.arch.hasSurfaceFuncs << "\n";
|
||||
std::cout << std::setw(w) << "arch.has3dGrid: " << properties.arch.has3dGrid << "\n";
|
||||
std::cout << std::setw(w)
|
||||
<< "arch.hasDynamicParallelism: " << properties.arch.hasDynamicParallelism << "\n";
|
||||
std::cout << std::setw(w) << "gcnArchName: "
|
||||
<< std::string(properties.gcnArchName, 256) << "\n";
|
||||
std::cout << std::setw(w) << "asicRevision: "
|
||||
<< properties.asicRevision << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasGlobalInt32Atomics: "
|
||||
<< properties.arch.hasGlobalInt32Atomics << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasGlobalFloatAtomicExch: "
|
||||
<< properties.arch.hasGlobalFloatAtomicExch << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasSharedInt32Atomics: "
|
||||
<< properties.arch.hasSharedInt32Atomics << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasSharedFloatAtomicExch: "
|
||||
<< properties.arch.hasSharedFloatAtomicExch << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasFloatAtomicAdd: "
|
||||
<< properties.arch.hasFloatAtomicAdd << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasGlobalInt64Atomics: "
|
||||
<< properties.arch.hasGlobalInt64Atomics << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasSharedInt64Atomics: "
|
||||
<< properties.arch.hasSharedInt64Atomics << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasDoubles: "
|
||||
<< properties.arch.hasDoubles << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasWarpVote: "
|
||||
<< properties.arch.hasWarpVote << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasWarpBallot: "
|
||||
<< properties.arch.hasWarpBallot << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasWarpShuffle: "
|
||||
<< properties.arch.hasWarpShuffle << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasFunnelShift: "
|
||||
<< properties.arch.hasFunnelShift << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasThreadFenceSystem: "
|
||||
<< properties.arch.hasThreadFenceSystem << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasSyncThreadsExt: "
|
||||
<< properties.arch.hasSyncThreadsExt << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasSurfaceFuncs: "
|
||||
<< properties.arch.hasSurfaceFuncs << "\n";
|
||||
std::cout << std::setw(w) << "arch.has3dGrid: "
|
||||
<< properties.arch.has3dGrid << "\n";
|
||||
std::cout << std::setw(w) << "arch.hasDynamicParallelism: "
|
||||
<< properties.arch.hasDynamicParallelism << "\n";
|
||||
std::cout << std::setw(w) << "isLargeBar: " << properties.isLargeBar << "\n";
|
||||
std::cout << std::setw(w)
|
||||
<< "maxSharedMemoryPerMultiProcessor: " << properties.maxSharedMemoryPerMultiProcessor
|
||||
<< "\n";
|
||||
std::cout << std::setw(w) << "hdpMemFlushCntl: " << properties.hdpMemFlushCntl << "\n";
|
||||
std::cout << std::setw(w) << "hdpRegFlushCntl: " << properties.hdpRegFlushCntl << "\n";
|
||||
std::cout << std::setw(w) << "clockInstructionRate: " << properties.clockInstructionRate << "\n";
|
||||
std::cout << std::setw(w) << "maxSharedMemoryPerMultiProcessor: "
|
||||
<< properties.maxSharedMemoryPerMultiProcessor << "\n";
|
||||
std::cout << std::setw(w) << "hdpMemFlushCntl: "
|
||||
<< properties.hdpMemFlushCntl << "\n";
|
||||
std::cout << std::setw(w) << "hdpRegFlushCntl: "
|
||||
<< properties.hdpRegFlushCntl << "\n";
|
||||
std::cout << std::setw(w) << "clockInstructionRate: "
|
||||
<< properties.clockInstructionRate << "\n";
|
||||
std::cout << std::setw(w) << "cooperativeMultiDeviceUnmatchedFunc: "
|
||||
<< properties.cooperativeMultiDeviceUnmatchedFunc << "\n";
|
||||
std::cout << std::setw(w) << "cooperativeMultiDeviceUnmatchedGridDim: "
|
||||
@@ -359,4 +400,91 @@ TEST_CASE("Print_Out_Properties") {
|
||||
<< properties.cooperativeMultiDeviceUnmatchedSharedMem << "\n";
|
||||
#endif
|
||||
std::flush(std::cout);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test Description
|
||||
* ------------------------
|
||||
* - Print out all properties in agreed upon format.
|
||||
* Test source
|
||||
* ------------------------
|
||||
* - unit/device/hipGetDeviceProperties.cc
|
||||
* Test requirements
|
||||
* ------------------------
|
||||
* - HIP_VERSION >= 6.0
|
||||
*/
|
||||
TEST_CASE("Print_Out_Properties_6.0") {
|
||||
constexpr int w = 42;
|
||||
const auto device = GENERATE(range(0, HipTest::getDeviceCount()));
|
||||
|
||||
hipDeviceProp_t properties;
|
||||
HIP_CHECK(hipGetDeviceProperties(&properties, device));
|
||||
|
||||
std::cout << std::left;
|
||||
std::cout << std::setw(w) << "New Attributes added in Rocm 6.0" << "\n";
|
||||
#if HT_AMD
|
||||
std::cout << std::setw(w) << "uuid: " << properties.uuid.bytes << "\n";
|
||||
#endif
|
||||
std::cout << std::setw(w) << "maxTexture1DLayered.width: "
|
||||
<< properties.maxTexture1DLayered[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture1DLayered.height: "
|
||||
<< properties.maxTexture1DLayered[1] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture2DLayered.width: "
|
||||
<< properties.maxTexture2DLayered[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture2DLayered.height: "
|
||||
<< properties.maxTexture2DLayered[1] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture2DLayered.depth: "
|
||||
<< properties.maxTexture2DLayered[2] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture2DGather.width: "
|
||||
<< properties.maxTexture2DGather[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture2DGather.height: "
|
||||
<< properties.maxTexture2DGather[1] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture2DLinear.width: "
|
||||
<< properties.maxTexture2DLinear[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture2DLinear.height: "
|
||||
<< properties.maxTexture2DLinear[1] << "\n";
|
||||
std::cout << std::setw(w) << "maxTexture2DLinear.depth: "
|
||||
<< properties.maxTexture2DLinear[2] << "\n";
|
||||
std::cout << std::setw(w) << "maxSurface1D: "
|
||||
<< properties.maxSurface1D << "\n";
|
||||
std::cout << std::setw(w) << "maxSurface1DLayered.width: "
|
||||
<< properties.maxSurface1DLayered[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxSurface1DLayered.height: "
|
||||
<< properties.maxSurface1DLayered[1] << "\n";
|
||||
std::cout << std::setw(w) << "maxSurface2D.width: "
|
||||
<< properties.maxSurface2D[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxSurface2D.height: "
|
||||
<< properties.maxSurface2D[1] << "\n";
|
||||
std::cout << std::setw(w) << "maxSurface2DLayered.width: "
|
||||
<< properties.maxSurface2DLayered[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxSurface2DLayered.height: "
|
||||
<< properties.maxSurface2DLayered[1] << "\n";
|
||||
std::cout << std::setw(w) << "maxSurface2DLayered.depth: "
|
||||
<< properties.maxSurface2DLayered[2] << "\n";
|
||||
std::cout << std::setw(w) << "maxSurface3D.width: "
|
||||
<< properties.maxSurface3D[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxSurface3D.height: "
|
||||
<< properties.maxSurface3D[1] << "\n";
|
||||
std::cout << std::setw(w) << "maxSurface3D.depth: "
|
||||
<< properties.maxSurface3D[2] << "\n";
|
||||
std::cout << std::setw(w) << "maxSurfaceCubemap: "
|
||||
<< properties.maxSurfaceCubemap << "\n";
|
||||
std::cout << std::setw(w) << "maxSurfaceCubemapLayered.width: "
|
||||
<< properties.maxSurfaceCubemapLayered[0] << "\n";
|
||||
std::cout << std::setw(w) << "maxSurfaceCubemapLayered.height: "
|
||||
<< properties.maxSurfaceCubemapLayered[1] << "\n";
|
||||
std::cout << std::setw(w) << "surfaceAlignment: "
|
||||
<< properties.surfaceAlignment << "\n";
|
||||
std::cout << std::setw(w) << "unifiedAddressing: "
|
||||
<< properties.unifiedAddressing << "\n";
|
||||
std::cout << std::setw(w) << "asyncEngineCount: "
|
||||
<< properties.asyncEngineCount << "\n";
|
||||
std::cout << std::setw(w) << "computePreemptionSupported: "
|
||||
<< properties.computePreemptionSupported << "\n";
|
||||
std::cout << std::setw(w) << "regsPerMultiprocessor: "
|
||||
<< properties.regsPerMultiprocessor << "\n";
|
||||
std::cout << std::setw(w) << "sharedMemPerMultiprocessor: "
|
||||
<< properties.sharedMemPerMultiprocessor << "\n";
|
||||
|
||||
std::flush(std::cout);
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user