oclContext.RdOpenCL contexts host kernels and buffers for the device they are hosted on.
They also have an attached command queue, which allows out-of-order execution
of all operations. Once you have a context, you can create a kernel in the
context with oclSimpleKernel.
oclContext(device = "default", precision = c("best", "single", "double"))Device object as obtained from oclDevices or a
type as in oclDevices. In this case, a suitable device of the
given type will be selected automatically.
Default precision of the context. This is the precision that
will be chosen by default for numeric buffers and kernels with
numeric output mode.
An OpenCL context.
library(OpenCL)
cat("== Platforms:\n")
#> == Platforms:
(platforms <- oclPlatforms())
#> Warning: No OpenCL platforms found - try adding Installable Client Drivers (ICD) for your hardware.
#> list()
if (length(platforms)) {
cat("== Devices:\n")
## pick the first platform
print(devices <- oclDevices(platforms[[1]]))
if (length(devices)) {
cat("== Context:\n")
## pick the first device
print(ctx <- oclContext(devices[[1]]))
}
cat("== Default context:\n")
## Note that context can find device on its own
## (may be different from above if you have multiple devices)
print(c2 <- oclContext())
}