[arch-dev-public] Opencl/Cuda headers

Stéphane Gaudreault stephane at archlinux.org
Fri Nov 12 01:23:25 CET 2010

Le samedi 30 octobre 2010 00:45:58, Stéphane Gaudreault a écrit :
> Since version 260.19.12, upstream developers of nvidia-utils dropped C
> headers for OpenCL and Cuda. After a discussion with Ionuț on IRC, we
> agreed that it would be good to ask other developers on the best way to
> provide these headers.
> For those unfamiliar with these programming languages/libraries, there are
> part of the so-called GPGPU technologies (General-Purpose Processing on
> Graphical Processing Unit), where the primary objective is to perform any
> type of parallel computing on graphics processors. For example, I am using
> OpenCL in a personal programming project to speed up a partial
> differential equation solver. OpenCL is an open standard that has been
> recently (May 2009) ratified by The Khronos Group. C for Cuda is a similar
> proprietary solutions from Nvidia. Nvidia-utils contains the dynamic
> libraries for both OpenCL and Cuda. Other vendors, like AMD and Intel,
> provide or will provide soon an implementation of OpenCL for their GPUs.
> To get a satisfactory OpenCL developement environment, it could be as
> simple as creating a new package that provide the header files. These
> headers can be either downloaded from The Khronos Group[1] (like this [2])
> or extracted from the Nividia toolkit[3].
> However, for Cuda, it might be a little more complicated because it must
> use a compiler provided by nvidia (nvcc).  A solution may be to create a
> package for the Cuda Toolkit. The main disadvantage of this solution is
> the addition of proprietary software for which we can only provide limited
> support in case of bugs or incompatibility with other updates. According
> to the maintainer of the Cuda package in AUR [4], Cuda requires gcc
> version 4.4 (it is broken with version 4.5) and sometimes releases depend
> on beta drivers[5]. I think it is probably better to wait until these
> dependency problems are fixed before thinking about inclusion in [extra]
> or [community].
> My suggestion would be to package only OpenCL headers (Khronos version) and
> eventually discuss addition of Cuda if it becomes easier to maintain in a
> rolling release distribution. The new "khronos-opencl-headers" package
> could be added as optional dependencies for nvidia-utils which will also
> include a "provides=('libCL')"[6]. I tested this solution on several codes
> and it works well. It also seems that Debian is going to do something very
> similar[7].
> So what do other people think about this problem ?
> Stéphane
>  [1] http://www.khronos.org/registry/cl
>  [2] http://aur.archlinux.org/packages.php?ID=35367
>  [3] http://developer.nvidia.com/object/cuda_3_2_toolkit_rc.html
>  [4] http://aur.archlinux.org/packages.php?ID=3D23597
>  [5] Personnal communication
>  [6] cf. FS#20558
>  [7] http://ftp-master.debian.org/new/khronos-opencl-
> headers_1.0-2010.06.13-1.html

It seems the Cuda/OpenCL/vdpau headers are back in nvidia-utils version 

Stéphane is happy again :-)

More information about the arch-dev-public mailing list