Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

When will OpenCL 1.2 for NVIDIA hardware be available?

Tags:

cuda

opencl

I would have asked this question on the NVIDIA developer forum but since it's still down maybe someone here can tell me something.

Does anybody know if there is already OpenCL 1.2 support in NVIDIAs driver? If not, is it coming soon?

I don't have a GeForce 600 series card to check myself. According to Wikipedia there are already some cards that could support it though.

It somewhat seems like NVIDIA does not mention OpenCL a whole lot anymore and just focuses on CUDA C/C++ (see StreamComputing.eu). I guess it makes sense to them but I would like to see some more OpenCL love.

Thanks

like image 993
lochotzke Avatar asked Sep 26 '12 15:09

lochotzke


People also ask

Does Nvidia cards support OpenCL?

In addition to OpenCL, NVIDIA supports a variety of GPU-accelerated libraries and high-level programming solutions that enable developers to get started quickly with GPU Computing. OpenCL is a trademark of Apple Inc., used under license by Khronos.

What is replacing OpenCL?

Instead, the OpenCL working group is discarding it entirely. Replacing OpenCL C++ is the C++ for OpenCL project, which, despite the naming similarities, is a separate project entirely. The differences are fairly small from a programming perspective, but essentially C++ for OpenCL is being built with a layered approach.

What version of OpenCL does Nvidia support?

NVIDIA supports OpenCL 3.0 on Maxwell and later GPUs. For more details, refer to the R465 release notes here, and download the R465 drivers today: Here for Win10 Game Ready.

Does Nvidia use CUDA or OpenCL?

OpenCL is an open standard that can be used to program CPUs, GPUs, and other devices from different vendors, while CUDA is specific to NVIDIA GPUs.


2 Answers

NVidia's latest SDK (v4.2.9) does not support OpenCL 1.2 with regard to the header files or library it provides. I considered this might just be the SDK itself: as you point out, the GeForce 600 series appears to support it in hardware. Unfortunately I don't own any 600 series card, but OpenCL64.dll supplied with the latest drivers (v306.23) does not export OpenCL 1.2 symbols. Further, I can find no trace of the new symbols (such as "clLinkProgram") as strings in the driver package. Although this does not rule out the possibility of bootstrapping 1.2 functionality in the driver via an ICD Loader, there is no evidence that there is an 1.2 implementation there, and this would be undocumented and unsupported.

As to when OpenCL 1.2 will be officially supported by NVidia, unfortunately I don't know the answer to this, and would be equally keen to find out.

In the mean-time you might consider an alternative OpenCL 1.2 implementation for development; for example the Intel SDK 2013 Beta (Intel CPU) or AMD APP SDK v2.7 (AMD CPU or AMD/ATI GPU).

An aside, but personally I am considering switching from NVidia GPUs to ATI for production purposes, partly based on AMD's investment in OpenCL and also arguments comparing "bang for buck" between NVidia and the latest AMD cards: NVIDIA vs AMD: GPGPU performance

like image 139
James Beilby Avatar answered Oct 10 '22 06:10

James Beilby


The NVIDIA hotfix driver version 350.05 (April 2015) adds support for OpenCL 1.2.

With the 350.12 (also April 2015) release, NVidia has clarified the situation:

With this driver release NVIDIA has also posted a bit more information on their OpenCL 1.2 driver. The driver has not yet passed OpenCL conformance testing over at Khronos, but it is expected to do so. OpenCL 1.2 functionality will only be available on Kepler and Maxwell GPUs, with Fermi getting left behind.

like image 21
luiscubal Avatar answered Oct 10 '22 04:10

luiscubal