|
@@ -32,7 +32,6 @@ int
|
|
|
main(void) {
|
|
|
cl_int err;
|
|
|
cl_uint num_platforms;
|
|
|
- cl_platform_id *platforms;
|
|
|
|
|
|
// Plaform info
|
|
|
err = clGetPlatformIDs(0, NULL, &num_platforms);
|
|
@@ -42,7 +41,7 @@ main(void) {
|
|
|
}
|
|
|
checkErr(err, "Unable to get platform count");
|
|
|
|
|
|
- platforms = (cl_platform_id*)malloc(sizeof(cl_platform_id)*num_platforms);
|
|
|
+ cl_platform_id platforms[num_platforms];
|
|
|
err = clGetPlatformIDs(num_platforms, platforms, NULL);
|
|
|
checkErr(err, "Unable to get platform list");
|
|
|
|
|
@@ -82,7 +81,6 @@ main(void) {
|
|
|
unsigned int i;
|
|
|
for (i=0; i<num_platforms; i++) {
|
|
|
char str[256];
|
|
|
- cl_device_id * devices;
|
|
|
cl_uint num_devices;
|
|
|
|
|
|
err = clGetPlatformInfo(platforms[i], CL_PLATFORM_NAME, sizeof(str), &str, NULL);
|
|
@@ -91,12 +89,12 @@ main(void) {
|
|
|
|
|
|
err = clGetDeviceIDs(platforms[i], CL_DEVICE_TYPE_ALL, 0, NULL, &num_devices);
|
|
|
checkErr(err, "clGetDeviceIds(CL_DEVICE_TYPE_ALL)");
|
|
|
- if (num_devices == 0) {
|
|
|
- printf(" No devices found\n");
|
|
|
- continue;
|
|
|
- }
|
|
|
+ if (num_devices == 0) {
|
|
|
+ printf(" No devices found\n");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
|
|
|
- devices = (cl_device_id*)malloc(sizeof(cl_device_id)*num_devices);
|
|
|
+ cl_device_id devices[num_devices];
|
|
|
|
|
|
err = clGetDeviceIDs(platforms[i], CL_DEVICE_TYPE_ALL, num_devices, devices, NULL);
|
|
|
checkErr(err, "clGetDeviceIds(CL_DEVICE_TYPE_ALL)");
|
|
@@ -138,12 +136,11 @@ main(void) {
|
|
|
|
|
|
{
|
|
|
cl_uint dims;
|
|
|
- size_t *sizes;
|
|
|
err = clGetDeviceInfo(devices[j], CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS, sizeof(dims), &dims, NULL);
|
|
|
checkErr(err, "clGetDeviceInfo(CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS)");
|
|
|
printf(" Max work item dimensions:\t\t\t %d\n", dims);
|
|
|
|
|
|
- sizes = (size_t*)malloc(dims * sizeof(size_t));
|
|
|
+ size_t sizes[dims];
|
|
|
err = clGetDeviceInfo(devices[j], CL_DEVICE_MAX_WORK_ITEM_SIZES, sizeof(size_t)*dims, sizes, NULL);
|
|
|
checkErr(err, "clGetDeviceInfo(CL_DEVICE_MAX_WORK_ITEM_SIZES)");
|
|
|
printf(" Max work item dimensions:\t\t\t %d\n", dims);
|