Skip to content

Commit 29f861d

Browse files
authored
print the platform index when enumerating OpenCL platforms (#62)
1 parent d9c24e9 commit 29f861d

3 files changed

Lines changed: 19 additions & 21 deletions

File tree

samples/00_enumopencl/main.cpp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ static void PrintDeviceType(
194194

195195
static cl_int PrintDeviceInfoSummary(
196196
cl_device_id* devices,
197-
size_t numDevices )
197+
cl_uint numDevices )
198198
{
199199
cl_int errorCode = CL_SUCCESS;
200200

@@ -204,8 +204,7 @@ static cl_int PrintDeviceInfoSummary(
204204
char* deviceVersion = NULL;
205205
char* driverVersion = NULL;
206206

207-
size_t i = 0;
208-
for( i = 0; i < numDevices; i++ )
207+
for( cl_uint i = 0; i < numDevices; i++ )
209208
{
210209
errorCode |= clGetDeviceInfo(
211210
devices[i],
@@ -232,7 +231,7 @@ static cl_int PrintDeviceInfoSummary(
232231

233232
if( errorCode == CL_SUCCESS )
234233
{
235-
printf("Device[%d]:\n", (int)i );
234+
printf("Device[%u]:\n", i );
236235

237236
PrintDeviceType("\tType: ", deviceType);
238237

@@ -243,7 +242,7 @@ static cl_int PrintDeviceInfoSummary(
243242
}
244243
else
245244
{
246-
fprintf(stderr, "Error getting device info for device %d.\n", (int)i );
245+
fprintf(stderr, "Error getting device info for device %u.\n", i );
247246
}
248247

249248
delete [] deviceName;
@@ -291,17 +290,17 @@ int main(
291290
platforms.resize( numPlatforms );
292291
clGetPlatformIDs( numPlatforms, platforms.data(), NULL );
293292

294-
for( auto& platform : platforms )
293+
for( cl_uint i = 0; i < numPlatforms; i++ )
295294
{
296-
printf( "Platform:\n" );
297-
PrintPlatformInfoSummary( platform );
295+
printf( "Platform[%u]:\n", i );
296+
PrintPlatformInfoSummary( platforms[i] );
298297

299298
cl_uint numDevices = 0;
300-
clGetDeviceIDs( platform, CL_DEVICE_TYPE_ALL, 0, NULL, &numDevices );
299+
clGetDeviceIDs( platforms[i], CL_DEVICE_TYPE_ALL, 0, NULL, &numDevices );
301300

302301
std::vector<cl_device_id> devices;
303302
devices.resize( numDevices );
304-
clGetDeviceIDs( platform, CL_DEVICE_TYPE_ALL, numDevices, devices.data(), NULL );
303+
clGetDeviceIDs( platforms[i], CL_DEVICE_TYPE_ALL, numDevices, devices.data(), NULL );
305304

306305
PrintDeviceInfoSummary( devices.data(), numDevices );
307306
printf( "\n" );

samples/00_enumopenclpp/main.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,9 @@ static void PrintDeviceType(
5252
static cl_int PrintDeviceInfoSummary(
5353
const std::vector<cl::Device> devices )
5454
{
55-
size_t i = 0;
56-
for( i = 0; i < devices.size(); i++ )
55+
for( size_t i = 0; i < devices.size(); i++ )
5756
{
58-
printf("Device[%d]:\n", (int)i );
57+
printf("Device[%zu]:\n", i );
5958

6059
cl_device_type deviceType = devices[i].getInfo<CL_DEVICE_TYPE>();
6160
PrintDeviceType("\tType: ", deviceType);
@@ -95,13 +94,13 @@ int main(
9594
std::vector<cl::Platform> platforms;
9695
cl::Platform::get(&platforms);
9796

98-
for( auto& platform : platforms )
97+
for( size_t i = 0; i < platforms.size(); i++ )
9998
{
100-
printf( "Platform:\n" );
101-
PrintPlatformInfoSummary( platform );
99+
printf( "Platform[%zu]:\n", i );
100+
PrintPlatformInfoSummary( platforms[i] );
102101

103102
std::vector<cl::Device> devices;
104-
platform.getDevices(CL_DEVICE_TYPE_ALL, &devices);
103+
platforms[i].getDevices(CL_DEVICE_TYPE_ALL, &devices);
105104

106105
PrintDeviceInfoSummary( devices );
107106
printf( "\n" );

samples/python/00_enumopencl/enumopencl.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@
2222

2323
import pyopencl as cl
2424

25-
for platform in cl.get_platforms():
26-
print("Platform:")
25+
for p, platform in enumerate(cl.get_platforms()):
26+
print("Platform[{}]:".format(p))
2727
print(" Name: " + platform.get_info(cl.platform_info.NAME))
2828
print(" Vendor: " + platform.get_info(cl.platform_info.VENDOR))
2929
print(" Driver Version: " + platform.get_info(cl.platform_info.VERSION))
30-
for i, device in enumerate(platform.get_devices()):
31-
print("Device[{}]:".format(i))
30+
for d, device in enumerate(platform.get_devices()):
31+
print("Device[{}]:".format(d))
3232
print(" Type: " + cl.device_type.to_string(device.get_info(cl.device_info.TYPE)))
3333
print(" Name: " + device.get_info(cl.device_info.NAME))
3434
print(" Vendor: " + device.get_info(cl.device_info.VENDOR))

0 commit comments

Comments
 (0)