// print names of platforms of OpenCL devices void HGPU_GPU_devices_print_platforms(HGPU_GPU_devices* devices){ if (!devices) return; unsigned int number_of_devices = HGPU_GPU_devices_get_number(devices); for (unsigned int i=0; i<number_of_devices; i++){ char* platform_name = HGPU_GPU_platform_get_name(HGPU_GPU_device_get_platform(devices->devices[i])); printf("Platform [%u]: %s\n",i,platform_name); free(platform_name); } }
// get short info on OpenCL platform char* HGPU_GPU_platform_get_info_short(cl_platform_id platform){ char* result = (char*) calloc(HGPU_GPU_MAX_STR_INFO_LENGHT,sizeof(char)); char* name = HGPU_GPU_platform_get_name(platform); char* vendor = HGPU_GPU_platform_get_info_str(platform,CL_PLATFORM_VENDOR); char* profile = HGPU_GPU_platform_get_info_str(platform,CL_PLATFORM_PROFILE); char* version = HGPU_GPU_platform_get_info_str(platform,CL_PLATFORM_VERSION); char* extensions = HGPU_GPU_platform_get_info_str(platform,CL_PLATFORM_EXTENSIONS); unsigned int j = 0; j = sprintf_s(result+j,HGPU_GPU_MAX_STR_INFO_LENGHT-j," Platform: %s\n",name); j += sprintf_s(result+j,HGPU_GPU_MAX_STR_INFO_LENGHT-j,"platform vendor: %s\n",vendor); j += sprintf_s(result+j,HGPU_GPU_MAX_STR_INFO_LENGHT-j," profile: %s\n",profile); j += sprintf_s(result+j,HGPU_GPU_MAX_STR_INFO_LENGHT-j," version: %s\n",version); j += sprintf_s(result+j,HGPU_GPU_MAX_STR_INFO_LENGHT-j," extensions: %s\n",extensions); free(extensions); free(version); free(profile); free(vendor); free(name); return result; }
// print OpenCL platform's name void HGPU_GPU_platform_print_name(cl_platform_id platform){ char* platform_name = HGPU_GPU_platform_get_name(platform); printf("%s",platform_name); free(platform_name); }