Reality check

OS X users unite!

I have a bit of sad news to report.

We have found out that the OpenCL GPU drivers for OS X are broken and are unable to render but the simplest of scenes. With anything barely complex the driver simpy crash. CPU rendering works fine.

This is not a problem of the GPU or even the software expertise of AMD or nVidia. It’s a mater of old drivers shipped with OS X. The same scenes with the same exact hardware render on Windows and even on Linux. Beautifully. This is because, on those other OSes, it’s possible to update the drivers independently. On OS X OpenCL is part of the OS and the drivers can only be updated by Apple. Apparently OpenCL is not at the same level of priority than providing new Emoji and so we are stuck with broken drivers.

We have tried to work with AMD (they are powerless in this) and even talked with some Apple engineers, but nothing happened.

So today I decided to email Tim Cook, the CEO of Apple, directly, because we can’t continue like this. Here is the text of my email:

Dear Mr. Cook.

I’m sorry to bother you but we have tried all other channels and nothing worked.

I’m part of a group of developers of a physically-based renderer called LuxRender. LuxRender has been written to use OpenCL to accelerate its enormous amount of computation necessary to generate photo-realistic scenes. You can see some of the images generated by Lux at http://luxrender.net. Lux is an Open Source program.

Apple has defined OpenCL and we have adopted this API instead of the proprietary CUDA in order to be able to work with all kind of hardware on all major platforms. It made sense for an OSS to use an open standard.

The reason why I’m writing to you is that, after waiting for years, we still have broken GPU drivers on OS X. Scenes that render perfectly well on Windows and even on Linux simply abort on OS X. This is happening with both AMD and nVidia GPUs.

The problem is unsolvable from our side. We need updated, fixed drivers for OS X. The problem is so bad hat our main OS X developer has announced, today, that he is giving up OS X. He simply can’t do his job.

I kindly request that you look into this and give us working AMD and nVidia drivers in an upcoming, possibly soon, update of OS X. We are more than willing to work with your engineers, if you need any kind of specific help in identifying the problem.

Thank you for your attention.

Paolo Ciccone

If you are a Mac user I’m asking you to write something like the letter above to Mr.Cook. Or you can simply write in support of my request. The subject line that I used was “The OS X OpenCL drivers are broken.” Mr.Cook can be reached at tcook@apple.com. Please be polite, snyde remarks or rudeness will only damage our cause.

Hopefully Mr.Cook will listen to us and make it possible to incorporate new OpenCL drivers in OS X in an upcoming update.

Thank you for your support.

Pin on PinterestShare on FacebookTweet about this on TwitterShare on Google+

52 comments…

  • danzimm May 3, 2015, 4:09 pm

    Hey, I just want to mention that in my own experience the OpenCL driver is up to 10x slower than the nvidia drivers; in other words I support your push!

  • warrenm May 3, 2015, 6:35 pm

    Emailing Tim Cook, while a dramatic gesture, will achieve less than asking your engineers, users, and fans to file detailed bug reports at http://bugreport.apple.com. These reports will likely be marked as duplicates of existing issues, but every new report filed indicates to Apple that these are real and substantial problems for the developer community.

    • Pret-A-3D May 3, 2015, 7:09 pm

      We have done that. We have talked with the Apple engineers directly. For more than a year. We are at still at this point. In Italy we say that “the first begins smelling from the head” so I went to the head :)

      • warrenm May 6, 2015, 1:16 pm

        Can you share your Radar numbers? Have you considered cross-posting their contents to OpenRadar (http://openradar.appspot.com)? Have you opened the source code of the sample projects you attached to demonstrate these issues? I see a lot of vitriol this week claiming that OpenCL is broken in trivial ways. I see a lot less in the way of credible, reproducible, actionable issue reports.

  • craig May 4, 2015, 7:29 am

    Hi, there’s 2 typos that I can see:

    “It made sense for an >OSShat< our main OS X developer has announced, today, that he is giving up OS X. He simply can’t do his job." Should be 'That'.

    I will join you in emailing. :)

  • rlocatelli May 5, 2015, 3:02 am

    Apple is a world apart, a parallel reality where everything is perfect. At least, this is the marketing of the company. I prefer Linux.

  • jelockwood May 5, 2015, 9:14 am

    I unfortunately don’t expect it will help much but I would suggest you also post this request via the Yosemite public beta forums – not the normal Apple discussion forums.

    If you do have an Apple developer account then posting this as an enhancement request via bugreporter.apple.com would also be helpful. I have had better luck with this route before.

    Along the same lines i.e. a GPU related issue – Apple still do not support 10bit colour depths even though the Mac hardware does support this as do third-party displays. Apparently Adobe Photoshop is ready to utilise this capability if/when Apple ever gets round to adding it.

    • Pret-A-3D May 5, 2015, 9:17 am

      Thank you for the suggestions. I did submit a bug report, so, hopefully this will work.

  • Rudolf Gottfried May 5, 2015, 2:37 pm

    “The same scenes with the same exact hardware render on Windows and even on Linux. Beautifully.”
    I don’t think so, Tim.

    Blender

    german

    Mac:
    http://short4u.de/554926516e438

    Windows:
    http://short4u.de/55490bbb58f8f

    Linux:
    http://short4u.de/55490c535e1ec

    english

    Mac:
    http://short4u.de/554924d77cc9f

    Windows:
    http://short4u.de/554925c5decb0

    Linux:
    http://short4u.de/5549257785a85

    LuxRender

    german

    Mac:
    http://short4u.de/554928a627e4a

    Windows:
    http://short4u.de/554928e1ecc8f

    Linux:
    http://short4u.de/55492926da2f7

    english

    Mac:
    http://short4u.de/554929a046398

    Windows:
    http://short4u.de/554929e236c73

    Linux:
    http://short4u.de/55492a1c38c4c

    • Pret-A-3D May 5, 2015, 2:47 pm

      I don’t know what the links are supposed to be but they don’t work

      • Rudolf Gottfried May 6, 2015, 6:39 am

        The links works fine or how you would say…beautifully.

  • faringo May 5, 2015, 2:49 pm

    Good luck but I wouldn’t expect too much from Apple at this point. Don’t know if you read/heard but a couple of weeks ago The Pixelfarm send emails to their customers detailing substantial issues with OpenCL on OSX resulting in app crashes, uneven performance, missing features, problematic renders and even full-on system crashes with their software thanks to Apple’s OpenCL. As a result, they had to postpone the 2015 version of one of their flagship products, PFClean, indefinitely for OSX. Of course, it works just fine on Win and Linux with both CUDA and OpenCL.
    They were exclusively CUDA two years ago, then Apple came along with the trash can and forced many developers to go OpenCL, rewriting stuff from scratch. Two year later, drivers are still a complete mess and developers pay the price as they cannot get their software on the market.

    • Pret-A-3D May 5, 2015, 2:51 pm

      Thank you for the story about Pixelfarm, it fits our own experience.

  • mdaday May 6, 2015, 5:18 am

    Does this mean if you were to install Windows via Boot Camp on the same computer the Open CL performance would be better? I bought a new Mac Pro last year and have been underwhelmed with it overall. Especially for 3D.

    • Pret-A-3D May 6, 2015, 6:23 am

      I don’t know. It might but I hav no idea if BC supports the installtion of OpenCL drivers.

  • shyog1954 May 11, 2015, 1:32 am

    Hi Paulo,

    I have a MacBook Pro (Late 2004) i7 Quad Core Intel CPU, 16 Gb Ram…..running OS X 10.10.3 which as a Mac user you know has dual graphics cards. An Intel Iris Pro (with 1.5 Gb) and an nVidia NVIDIA GeForce GT 750M (with 2 Gb). I am also running the CUDA driver on the nVidia card (can’t remember the Ver, but I believe the latest for my OS is 6.5……).

    While using Reality 4 with Poser Pro 2041 (SR5) and LuxRender 1.4 I have not had a single crash yet. Even though I have set it up (Reality/LuxRender that is) to use 2 GPU’s, 16 threads etc…no crashes yet (touch wood).

    I do confess that my scenes are not that complex, maybe two walls, a floor, one character (sometimes two), bit of furniture and still no crashes!

    Maybe I’m lucky or have completely missed the point of the thread here.

    Anyway I would love to hear your thoughts. I have had problems in the past with the OS X OpenCL going way back………but I tend these days to only use applications now that are able to use the nVidia CUDA driver. Like when I am modelling in Blender and Maya as these two use like a dream, even renders in realtime’ish with their respective VPR’s.

    Unfortunately, my favourite, Lightwave 2015 still does not support GPU….ah well [sigh].

    Cheers,

    Steve

    • Pret-A-3D May 11, 2015, 7:11 am

      You are probably using hybrid rendering, which doesn’t push the gpu as far as the new LuxCore mode of LuxRender 1.5. With 1.5 it’s a different deal. Download LuxMark 3 and try to render the microphone or hotel scenes and you will see the issue.
      Cheers.

  • robinmy May 14, 2015, 2:42 am

    I don’t know whether this link is useful:
    https://software.intel.com/en-us/forums/topic/535432

    • Pret-A-3D May 14, 2015, 6:54 am

      Thank you but the OCL CPU drivers are in fact fine. It’s the GPU portion that is giving us problems.

      Cheers.

  • jwlovell May 22, 2015, 4:35 am

    I think at this point I may have to try and force Apple to give me a refund on my Mac Pro. If I have to run windows for my OpenCL apps I might as well build a machine to tailored to support it. Yes, I don’t mind tilting at windmills…

  • peer May 31, 2015, 1:31 pm

    I’m also seeing the problem with the Luxmark 3 michrophone benchmark and a hackintosh with a gtx960, drivers downloaded straight from Nvidia. So why is this then an Apple problem, and not an Nvidia problem?

    • Pret-A-3D May 31, 2015, 1:45 pm

      Hi.
      The reason is that OpenCL is part of OS X and the drivers are updated by Apple when they release an update to the os. You cannot update the drivers independently.
      Cheers.

      • ttelos July 16, 2015, 2:28 pm

        Hi, Paolo!

        This trusty workhorse of mine is still running;
        what’s your take on http://www.blendernation.com/2015/07/16/more-news-from-amd-opencl-support-in-os-x-el-capitan/ ?

        • Pret-A-3D July 16, 2015, 2:37 pm

          That’s excellent news. I will test it soon.
          Thanks!

          • ttelos July 24, 2015, 1:44 am

            Let’s see if I’m understanding your take on CUDA vs. OpenCl:

            1.- CUDA is proprietary, OpenCl is open, DAZ Studio iRay be damned:
            there are other alternatives, such as your own Reality+LuxRender
            (and I already have your latest plugin).

            2.- If one has a complex scene to render, then relying on a CUDA card
            will necessitate a custom-size RAM on the graphics card (not feasible on an iMac),
            whereas, if one relies on OpenCl, then the redistribution of processing
            between a, say 2GB graphics card and the CPU
            (which could easily have 16GB RAM available)
            is better automated and fluid.

            Is that it?

          • Pret-A-3D July 24, 2015, 7:14 am

            #1, you are correct. That’s why I think it’s unwise to adopt iRay. It locks you int with a specific venor, taking away freedom of choice, and it’s a proprietary technology, while there are open standards, like LuxRender.
            #2 is not like that. OpenCL allows you to use both the GPU and the CPU at the same time. This means that, if you have a multi-core CPU then you will be able to tae advantage of it, while with CUDA you can’t. All that processing power is left untouched with CUDA. In addition, OpenCL allows you to mix and match cards of any vendor. You could have a system where devices from AMD, nVidia, and Intel are installed. They all work together wih OpenCL. Also, as computing on mobiles devices becomes more prevalent, there is no future for CUDA. While all major phone manufacturers hav pledged support for OpenCL. If you are a developer today you are much better off by developing for OpenCL than for CUDA. CUDA has no future.

          • ttelos July 26, 2015, 10:42 pm

            …OpenCL allows you to use both the GPU and the CPU at the same time…

            On the same scene, same render?

          • Pret-A-3D July 26, 2015, 11:18 pm

            Yes. :)

          • ttelos July 27, 2015, 1:00 pm

            …I never give advice about hardware, too much responsibility…

            Understood.

            But that last word of yours: “Yes”
            (referring to OpenCL automatically distributes work load between CPU and GPU,
            even on a single scene render)
            has definitely eased my sense of dilemma in choosing my next computer: thank you!

  • lyssophobe June 12, 2015, 4:55 pm

    Does the WWDC announcement of Metal show promise for updated OpenCL drivers or is it the death knell? They’re so coy on technical details while slathering everything in marketing language, it’s hard to tell…

    • Pret-A-3D June 12, 2015, 7:55 pm

      It’s neither one or the other. Metal is a technology that streamlines OpenGL, not OpenCL. Part of the underlying technology uses OpenCL but that does not affect the status of the drivers, which at this time, are in the same status that they were when I raised the issue.

      I’ll post when there will be news on this matter.

      Cheers.

      • lyssophobe June 13, 2015, 8:00 am

        >Part of the underlying technology uses OpenCL but that does not affect the status of the drivers…

        That’s sort of what I was afraid of. Thanks for the clarity, Paulo.

  • ttelos June 17, 2015, 6:06 pm

    Hi, Paolo!

    Thank you for bringing this to our attention.
    Any vibes from the WWDC?
    Surely, some developers must have voiced an opinion, or not?

    What about CUDA in upcoming Macs?

    • Pret-A-3D June 17, 2015, 7:24 pm

      Hello.
      No news from WWDC. CUDA is not an option. It’s a proprietary technology with no support for anything but nVidia cards. It’s much more limited and limiting than OpenCL and it’s not something that LuxRender will use because, as an OSS, we stick to open standards. Plus CUDA does not use the CPU while OpenCL works with both CPU and GPU together.

      We are working with Apple to solve this and hopefully there will be something in El Capitan. I’ll post updates as soon as I get something concrete.

      Cheers.

      • ttelos June 18, 2015, 6:07 pm

        Thank you!

        OK; so I’m trying to upgrade my DS plugin,
        but your upgrade page does not recognize my last name:
        — not Telos, not ttelos, not ttelos@mac.com — help!

      • ttelos June 18, 2015, 6:13 pm

        Found it: my daughter’s last name!

        Upgraded to Reality 4 at long last!

        • Pret-A-3D June 18, 2015, 8:44 pm

          Glad that you found it.

          Cheers.

        • Pret-A-3D June 18, 2015, 8:44 pm

          I’m sorry but I didn’t see your previous comment. The best way to contact us is via the Support menu.

          Cheers.

      • ttelos June 19, 2015, 7:31 am

        This computer here is twelve years old, still running Mac OS 10.6,
        has RAM limited to 3GB,
        has an AMD card (Radeon 1600), and is still at OpenGL (2.0), not CL,
        but Blender Cycles as well as DAZ Iradium are pushing CUDA,
        so you can understand why that buzzword is on my radar.
        Current iMacs are all being offered with AMD cards.

        What would YOU advise??

        • Pret-A-3D June 19, 2015, 7:39 am

          As a rule I never give advice about hardware, too much responsibility.

          In any case, Cycles is getting OpenCL support and other renderers that support CUDA in the past are getting OpenCL. CUDA is a proprietary technology that has only one vendor support.

          GPUs are going to play a bigger role in the future and OpenCL is the only framework that is present everywhere, from desktop to mobile. It also supports parallelization on both GPU and CPU, while CUDA does not allow to use the CPU.

          As it happened in the past, core technologies are replaced by versions that are open and available for all vendors. Proprietary networking has been replaced by Internet, proprietary email has been replaced by Internet mail, and so on.

          In my opinion CUDA is technology with no future.

          • ttelos June 19, 2015, 9:31 am

            Thanks for the feedback!

            Yes, I’m all in favor of open standards. ^_^

  • areandres August 27, 2015, 7:19 am

    Hi Paolo,
    i become also more and more disappointed about Apple.
    In the past there was a big support for power users now they just focus on other business like iPhone and so on.
    Thats ok but the company have to remember about us the power users.
    At the moment i can not use Luxrender with openCL because even in CPU mode Luxrender or Blender just hang up when i start to render. At the moment CUDA is working better on Mac then openCL. This is strange because Apple was one of the founder from openCL.

    I use many many years luxrender for me it is one of the best renderer what is existing but how we as user can use it when we have 0 no nada keinen support from Apple.

    I hope Tim is watching and realize that there is still a community what want to use the Mac Computer not just to surf in the internet.

    Jens my friend who work hardly on Mac OS left already thats a big lost and more will follow.
    I am thinking also to move to Linux i want a working system and not always talk talk talk and search search and search for solutions. I dont find my time on the streets. Life is to short to waste time for such a bad strategy what apple is following.

    Thanks and greets from a still loyalty Apple User
    Andy

    • Pret-A-3D August 27, 2015, 7:46 am

      I hear you Andy. Thank you for sharing your story.

      • areandres August 27, 2015, 10:05 pm

        Did you get any feedback from Apple ?

        • Pret-A-3D August 28, 2015, 8:06 am

          Yes, and they have applied some fixes in El Capitan. The latest betas show an improved, albeit not complete, support for OpenCL rendering. We have hopes.

    • argel1200 September 8, 2015, 11:59 am

      Does Apple have to pay attention to power users? They do not seem to think so.

  • Ken February 18, 2016, 10:29 am

    I am not a programmer but have run into many problems with cross-platform applications/programs. I’ve even called out ESPN in the earlier days to tell them that their website didn’t work on Macintoshes. Of course I wasn’t calling as a citizen but as tech guy from a major news organization.

    I am not an Apple “rah-rah” guy and I’ve called them on several mistakes when I used to work at a major art school but me bragging on myself is not the point. I’ve recently read an article on OpenCL and that the same code for other OS’s, including Linux was not the same as the implementation for OS X. Unfortunately due to my M.S., I cannot find the exact article but I did find something similar: https://spin.atomicobject.com/2015/06/02/opencl-c-mac-osx/

    Is it possible that the implementation of OpenCL in LuxRenderer might have something to do with Reality-Lux crashing?

    Again, I’ve run into this kind of thing many times, of course more so before OS X but after, the strange errors were more cryptic in nature and harder to find. I am not a coder but I have helped them in the past by pointing them in the right direction.

    Caveat is needed here: Remember, I do have M.S. and that disease is no joy ride. I may have imagined this in my head but me being able to find one article that talks about the differences in implementation of OpenCL may mean a lot to the coders of Reality and Lux. I’m not a vegetable yet but I thought I should at least put this out there.

    – K

    • Pret-A-3D February 18, 2016, 10:55 am

      Hi.
      The code used by Lux works in both Windows and Linux without issues. Since the OCL code does not change based on the platform, it is then the driver installed in OS X that is the cause of the issue. We have seen improvements as Apple updated their drivers, and Lux remained the same. So, we are sure that it’s an Apple problem.

      Fact is, Apple is abandoning the professional market. They have conquered the consumer market and they made a ton of money there. They have decided that the professional market is just not as remunerative and so they are not putting the necessary resources in fixing their implementation of OpenCL and OpenGL.

  • andrewbluepiano April 26, 2016, 9:20 pm

    Hey, just wanted to share that I found a fix that worked for me in lightwave 3D, and should work for everyone actually. All you need to do is manually add into the applications Info.plist file that the program should utilize the integrated GPU.
    First, you have to have xcode installed to do this fix

    Right click on (application).app
    click show contents
    in the Contents folder open the Info.plist file
    Right click somewhere in the white space at the bottom of the file, and click add row
    Paste: NSSupportsAutomaticGraphicsSwitching
    into the first field, and set it equal to “YES”
    save that file

    Done. This is working so far for me.

    • Pret-A-3D April 27, 2016, 4:47 am

      Thank you for the tip. I would have been wonderful if it was just a matter of changing the configuration. Unfortunately that is not the case. The drivers in Mac OS are broken and that is the issue. I tried your trick and it did not change anything.

      Thank you anyway.