fix #1
This commit is contained in:
parent
d59e3d4ee2
commit
016cd00613
@ -9,7 +9,7 @@ message(STATUS "OpenCL includes: ${OPENCL_INCLUDE_DIRS}")
|
||||
message(STATUS "OpenCL CXX includes: ${OPENCL_HAS_CPP_BINDINGS}")
|
||||
message(STATUS "OpenCL libraries: ${OPENCL_LIBRARIES}")
|
||||
|
||||
add_executable(${PROJECT_NAME} "main.cpp")
|
||||
add_executable(${PROJECT_NAME} "main.c")
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} ${OPENCL_LIBRARIES})
|
||||
include_directories(${PROJECT_NAME} ${OPENCL_INCLUDE_DIR})
|
||||
|
53
main.c
Normal file
53
main.c
Normal file
@ -0,0 +1,53 @@
|
||||
#include <stdio.h>
|
||||
#include <CL/cl.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
cl_int error;
|
||||
cl_platform_id *platform_ids = NULL;
|
||||
cl_device_id *device_ids = NULL;
|
||||
cl_uint platform_id_count = 0;
|
||||
cl_uint device_id_count = 0;
|
||||
cl_context_properties context_properties[4];
|
||||
cl_context context;
|
||||
|
||||
clGetPlatformIDs (0, NULL, &platform_id_count);
|
||||
if (platform_id_count == 0)
|
||||
return -1;
|
||||
|
||||
platform_ids = (cl_platform_id*) malloc(platform_id_count *
|
||||
sizeof(cl_platform_id));
|
||||
if (platform_ids == NULL)
|
||||
return -1;
|
||||
|
||||
clGetPlatformIDs (platform_id_count, platform_ids, NULL);
|
||||
|
||||
printf("Platforms available: %u\n", (unsigned int)platform_id_count);
|
||||
|
||||
|
||||
clGetDeviceIDs (platform_ids[0], CL_DEVICE_TYPE_ALL, 0, NULL,
|
||||
&device_id_count);
|
||||
printf("Device in Platform 0 count: %u\n", (unsigned int)device_id_count);
|
||||
|
||||
if (device_id_count == 0)
|
||||
return -1;
|
||||
|
||||
device_ids = (cl_device_id*) malloc(sizeof(cl_device_id)*device_id_count);
|
||||
|
||||
clGetDeviceIDs (platform_ids[0], CL_DEVICE_TYPE_ALL, device_id_count,
|
||||
device_ids, NULL);
|
||||
|
||||
context_properties[0] = CL_CONTEXT_PLATFORM;
|
||||
context_properties[1] = (cl_context_properties)platform_ids[0];
|
||||
context_properties[2] = context_properties[3] = 0;
|
||||
|
||||
|
||||
context = clCreateContext (context_properties, device_id_count,
|
||||
device_ids, NULL,
|
||||
NULL, &error);
|
||||
|
||||
return 0;
|
||||
}
|
43
main.cpp
43
main.cpp
@ -1,43 +0,0 @@
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include <CL/cl.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
|
||||
cl_int error;
|
||||
|
||||
cl_uint platformIdCount = 0;
|
||||
clGetPlatformIDs (0, nullptr, &platformIdCount);
|
||||
|
||||
std::vector<cl_platform_id> platformIds (platformIdCount);
|
||||
clGetPlatformIDs (platformIdCount, platformIds.data(), nullptr);
|
||||
|
||||
std::cout << "Platform count: " << platformIdCount << std::endl;
|
||||
|
||||
cl_uint deviceIdCount = 0;
|
||||
clGetDeviceIDs (platformIds [0], CL_DEVICE_TYPE_ALL, 0, nullptr,
|
||||
&deviceIdCount);
|
||||
std::cout << "Device in Platform 0 count: " << deviceIdCount << std::endl;
|
||||
|
||||
std::vector<cl_device_id> deviceIds (deviceIdCount);
|
||||
clGetDeviceIDs (platformIds [0], CL_DEVICE_TYPE_ALL, deviceIdCount,
|
||||
deviceIds.data (), nullptr);
|
||||
|
||||
|
||||
const cl_context_properties contextProperties [] =
|
||||
{
|
||||
CL_CONTEXT_PLATFORM,
|
||||
reinterpret_cast<cl_context_properties> (platformIds [0]),
|
||||
0, 0
|
||||
};
|
||||
|
||||
cl_context context = clCreateContext (
|
||||
contextProperties, deviceIdCount,
|
||||
deviceIds.data (), nullptr,
|
||||
nullptr, &error);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user