Develop an OpenCL application without GPU support on a laptop?

I am new to OpenCL and want to develop a portable, hardware independent OpenCL application. I have an ATI Radeon 7670m on my laptop that supports OpenCL 1.1 on the official site . However, this GPU is missing from the APP SDK system requirements. I'm interested in using OpenCL for GPU-only development, not CPU-only. So can I do this?


source to share

2 answers

I think the information on the site is out of date. The 7670 is OpenCL compatible. In fact, almost all 5xxx and newer cards can run OpenCL.



With the OpenCL Context, you can choose which device to use for development (like processors or GPU devices), in your case CL_DEVICE_TYPE_GPU :

cl::Context context(CL_DEVICE_TYPE_GPU, cprops, NULL, NULL, &err);


For example, from the official AMD documentation:

int main(void)
    cl_int err;
    cl::vector< cl::Platform > platformList;
    checkErr(platformList.size()!=0 ? CL_SUCCESS : -1, "cl::Platform::get");
    std::cerr << "Platform number is: " << platformList.size() << std::endl;std::string platformVendor;
    platformList[0].getInfo((cl_platform_info)CL_PLATFORM_VENDOR, &platformVendor);
    std::cerr << "Platform is by: " << platformVendor << "\n";
    cl_context_properties cprops[3] = {CL_CONTEXT_PLATFORM, (cl_context_properties)(platformList[0])(), 0};
    cl::Context context(CL_DEVICE_TYPE_GPU, cprops, NULL, NULL, &err);
    checkErr(err, "Conext::Context()"); 




All Articles