10 Replies Latest reply on Jul 9, 2012 3:40 AM by antoiovi

    Function not found in OpenCL.dll

    antoiovi

      Hi to every body.

      I'm learnig the use of OpenCl and i'm following the Introductionary Tutorial , using the C++ wrapper.

      When I run the program i get the error " impossible to find the entry point for clRetainDevice in OpenCL.dll..";

      Opening the the OpenCl.dll with dependency walker i can see that the function clRetainDevice does not exists...

      The version of the dll is 1.2.0.0.

      The code in the c++ file that generate the error is

      cl::vector<cl::Device> devices;

          devices= context.getInfo<CL_CONTEXT_DEVICES>();

      I have to load a different dll, or i have to change the code?

        • Re: Function not found in OpenCL.dll
          antoiovi

          I'm working with WindowsXP

            • Re: Function not found in OpenCL.dll
              chaosed0

              Have you tried installing the AMD APP SDK? I had this problem, too, and after installing the SDK my program used the OpenCL.dll that came with that, rather than the driver runtime which worked.

                • Re: Function not found in OpenCL.dll
                  antoiovi

                  I have installed this one streamsdk_v2.7-RC_win732.

                  May be it doesn't work cause i work on XinXP, and this SDK is for Win7?

                  If so wher i can find the right SDK?

                    • Re: Function not found in OpenCL.dll
                      chaosed0

                      Yeah, I guess you are right, they deprecated support for Windows XP: http://devgurus.amd.com/thread/153555

                      You can download older SDK versions from here: http://developer.amd.com/sdks/AMDAPPSDK/downloads/pages/AMDAPPArchive.aspx

                        • Re: Function not found in OpenCL.dll
                          nzldev

                          I am have a similar issues, and I am running windows 7 64 bit.

                           

                          In the examples from AMD, OpenCLSamplesVs10, all the cl/app build and run, but all the cpp_cl/app examples build, but don't run and I get the following message

                          "The procedure entry point clReleaseDevice could not be located in the dynamic link library OpenCL.dll".

                           

                          I am thinking it is trying to use C:\Windows\SysWOW64\OpenCL.dll instead of

                          C:\Program Files (x86)\AMD APP\lib\x86_64\OpenCL.lib

                           

                          Have AMD-APP-SDK-v2.7-Windows-64.exe installed

                            • Re: Function not found in OpenCL.dll
                              chaosed0

                              I assume you're working in Visual Studio; you can try putting the path to the .dll file into the executable file path in the VC++ directories under your project properties. I find this doesn't work for me all the time, though; honestly, I'd probably just back up the OpenCL.dll in your SysWOW64 and replace it with the one in the SDK. You can use Process Monitor or similar to make sure of which dll your program is using.

                              This isn't a perfect solution, though, since if you want to distribute your application to end users, they're going to be complaining... but it's a solution until AMD fixes whatever the problem is with the catalyst drivers, assuming there is one.

                            • Re: Function not found in OpenCL.dll
                              antoiovi

                              Hy,

                              Now I have download and installed ati-stream-sdk-v2.3-xp32.exe and it works, and i can go on with the tutorial;

                              Yet some doubt remains cause I have some problem compiling the solutions provided with the sdk, but i have still to work on the options project; Then I think it will be better to migrate to the new sdk, but for now its ok;

                              Tank you chaosed0

                                • Re: Function not found in OpenCL.dll
                                  antoiovi

                                  Unforunatley i still can't work. After installing ati-stream-sdk-v2.3-xp32 i had problems with the drivers, and i had to reinstall the old drivers and again the streamsdk_v2.7-RC_win732.

                                  The problem is not solved. I can compile and link the program, but when it runs i have the same error:

                                  " impossible to find the entry point for clRetainDevice in OpenCL.dll..

                                  possible that i can't try to learn the OpenCL?

                                    • Re: Function not found in OpenCL.dll
                                      chaosed0

                                      It may be because the program is not using the dll that comes with the SDK. Try to find out which dll the program is using with process monitor (http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx). Using the program, you can view what dlls each process has opened - I forget exactly how, but I remember it not being too difficult. If it's using the one in SysWOW64, or system32, then it's the wrong one. As I said before, I'd probably just copy the one from the SDK into whatever folder it's trying to find the dll in.

                                      If that wasn't the problem: from what you're saying, it sounds like the SDK came with the drivers. Try uninstalling it using the catalyst uninstall manager and reinstalling it manually, downloaded from the website.

                                      If that still doesn't fix it, I'd probably take it up with AMD support.

                                        • Re: Function not found in OpenCL.dll
                                          antoiovi

                                          I'm reinstalling the sdk and drivers:

                                          1) Downloaded the last Catalyst Software suite for my Radeon HD

                                          2) Launching the installer, with option Personal;

                                          3) The softwere is alredy installed and updated, so I only unistall the SDK;

                                          4) Downloaded the last AMD-APP-SDK-v.s.t-windows-32.exe;

                                          But now  can't find no file named "OpenCl.dll"...in no directory...