11 Replies Latest reply: Mar 22, 2011 1:39 AM by T Borgmann
T Borgmann Level 1 Level 1 (0 points)
Hi,

we want to utilize OpenCL on our Server. The GPU (NVidia GT 120) should be supported according to all specs I can find and one can google for benchmark results for Mac Pro's also equipped with the GT 120.

The software, OpenCL Framework, CUDA drivers, and our test programm also seem to work fine and have properly installed themselve on the server as well as on our MacBook Pro (for testing).
To be a little more exact, the NVidia CUDA drivers and NVidia CUDA Toolkit have been installed from here:
http://developer.nvidia.com/object/cuda3_1downloads.html#MacOS


On the MacBook Pro (NVidia 9400M), the OpenCL programm successfully finds both OpenCL devices:

Device #0 name = GeForce 9400M
Device #1 name = Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz



On the XServe, the GPU is not listed in the queried device list:

Device #0 name = Intel(R) Xeon(R) CPU X5550 @ 2.67GHz



Our algorithm test runs well utilizing the CPU device on the XServe, thus we suspect the framework to be properly installed.

Also, we can use GPU accellerated OpenGL on the XServe very well.

Have we made something wrong, have we missed any software?
Is this a known/wanted limitation of the XServe?
Is anyone out there using OpenCL on the GPU of the XServe?

Thanks in advance,
TB

