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