On 7 April 2015 at 14:51, JJ Allaire wrote:
| I think that header-only packages (where possible) are definitely
| preferable within the R package ecosystem because it allows you to
| sidestep a lot of build configuration and runtime linking complexity.
| 
| The rub is that some libraries simply can't be made header-only,
| especially if they make use of static data. I was able to convert the
| TinyThread library to header-only by simply prefacing all
| function/method definitions with the inline keyword. However that was
| a pretty small library so I'm not sure you'd have the same easy time
| of it with a larger library like clBLAS.

That may be the case:

edd@max:~$ apt-cache search lib|grep OpenCL
ocl-icd-dbg - Debug symbols for the generic OpenCL ICD Loader
ocl-icd-libopencl1 - Generic OpenCL ICD Loader
ocl-icd-opencl-dev - OpenCL development files
nvidia-libopencl1-304 - NVIDIA OpenCL Driver and ICD Loader library
nvidia-libopencl1-304-updates - NVIDIA OpenCL Driver and ICD Loader library
nvidia-libopencl1-331 - NVIDIA OpenCL Driver and ICD Loader library
nvidia-libopencl1-331-updates - NVIDIA OpenCL Driver and ICD Loader library
nvidia-opencl-dev - NVIDIA OpenCL development files
python-pyopencl - Python module to access OpenCL parallel computation API
python-pyopencl-dbg - Python module to access OpenCL API (debug extensions)
python-pyopencl-doc - module to access OpenCL parallel computation API 
(documentation)
python3-pyopencl - Python 3 module to access OpenCL parallel computation API
python3-pyopencl-dbg - Python 3 module to access OpenCL API (debug extensions)
beignet - Intel OpenCL library
beignet-dev - Intel OpenCL library
libclc-dev - OpenCL C language implementation - development files
libclc-ptx - OpenCL C language implementation - ptx support
libclc-r600 - OpenCL C language implementation - r600 support
libopencv-ocl2.4 - computer vision OpenCL support library
libopentk-cil-dev - Open Toolkit wrapper for OpenGL, OpenAL and OpenCL - Dev 
files
libopentk1.0-cil - Open Toolkit wrapper for OpenGL, OpenAL and OpenCL - 
Assemblies
libviennacl-dev - Scientific computing library written in C++ based on OpenCL
monodoc-opentk-manual - Open Toolkit wrapper for OpenGL, OpenAL and OpenCL - 
Docs
edd@max:~$ 

This shows that eg the Python OpenCL bindings come with a full debug library,
something Debian frequently does for normal shared libraries (ie we create
r-base-core-dbg for debug support R, but eg I never bothered to do the same
for r-mathlib).

So while no exhaustive "proof" of any kind, based on this JJ's talk of "a
rub" may be on to something.

Dirk

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org
_______________________________________________
Rcpp-devel mailing list
Rcpp-devel@lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

Reply via email to