XServe Early 2009
  • MrHoffman Level 6 Level 6 (13,050 points)
    [Mac OS X includes OpenCL in the base distribution.|http://developer.apple.com/technologies/mac/snowleopard/opencl.ht ml]

    As for your question (with the integrated software) [the OpenCL support information is well-buried|http://support.apple.com/kb/SP575]...

    OpenCL
    requires one of the following graphics cards or graphics processors:

    NVIDIA GeForce 9400M, GeForce 9600M GT, GeForce 8600M GT, GeForce GT 120, GeForce GT 130, >GeForce GTX 285, GeForce 8800 GT, GeForce 8800 GS, Quadro FX 4800, Quadro FX5600
    ATI Radeon 4850, Radeon 4870


    Per the [tech specs|http://www.apple.com/xserve/specs.html], the Xserve 2009 uses the NVIDIA GeForce GT 120 series 256MB of GDDR3 controller as the mezzanine.

    So it looks like this is supported by the integrated software. Donno why it doesn't show. Probably a bug in whatever software widget you're looking at.

    Whether NVidia supports this with their CUDA bits with these or other graphics controllers, you'll want to check with them.

    Please let the folks over on the [mailing list cross-posting|http://lists.apple.com/archives/macos-x-server/2011/Jan/msg00190. html] know, too.
  • T Borgmann Level 1 Level 1 (0 points)
    MrHoffman wrote:
    [Mac OS X includes OpenCL in the base distribution.|http://developer.apple.com/technologies/mac/snowleopard/opencl.html]

    As for your question (with the integrated software) [the OpenCL support information is well-buried|http://support.apple.com/kb/SP575]...

    ...
    Per the [tech specs|http://www.apple.com/xserve/specs.html], the Xserve 2009 uses the NVIDIA GeForce GT 120 series 256MB of GDDR3 controller as the mezzanine.

    ...


    So what part of
    T Borgmann wrote:
    ... should be supported according to all specs I can find ...

    was misleading?

    The GPU device is not listed, using the system provided framework nor NVidia's release. XCode or not does also not changes anything concerning device detection at runtime.

    As you've pointed us to, Apple supports OpenCL in the base distribution so I'm posting here to ask for knowledge/help about this behaviour on the XServe. Your sarcasm and your "Donno why... go ask the other guys" is not helpful at all.

    And yes, you're right about cross posting (and you might have forgotten my cros-post at the OpenGL lists...). Because, if google can't find a hint, it is most unlikely that asking in one channel will reveal a sufficient answer. And as we can see here, answeres like your's are also to come up...

    TB
  • MrHoffman Level 6 Level 6 (13,050 points)
    I did go look at the NVIDA web page, and don't see something in particular to download to run some tests or to have a look at the code. (There were a pile of links over there, but nothing obvious to test to get to the error.

    I don't know why this doesn't work. Have you checked with NVIDIA directly to see if they have tested with this controller? It looks like it's listed as supported ([here|http://developer.download.nvidia.com/compute/cuda/32_prod/docs/Getting_StartedMac.pdf] and particularly [here|http://www.nvidia.com/object/cuda_gpus.html]), but there are clearly issues with the device.

    There's a [long thread|http://forums.nvidia.com/index.php?showtopic=91033] on GT 120 series support, and there's very little (nothing) over there that lists Xserve support. So I state this again (and without intending any sarcasm), please consider directly asking NVIDIA for information on their package.

    And FWIW, reading sarcasm when none is intended is not an auspicious response when you're looking for help. (And you didn't catch the version of that response where I misread the Apple specs.)
  • T Borgmann Level 1 Level 1 (0 points)
    MrHoffman wrote:
    I did go look at the NVIDA web page, and don't see something in particular to download to run some tests or to have a look at the code. (There were a pile of links over there, but nothing obvious to test to get to the error.


    To run a test with the OpenCL Framework and verify that it is not just our XServe not listing a GPU device for OpenCL you could use this simple tutorial app which works out of the box and is compiled with a single click:

    site: http://www.macresearch.org/opencl_episode3/
    app: http://www.macresearch.org/files/opencl/Episode3source.zip

    This should run with the original distribution. NVidia offers CUDA drivers, OpenCL works on CUDA capable devices only.
    Theoretically they should not be needed because 10.6.6 already supports OpenCL but I suspected this to cause the missing device and installed them, but without the intended result:

    http://developer.download.nvidia.com/compute/cuda/31/drivers/cudadriver_3.1.17macos.dmg


    Some other things might be included in the CUDA toolbox from NVidia.



    I don't know why this doesn't work. Have you checked with NVIDIA directly to see if they have tested with this controller? It looks like it's listed as supported ([here|http://developer.download.nvidia.com/compute/cuda/32_prod/docs/Getting_StartedMac.pdf] and particularly [here|http://www.nvidia.com/object/cuda_gpus.html]), but there are clearly issues with the device.

    There's a [long thread|http://forums.nvidia.com/index.php?showtopic=91033] on GT 120 series support, and there's very little (nothing) over there that lists Xserve support. So I state this again (and without intending any sarcasm), please consider directly asking NVIDIA for information on their package.


    I know that thread. And there are more resources on the web about OpenCL running on GT 120 cards of the Mac Pro.

    I will of course ask NVidia about it, too.

    TB
  • MrHoffman Level 6 Level 6 (13,050 points)
    The picture of the NVIDIA GT 120 PCIe card posted over at NVIDIA is quite different than the mezzanine card within the Xserve (pre-2009) that was most recently disassembled locally, FWIW, and I don't find any indications anywhere with the CUDA parts that the Xserve 2009 would work with a CUDA configuration.

    Open the CUDA source code for a look, and specifically look for a table of PCI identifiers embedded in the source code, and see if those match the PCI id shown on your 2009 mezzanine controller. (I don't have a 2009 handy to check. The available Xserve boxes are older and are running with the older ATI video mezzanine cards. What tests I can run with the available Xserve hardware here wouldn't be beneficial.) The NVIDA GT 120 PCI id on the PCIe controller looks to be 10de:0646, with 0x10de being the vendor and 0x0646 being the device.

    On re-reading the entirety of the thread here, it's (also) not clear (to me) that the distinction between OpenCL and CUDA is fully recognized here. OpenCL supports different hardware options than does CUDA, including various ATI devices. That, or I could well be misreading something. OpenCL and CUDA are API peers on various NVIDIA devices. If you're looking for OpenCL as your original post indicates, then you should already have that. If you're specifically looking for the CUDA interface, then (clearly) not so much.
  • T Borgmann Level 1 Level 1 (0 points)
    NVidia's device list from March 2010 also tells that it is 0x0646 for the GT 120 - our XServe lists 0x0656 instead. According to the list, no device 0x0656 exists.

    Going to ask NVidia about it asap.

    The terminology about the GPGPU stuff is clear to me, maybe just my bad english is not really able to express my thoughts thoroughly enough.

    Thanks for the hint!
    TB
  • T Borgmann Level 1 Level 1 (0 points)
    From NVidia Forum:
    NVIDIA don't distribute the OpenCL driver for OS X. The standard "retail" driver bundle you can download from NVIDIAs site contains only the video driver, display driver and OpenGL driver. The OpenCL driver is Apple developed and maintained. If you are having problems with it, you will need to ask Apple about it. If they can't or won't help you, then you are out of luck.


    It looks like it's Apple's turn again.

    ...
  • MrHoffman Level 6 Level 6 (13,050 points)
    It's pretty clear that one of us is very confused around what's going on here and around the goal, and I'm going to assume that the confused party is me. (So this'll end this thread for me...)

    If you've tried the OpenCL (CL, not GL) examples and they're failing, then it would be reasonable to assume that the Xserve mezzanine card here is not supported, particularly given that there's (also) an add-on card of the same product name as that mezzanine card, and that PCIe card was used on Mac Pro IIRC, and that that PCIe card is supported.

    To complete the sequence, ring up Apple support and ask them.
  • T Borgmann Level 1 Level 1 (0 points)
    Oh I almost forgot to let everyone know what's the long-term answer of this question is that this is a known issue to Apple.

    Bug filed using the bug tracker. If the software will ever be freed from this bug, who knows, Apple does not tell. So I can just ask anyone who wants to use OpenCL on the XServe, to also file a bug because seems to treat the number of bug reports as a priority...

    https://bugreport.apple.com/

    Cheers
  • T Borgmann Level 1 Level 1 (0 points)
    Known bug.
  • T Borgmann Level 1 Level 1 (0 points)
    I rechecked today after the 10.6.7 update and now there is the GT120 GPU in the device list!

    Thanks a million, Apple