Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: cl_khr_icd spec

  1. #1
    Junior Member
    Join Date
    Apr 2009
    Posts
    8

    cl_khr_icd spec

    Is there a formal cl_khr_icd specification? Are ICD tests part of the conformance tests?

    NVIDIA and AMD are currently doing a poor job with ICD interoperability and it would be good to know what the problem is.

  2. #2
    Senior Member
    Join Date
    Jul 2009
    Location
    Northern Europe
    Posts
    311

    Re: cl_khr_icd spec

    I suspect the problem is that neither company has any incentive to make their software compatible with their competitor's. :) I'm not sure how one fixes that.

  3. #3
    Junior Member
    Join Date
    Apr 2009
    Posts
    8

    Re: cl_khr_icd spec

    Well, one way would be to make a conformance test that verified cl_khr_icd support. Even the process of writing the conformance test would probably sort out most of the issues. Getting conformance to be able to ship an OpenCL implementation would be a strong incentive.

    Of course that requires the group to make it a priority, but I think its a little sad that NVIDIA and AMD ship different DLLs *marked with the Khronos name* but that don't interoperate.

  4. #4
    Senior Member
    Join Date
    Jul 2009
    Location
    Northern Europe
    Posts
    311

    Re: cl_khr_icd spec

    I think the problem is that the platform layer is tested explicitly (since you kind of have to use it for anything) but there's no way to write a vendor-unspecific test that verifies that it works with other vendors' libraries.

  5. #5
    Junior Member
    Join Date
    Apr 2009
    Posts
    8

    Re: cl_khr_icd spec

    A basic question I have is how many implementations of OpenCL.dll are there? If the answer is more than one, there is a serious problem. There may be revisions to the library in which case the version number should be incremented to aid in proper installation. New versions of the library should maintain compatibility with previous versions.

    I would think that this library should be provided to the vendors as a binary by Khronos based on a common code base. Vendor specific modifications should not be made to OpenCL.dll. Anything vendor specific should be handled by OpenCL.dll delegating to the vendor libraries. If Khronos provides the OpenCL.dll for the testing, it will be immediately obvious if there is a problem with interoperability because the fault will by definition be in the vendor library.

    Even if all of this is off to a rocky start, it is critical to get it on track if the goal is to move OpenCL beyond developer labs to actual applications on end user machines.

  6. #6
    Junior Member
    Join Date
    Jan 2010
    Posts
    6

    Re: cl_khr_icd spec

    Is there a formal cl_khr_icd specification? Are ICD tests part of the conformance tests?

    NVIDIA and AMD are currently doing a poor job with ICD interoperability and it would be good to know what the problem is.
    Actually, if you install the ATI Stream SDK 2.0.1 and copy their new OpenCL.DLL over the NVidia OpenCL.DLL in Windows\System32 or Windows\SysWOW64 you can use both platforms with that one DLL.

    This is good news.

  7. #7

    Re: cl_khr_icd spec

    On the flip side I can't seem to get the AMD OpenCL implementation to work on linux because of ICD. clGetPlatformIDs always returns -10001.

  8. #8

    Re: cl_khr_icd spec

    Oops, typo in my previous post, the error code is actually -1001.

  9. #9
    Junior Member
    Join Date
    Apr 2009
    Posts
    8

    Re: cl_khr_icd spec

    Quote Originally Posted by mbf

    Actually, if you install the ATI Stream SDK 2.0.1 and copy their new OpenCL.DLL over the NVidia OpenCL.DLL in Windows\System32 or Windows\SysWOW64 you can use both platforms with that one DLL.

    This is good news.
    I have installed the AMD Stream SDK 2.01 and verified that the AMD DLLs are in the system directories but I don't see the NVIDIA platform in this configuration. I'm on XP64 with an ATI 4850 (Catalyst 10.1) and a NVIDIA 9800GT (195.62). With the AMD OpenCL.dll I see the AMD platform with 2 devices: CPU and AMD GPU. With the NVIDIA DLL I see the NVIDIA platform with a NVIDIA GPU device.

  10. #10
    Member
    Join Date
    Sep 2003
    Location
    Silicon Valley
    Posts
    57

    Re: cl_khr_icd spec

    Quote Originally Posted by Chris244
    Is there a formal cl_khr_icd specification?
    The Khronos Promoters recently ratified the ICD extension specification and it is available in the Registry now.
    Jon Leech
    EGL & OpenGL Specification Editor / OpenGL ARB Ecosystem TSG Chair / Khronos API Registrar

Page 1 of 2 12 LastLast

Similar Threads

  1. CL_DEVICE_GLOBAL_MEM_SIZE less than spec
    By luizdrumond in forum OpenCL
    Replies: 2
    Last Post: 04-15-2013, 11:26 AM
  2. question about 1.0 spec
    By rlei in forum OpenMAX
    Replies: 0
    Last Post: 01-01-1970, 12:00 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •