Crandore Hub

opencltools

'OpenCL' Tools for R Package Developers

Runtime 'OpenCL' support for R package developers: probe hardware and drivers, load and concatenate kernel sources, and manage dependency-annotated '.cl' libraries, so packages like 'nmathopencl' and other ported libraries can offer GPU acceleration without each re-implementing the same plumbing. Vignettes use the 'glmbayes' envelope-gradient example and likelihood subgradient methodology (Nygren and Nygren, 2006, <doi:10.1198/016214506000000357>).

README

# Headers for `LinkingTo: opencltools`

This directory is installed as `include/` in the package root when **opencltools**
is installed. Downstream packages that use **`LinkingTo: opencltools`** should
include:

```cpp
#include <opencltools/openclPort.h>
```

## OpenCL C API headers (`CL/cl.h`)

**opencltools does not ship Khronos OpenCL headers** under `include/CL/`.
Each package must locate an OpenCL SDK or ICD headers via its own **`configure`**
/ **`SystemRequirements: OpenCL`** (same as building **opencltools** itself).

When **`USE_OPENCL`** is defined, `openclPort.h` includes `<CL/cl.h>` from those
system/SDK paths. Do not rely on a bundled copy from this package.

## Linking (`openclPort::` symbols)

Headers alone are not enough: implementations live in the **opencltools**
shared library. Downstream `src/Makevars` should include linker flags from
`opencltools::opencltoolsLdFlags()` (see `?opencltoolsLdFlags`).

## Sync

Keep `opencltools/openclPort.h` in sync with `src/openclPort.h` in the source tree.

Versions across snapshots

VersionRepositoryFileSize
0.8.1 rolling linux/jammy R-4.5 opencltools_0.8.1.tar.gz 1.7 MiB
0.8.1 rolling linux/noble R-4.5 opencltools_0.8.1.tar.gz 1.7 MiB
0.8.1 rolling source/ R- opencltools_0.8.1.tar.gz 1.6 MiB
0.8.1 latest linux/jammy R-4.5 opencltools_0.8.1.tar.gz 1.7 MiB
0.8.1 latest linux/noble R-4.5 opencltools_0.8.1.tar.gz 1.7 MiB
0.8.1 latest source/ R- opencltools_0.8.1.tar.gz 1.6 MiB
0.8.1 2026-04-23 source/ R- opencltools_0.8.1.tar.gz 0 B

Dependencies (latest)

Imports

LinkingTo

Suggests