27 Replies Latest reply: Jun 2, 2012 4:23 AM by rob-ART RSS

    What Are The Conditions that Make OpenCL Unavailable?

    Noel Carboni Community Member

      Up to 2 days ago I had ATI Catalyst 12.2 installed. I was able to check all the boxes in the Advanced Graphics Processor Settings dialog and they stayed set. Specifically, I had [ ] Use OpenCL set and Photoshop CS6 worked very well.

       

      Because I need to know about the quality of newer drivers for my own product development, I upgraded my ATI driver suite to the current version - Catalyst 12.4.

       

      Unfortunately, this caused new problems I hadn't had before - specifically a number of GPU-accelerated features didn't work, such as Oil Paint, which would appear to try to start then just exit a split second later.  And with Catalyst 12.4 the [ ] Use OpenCL setting became unavailable (grayed-out).

       

      With my own testing done, I decided to completely uninstall the ATI Catalyst 12.4 suite, and drop back to Catalyst 12.2.

       

      This was a simple matter of uninstalling everything AMD then rebooting (with the Windows driver), then installing Catalyst 12.2. That went smoothly.

       

      However, now I still do not find the [ ] Use OpenCL box has become available again - it's grayed out:

       

      OpenCLUnavailable.jpg

       

      I'm pretty sure there are no remnants from the 12.4 drivers left on my system (though there's a possibility I could have missed something), and everything from the 12.2 set installed successfully, so the question is this:

       

      Did Photoshop sense something about the 12.4 driver set, then set some kind of permanent "No OpenCL" flag in its own configuration settings?

       

       

      Here's my system info with the 12.2 drivers installed. Note the "OpenCL: Unavailable" entry.

       

      http://Noel.ProDigitalSoftware.com/ForumPosts/SystemInfo.txt

       

      Note that all my GPU-accelerated features seem to work...  Oil Paint works and is plenty fast, the various Blur tools work nice and fast, I can do 3D rendering (though there's one small glitch I've had since Photoshop CS6 was released where occasionally it becomes unresponsive for a few seconds at a time while doing 3D work).  But it does finally respond.

       

      -Noel

        • 1. Re: What Are The Conditions that Make OpenCL Unavailable?
          Noel Carboni Community Member

          Never mind, I found the problem.

           

          There were two files that were NOT removed by the 12.4 uninstaller, and were NOT updated by the 12.2 installer (probably because the installer generally won't overwrite newer files):

           

          C:\Windows\SysWOW64\amdocl.dll

          C:\Windows\System32\amdocl64.dll

           

          With these files now on the correct 12.2 version, I have the [  ] Use OpenCL checkboxes again, and they're checked.

           

          -Noel

          • 2. Re: What Are The Conditions that Make OpenCL Unavailable?
            Hudechrome Community Member

            Noel and I have been carrying on an e-mail conversation about 12.4 so I decided to pop in here.

             

            Noel, I do not have C:\Windows\SysWOW64\amdocl.dll, but I do have C:\Windows\System32\amdocl64.dll.

             

            I don't know what to make of it. I Googled C:\Windows\SysWOW64\amdocl.dll and found an item in the AMD developers Forum :http://devgurus.amd.com/thread/154570, concerning Open CL crashes.

             

            I didn't find (quickly, anyway) anything concerning it's presence or absence in a specific installation, so I wonder if the computer is checked for particulars when an update/grade is requested.

             

            Open CL was indicated in a PS6 crash which Chris Cox fingered when I filed  in CS6 Forum. DxO also had issues with Open CL, running Catalyst 12.3, but appear to have been fixed with 12.4.

             

            Perhaps that WOW64\amdocl.dll is not supposed to be there. You might want to test it without that .dll.

            • 3. Re: What Are The Conditions that Make OpenCL Unavailable?
              Noel Carboni Community Member

              Interesting, Lawrence...

               

              Are you able to enable OpenCL in the 32 bit version of Photoshop?

               

              -Noel

              • 4. Re: What Are The Conditions that Make OpenCL Unavailable?
                Hudechrome Community Member

                No, Open CL is grayed out. I thought about it right after clicking reply. So I renamed amdocl64.dll, but still, CL is grayed out.. So I put it back.

                 

                Edit: I also removed it from System 32; still grayed out

                 

                Message was edited by: Hudechrome

                • 5. Re: What Are The Conditions that Make OpenCL Unavailable?
                  Noel Carboni Community Member

                  I can only enable it in the 64 bit Photoshop as well, even though I have the AMD files for both 32 and 64 bit operation.

                   

                  Just to be clear, the file in the System32 folder supports OpenCL in 64 bit applications, and the one in the SysWOW64 folder supports 32 bit operations.

                   

                  I suppose something's still not compatible between Adobe's OpenCL programs and AMD's 32 bit OpenCL compiler.

                   

                  I wonder if there are log files that are written that would help Adobe to know more specifically what is failing, causing OpenCL to be unavailable.  Otherwise they'll have to mock up systems like the ones we have (same video card, same driver version) to try to find the problems.

                   

                  -Noel

                  • 6. Re: What Are The Conditions that Make OpenCL Unavailable?
                    Hudechrome Community Member

                    What you say is correct about what controls what. I removed, again, "C:\Windows\System32\amdocl64.dll" from system 32 folder and sure enough, CL on the 64 bit version is grayed out. Put it back and it runs.

                     

                    This to me is weird. But that may simply be my ignorance about what controls what. I was curious about the "amdocl64.dll" designation when I saw it.

                     

                    How is it that dlls in system 32, which has been around since Columbus was a midshipman, now controls a 64 bit app, while dlls in WOW64 which hasn't, controls the 32 bit app?

                     

                    The mind boggles. I gotta go make some coffee before.....

                     

                    Message was edited by: Hudechrome

                    • 7. Re: What Are The Conditions that Make OpenCL Unavailable?
                      Noel Carboni Community Member

                      It's at least partly because of the history of Windows development, and how they implemented the 64 bit run-time environment.

                       

                      If you start with the requirement that everything should just be able to be recompiled without any changes to be able to run in 64 bits, then it starts to make sense.  OIder code, that just knows that System32 is the folder in which all the OS stuff belongs, when recompiled for 64 bit operation won't magically start looking in another folder.  Hence System32 now contains all 64 bit stuff in an x64 Windows system.  A lot of 64 bit libraries have the characters "32" in them now as well.

                       

                      In a likely unrelated move, apparently someone at Microsoft chose to name the folder in which the 32 bit Windows on Windows code (responsible for running 32 bit apps on a 64 bit Windows system) is to reside SysWOW64, which is actually a departure from past decisions...  For example, if I recall correctly the 16 bit Windows on Windows subsystem (for running 16 bit apps on Win32 systems, in the '90s) was designated WOW16.  Why they didn't name it something more descriptive like SW32OW64 I don't know.

                       

                      You asked. 

                       

                      -Noel

                      • 8. Re: What Are The Conditions that Make OpenCL Unavailable?
                        Hudechrome Community Member

                        I never used the word magic.

                         

                        I figured the first part was likely; as you say, all the OS stuff belongs there.

                         

                        I would think that WOW64 should be a title that indicates the name of a folder for the 32 bit code, maybe simply 32 bit stuff. But even more importantly, why is the major folder for 64 bit OS code still labelled Sys32.?

                         

                        Again, the lack of clarity boggles the mind. I do recall  considerable consternation over this topsy turvy designation when we were testing the app at Intel across 32 and 64 bit platforms.

                         

                        This isn't the only place where an "Alice in Wonderland" up is down situation occurs. Ask me someday about similarities in the use of MAC addresses!

                        • 9. Re: What Are The Conditions that Make OpenCL Unavailable?
                          Noel Carboni Community Member

                          Hudechrome wrote:

                           

                          why is the major folder for 64 bit OS code still labelled Sys32.?

                           

                          That's what I was attempting to answer re: the history lesson.  It was System32 when 32 bit Windows came out, and so to try to minimize source code changes for the zillions of programs that just "know" where the system subfolder is (i.e., with hard-coded paths), they left it that way for the 64 bit OS.  It's as simple as that.  I can almost imagine them trying it another way, then running into problem after problem then finally giving up.

                           

                          As I did a lot of my career in developing data communications products I know quite a lot about MAC addressing.  I also know a lot of decisions are made on MAC addresses that shouldn't be!

                           

                          -Noel

                          • 10. Re: What Are The Conditions that Make OpenCL Unavailable?
                            Hudechrome Community Member

                            Noel Carboni wrote:

                             

                            Hudechrome wrote:

                             

                            why is the major folder for 64 bit OS code still labelled Sys32.?

                             

                            That's what I was attempting to answer re: the history lesson.  It was System32 when 32 bit Windows came out, and so to try to minimize source code changes for the zillions of programs that just "know" where the system subfolder is (i.e., with hard-coded paths), they left it that way for the 64 bit OS.  It's as simple as that.  I can almost imagine them trying it another way, then running into problem after problem then finally giving up.

                             

                            As I did a lot of my career in developing data communications products I know quite a lot about MAC addressing.  I also know a lot of decisions are made on MAC addresses that shouldn't be!

                             

                            -Noel

                            My question was rhetorical, you did answer it.

                             

                            I also figured you had been through the MAC address nonsense yourself!

                             

                            C'est la vie!

                            • 11. Re: What Are The Conditions that Make OpenCL Unavailable?
                              Noel Carboni Community Member

                              Hudechrome wrote:

                               

                              MAC address nonsense

                               

                              Not to go too far off topic, but here's the latest installment in that saga:  My internet service provider senses the Mac address of the device attached to their ONT (Optical Network Terminator) and throttles back my connection speed based on it being a Cisco router MAC address.  It's a modern top-of-the-line router, quite capable of handling the full speed of my fiber connection.

                               

                              When I called them on this, they said, "plug a computer directly into the box and do a speed test", which I did.  When the speed test showed that the advertised speed was being delivered, they said, basically, "The problem is in your router.  You should rent one from us."

                               

                              Funny thing... When I reconfigured my router, through its advanced configuration panel, to use one of my computers' MAC addresses the "problem" was eliminated entirely. 

                               

                              The new millenium:  The time when Marketing crossed the line from aggressive to underhanded.

                               

                              -Noel

                              • 12. Re: What Are The Conditions that Make OpenCL Unavailable?
                                Chris Cox Adobe Employee

                                Yeah, I always set my router to a machine's MAC address.  Comcast pulls the same sort of B.S.

                                • 13. Re: What Are The Conditions that Make OpenCL Unavailable?
                                  Hudechrome Community Member

                                  What does that do to security? Having a common MAC address makes me a bit concerned.

                                   

                                  Is the difference only a speed advantage? Also, does it apply to DSL a la phone lines like CenturyLink?

                                  • 14. Re: What Are The Conditions that Make OpenCL Unavailable?
                                    Noel Carboni Community Member

                                    There's no security issue, in that the same MAC address does not (and cannot) appear on the same network more than once (LAN vs. WAN).  Duplicating the PC's MAC address at the router's WAN interface (replacing the router's own MAC address) does not increase the possibility of unwanted traffic getting into the LAN.

                                     

                                    It's strictly to circumvent the underhanded practice by the internet provider of degrading your connection if you have your own router (which is quite legal and allowed by the provider I have).  Of course, if I were to rent THEIR model - which is actually technically quite inferior to the one I have, yet is "tested and approved" with their equipment - it's likely no such degradation would occur.  Imagine that.

                                     

                                    Whether a phone company would do it to you is anyone's guess.  I'd guess that they might suffer more consequences if they were caught doing so, since they're a communications provider and regulated differently than entertainment providers (the lines are becoming pretty blurred though).  The laws in general haven't caught up with reality.  But it's not an unsolvable mystery - do you get the advertised speed when you run an internet speed test?

                                     

                                    -Noel

                                    • 15. Re: What Are The Conditions that Make OpenCL Unavailable?
                                      Hudechrome Community Member

                                      Noel Carboni wrote:

                                       

                                      But it's not an unsolvable mystery - do you get the advertised speed when you run an internet speed test?

                                       

                                      -Noel

                                      No, I get better than 2X advertised. It's running 3.4Mbsec, and I am on the 1.5 M plan.

                                       

                                      Next level is 5M, for 5 bucks extra. makes me wonder if it's worth it. 5M could be the limit because I know I am near the limit for the repeater in my location. It would be nice if it actually worked out to 10M!

                                      • 16. Re: What Are The Conditions that Make OpenCL Unavailable?
                                        digital_jedi

                                        It looks like the weak link is AMD's installer-not installing 32-bit support as well as 64-bit support in a 64-bit environment.  It also depends on your OS (My laptop running Windows 8 Consumer Preview doesn't have any OpenCL support at all).

                                        • 17. Re: What Are The Conditions that Make OpenCL Unavailable?
                                          Noel Carboni Community Member

                                          digital_jedi wrote:

                                           

                                          It looks like the weak link is AMD's installer-not installing 32-bit support as well as 64-bit support in a 64-bit environment.  It also depends on your OS (My laptop running Windows 8 Consumer Preview doesn't have any OpenCL support at all).

                                          What makes you say that?  I just think it's broken (from Adobe's perspective) for 32 bit in Catalyst 12.2 and for both 32 and 64 bit in 12.4.

                                           

                                          That the file C:\Windows\SysWOW64\amdocl.dll is showing up implies that the support is being installed.

                                           

                                          The unknowns here are what kinds of programs Adobe is trying to compile in OpenCL, and why exactly they're failing.

                                           

                                          -Noel

                                          • 18. Re: What Are The Conditions that Make OpenCL Unavailable?
                                            bgelfand Community Member

                                            Although not specific to Photoshop, you may find this article interesting.

                                             

                                            http://www.anandtech.com/show/5847/answered-by-the-experts-heterogeneous-and-gpu-compute-w ith-amds-manju-hegde/2

                                             

                                            Scroll down to the section discussing Open CL and the new WinZip. It would seem that while Open CL is opened, the implementation depends upon the graphics processor being used. The article suggests code is not easily transportable between devices.

                                             

                                            BTW, I installed the new WinZip. Open CL, even running on my lowly 4650 class card, certainly makes a big difference.

                                            • 19. Re: What Are The Conditions that Make OpenCL Unavailable?
                                              Noel Carboni Community Member

                                              Thanks for the info.

                                               

                                              I understand what OpenCL is about, and to some extent at least the code should be portable, since there are standards that the implementations follow.

                                               

                                              But whether Adobe's code IS portable to all video cards, or whether all video drivers/cards implement the same standards, or even whether all video drivers/cards implement the standards correctly is always in question.

                                               

                                              From what I can see whether Photoshop CS6 is willing to consider the OpenCL in the ATI/AMD Catalyst 12.2 package good enough to use comes and goes.  The [ ] Use OpenCL box may be grayed out in some runs of Photoshop and not in others.  I've personally set the option, had Liquify come up and run fine, and then later (in another run of Photoshop CS6) found [ ] Use OpenCL unchecked and grayed-out - and STILL had Liquify come up and run fine.  I suspect this is because there are a number of different ways Photoshop is willing to try to do the work, and it's falling back to an alternate strategy.

                                               

                                              In Catalyst 12.4 I would NEVER see the OpenCL setting available, and in fact Liquify wouldn't even come up.

                                               

                                              I assume the support for what Photoshop needs is marginal in the recent ATI/AMD drivers, but it would be good to know a little more about why the OpenCL setting comes and goes like it does.

                                               

                                              -Noel

                                              • 20. Re: What Are The Conditions that Make OpenCL Unavailable?
                                                Hudechrome Community Member

                                                Weell, I just opened CS6, opened a file, checked to be sure CL is checked and ran Liquify, using 12.4. Ran just fine no delay or brush drag.

                                                 

                                                Never say never!

                                                • 21. Re: What Are The Conditions that Make OpenCL Unavailable?
                                                  Hudechrome Community Member

                                                  Ok, I turned CL off ran the same test and Liquify ran just as well.

                                                   

                                                  So I don't know why it won't come up for you, Noel.

                                                  • 22. Re: What Are The Conditions that Make OpenCL Unavailable?
                                                    Noel Carboni Community Member

                                                    Note that my original post is from a few days ago, Lawrence.

                                                     

                                                    Also try starting and stopping Photoshop several times and see if the [ ] Use OpenCL box setting comes up active every time.

                                                     

                                                    Like I said, Liquify is working for me (whether or not the OpenCL box is available) now, so this is more of a curiosity than a problem.

                                                     

                                                    -Noel

                                                    • 23. Re: What Are The Conditions that Make OpenCL Unavailable?
                                                      Hudechrome Community Member

                                                      A few days ago! That's an eternity in software!

                                                       

                                                      I don't get then, what you meant when you said "Liquify wouldn't even come up."

                                                       

                                                      I already know that the CL settung isn't sticky.

                                                      • 24. Re: What Are The Conditions that Make OpenCL Unavailable?
                                                        Noel Carboni Community Member

                                                        Hudechrome wrote:

                                                         

                                                        I don't get then, what you meant when you said "Liquify wouldn't even come up."

                                                         

                                                        I'll be very explicit:

                                                         

                                                        When I installed ATI Catalyst 12.4, in Photoshop if I tried to start Liquify, it would just flash the dialog (or part of the dialog) on the screen for a tiny fraction of a second, then it would exit.  Same with Oil Paint.

                                                         

                                                        Now that I've reverted back to Catalyst 12.2, every single time it try Liquify it comes up and works right.  The few times I've tried Oil Paint, it also has worked.

                                                         

                                                        -Noel

                                                        • 25. Re: What Are The Conditions that Make OpenCL Unavailable?
                                                          Hudechrome Community Member

                                                          Ah so!

                                                           

                                                          I wonder about your 12.4 download. Or perhaps there are variations between cards by virtue of the manufacturer. It seems strange, to say the least!

                                                          • 26. Re: What Are The Conditions that Make OpenCL Unavailable?
                                                            Noel Carboni Community Member

                                                            Variations between cards between manufacturers might explain a lot.  Mine's a VisionTek card.  I really don't know what things an individual manufacturer can change on the reference design supplied by AMD.  I do know I've seen different amounts and types of RAM, and different physicality (e.g., connectors, board size) for the same numbered card.

                                                             

                                                            -Noel

                                                            • 27. Re: What Are The Conditions that Make OpenCL Unavailable?
                                                              rob-ART Community Member

                                                              Per the suggestion in the this thread, I deleted these files:

                                                               

                                                              C:\Windows\SysWOW64\amdocl.dll

                                                              C:\Windows\System32\amdocl64.dll

                                                               

                                                              I uninstalled Catalyst 12.4.

                                                              I installed Catalyst 12.2. (OpenCL still grayed out in Photoshop CS6 64-bit)

                                                              I re-installed Catalyst 12.4. (Now OpenCL can be enabled.)

                                                               

                                                              Having OpenCL enabled is a big advantage for certain Photoshop filters.

                                                              For example, with OpenCL enabled, the Iris Blur with 500 px renders in 57 sec instead of 200 sec (Radeon HD 5770).

                                                               

                                                              Under OS X, the difference is even more dramatic. The Radeon 5770 renders the Iris Blur in 20 sec instead of 139 sec.