CRAN Package Check Results for Package OpenCL

Last updated on 2025-06-03 12:49:48 CEST.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 0.2-10 3.43 24.23 27.66 NOTE
r-devel-linux-x86_64-debian-gcc 0.2-10 2.87 19.61 22.48 NOTE
r-devel-linux-x86_64-fedora-clang 0.2-10 33.98 ERROR
r-devel-linux-x86_64-fedora-gcc 0.2-10 44.05 NOTE
r-patched-linux-x86_64 0.2-10 3.60 23.80 27.40 NOTE
r-release-linux-x86_64 0.2-10 3.37 23.35 26.72 NOTE
r-release-macos-arm64 0.2-10 18.00 NOTE
r-release-macos-x86_64 0.2-10 29.00 NOTE
r-oldrel-macos-arm64 0.2-10 16.00 NOTE
r-oldrel-macos-x86_64 0.2-10 21.00 NOTE
r-oldrel-windows-x86_64 0.2-10 18.00 42.00 60.00 NOTE

Check Details

Version: 0.2-10
Check: CRAN incoming feasibility
Result: NOTE Maintainer: ‘Simon Urbanek <Simon.Urbanek@r-project.org>’ No Authors@R field in DESCRIPTION. Please add one, modifying Authors@R: c(person(given = "Simon", family = "Urbanek", role = c("aut", "cre"), email = "Simon.Urbanek@r-project.org"), person(given = "Aaron", family = "Puchert", role = "aut", email = "aaronpuchert@alice-dsl.net")) as necessary. Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc

Version: 0.2-10
Check: DESCRIPTION meta-information
Result: NOTE License stub is invalid DCF. Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc, r-patched-linux-x86_64, r-release-linux-x86_64, r-release-macos-arm64, r-release-macos-x86_64, r-oldrel-macos-arm64, r-oldrel-macos-x86_64

Version: 0.2-10
Check: compiled code
Result: NOTE File ‘OpenCL/libs/R_OpenCL.so’: Found non-API call to R: ‘DATAPTR’ Compiled code should not call non-API entry points in R. See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual, and section ‘Moving into C API compliance’ for issues with the use of non-API entry points. Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-patched-linux-x86_64, r-release-linux-x86_64, r-release-macos-arm64, r-release-macos-x86_64

Version: 0.2-10
Check: tests
Result: NOTE Running ‘buffer.R’ [0s/1s] Comparing ‘buffer.Rout’ to ‘buffer.Rout.save’ ...5,10d4 < > < > if (!length(oclPlatforms())) { < + cat("== Cannot run tests as there is no platform") < + q("no") < + } < > Running ‘kernel.R’ [3s/5s] Comparing ‘kernel.Rout’ to ‘kernel.Rout.save’ ...5,10d4 < > < > if (!length(oclPlatforms())) { < + cat("== Cannot run tests as there is no platform") < + q("no") < + } < > Flavors: r-devel-linux-x86_64-debian-clang, r-release-linux-x86_64

Version: 0.2-10
Check: tests
Result: NOTE Running ‘buffer.R’ [0s/1s] Comparing ‘buffer.Rout’ to ‘buffer.Rout.save’ ...5,10d4 < > < > if (!length(oclPlatforms())) { < + cat("== Cannot run tests as there is no platform") < + q("no") < + } < > Running ‘kernel.R’ [2s/3s] Comparing ‘kernel.Rout’ to ‘kernel.Rout.save’ ...5,10d4 < > < > if (!length(oclPlatforms())) { < + cat("== Cannot run tests as there is no platform") < + q("no") < + } < > Flavor: r-devel-linux-x86_64-debian-gcc

Version: 0.2-10
Check: DESCRIPTION meta-information
Result: NOTE Licence stub is invalid DCF. Flavors: r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc

Version: 0.2-10
Check: examples
Result: ERROR Running examples in ‘OpenCL-Ex.R’ failed The error most likely occurred in: > ### Name: oclRun > ### Title: Run a kernel using OpenCL. > ### Aliases: oclRun > ### Keywords: interface > > ### ** Examples > > library(OpenCL) > ## Only proceed if this machine has at least one OpenCL platform > if (length(oclPlatforms())) { + ctx = oclContext(precision="single") + + code = c(" + __kernel void dnorm( + __global numeric* output, + const unsigned int count, + __global numeric* input, + const numeric mu, const numeric sigma) + { + size_t i = get_global_id(0); + if(i < count) + output[i] = exp((numeric) (-0.5 * ((input[i] - mu) / sigma) * ((input[i] - mu) / sigma))) + / (sigma * sqrt((numeric) (2 * 3.14159265358979323846264338327950288 )) ); + }") + k.dnorm <- oclSimpleKernel(ctx, "dnorm", code) + f <- function(x, mu=0, sigma=1) + as.numeric(oclRun(k.dnorm, length(x), as.clBuffer(x, ctx, "numeric"), mu, sigma)) + + ## expect differences since the above uses single-precision but + ## it should be close enough + f(1:10/2) - dnorm(1:10/2) + + ## does the device support double-precision? + if (any("cl_khr_fp64" == oclInfo(attributes(ctx)$device)$exts)) { + k.dnorm <- oclSimpleKernel(ctx, "dnorm", code, "double") + f <- function(x, mu=0, sigma=1) + as.numeric(oclRun(k.dnorm, length(x), as.clBuffer(x, ctx, "double"), mu, sigma)) + + ## probably not identical, but close... + f(1:10/2) - dnorm(1:10/2) + } else cat("\nSorry, your device doesn't support double-precision\n") + + ## Note that in practice you can use precision="best" in the first + ## example which will pick "double" on devices that support it and + ## "single" elsewhere + } [1] 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 [6] 0.000000e+00 0.000000e+00 0.000000e+00 3.388132e-21 2.117582e-22 > > > > ### * <FOOTER> > ### > cleanEx() > options(digits = 7L) > base::cat("Time elapsed: ", proc.time() - base::get("ptime", pos = 'CheckExEnv'),"\n") Time elapsed: 0.587 0.201 9.423 0 0 > grDevices::dev.off() null device 1 > ### > ### Local variables: *** > ### mode: outline-minor *** > ### outline-regexp: "\\(> \\)?### [*]+" *** > ### End: *** > quit('no') Flavor: r-devel-linux-x86_64-fedora-clang

Version: 0.2-10
Check: tests
Result: ERROR Running ‘buffer.R’ Running ‘kernel.R’ Running the tests in ‘tests/buffer.R’ failed. Complete output: > # 0. Create context > library(OpenCL) > > if (!length(oclPlatforms())) { + cat("== Cannot run tests as there is no platform") + q("no") + } > > ctx<-oclContext() > > # 1. Create single-precision buffer and fill with values > buf <- clBuffer(ctx, 16, "single") > buf[] <- 1:16 > > # Inspect the resulting buffer > class(buf) [1] "clBuffer" > print(attributes(buf)$mode) [1] "single" > print(buf) OpenCL buffer, 16 elements of type single [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 > length(buf) [1] 16 > > # subsetting > buf[2:5] # contiguous [1] 2 3 4 5 > buf[c(1,6)] # non-contiguous [1] 1 6 > buf[-1] # negative [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 > buf[buf[] > 6] # logical [1] 7 8 9 10 11 12 13 14 15 16 > buf[c(NA, 4)] # NA [1] NA 4 > > # subassignment > buf[2:3] = 0 # contiguous > buf[1:5] [1] 1 0 0 4 5 > sum(buf[1:4]) [1] 5 > buf[5:4] = c(1,2) # non-contiguous (reversed) > buf[1:5] [1] 1 0 0 2 1 > > # Check if memory accounting works. > oclMemLimits()$used [1] 64 > rm(buf) > invisible(gc()) > oclMemLimits()$used [1] 0 > > # 2. The same for an integer buffer > ints <- clBuffer(ctx, 32, "integer") > ints[] <- 16:47 > > # Inspect the resulting buffer > class(ints) [1] "clBuffer" > print(attributes(ints)$mode) [1] "integer" > print(ints) OpenCL buffer, 32 elements of type integer [1] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [26] 41 42 43 44 45 46 47 > length(ints) [1] 32 > > # 3. Let's see if we can guess the type correctly > numeric.buf <- as.clBuffer(sqrt(3:18), ctx) > print(numeric.buf) OpenCL buffer, 16 elements of type double [1] 1.732051 2.000000 2.236068 2.449490 2.645751 2.828427 3.000000 3.162278 [9] 3.316625 3.464102 3.605551 3.741657 3.872983 4.000000 4.123106 4.242641 > integer.buf <- as.clBuffer(-1:14, ctx) > print(integer.buf) OpenCL buffer, 16 elements of type integer [1] -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 > > # 4. Other functions > c(is.clBuffer(ints), is.clBuffer(1:16), is.clBuffer(ctx)) [1] TRUE FALSE FALSE > > proc.time() user system elapsed 0.358 0.081 0.669 *** caught segfault *** address 0x55d3c0000000, cause 'memory not mapped' An irrecoverable exception occurred. R is aborting now ... Running the tests in ‘tests/kernel.R’ failed. Complete output: > # 0. Create context and read kernel file > library(OpenCL) > > if (!length(oclPlatforms())) { + cat("== Cannot run tests as there is no platform") + q("no") + } > > ctx <- oclContext() > code <- readChar("kernel.cl", nchars=file.info("kernel.cl")$size) > > # 1. Create kernel without inputs and run it > linear <- oclSimpleKernel(ctx, "linear", code, "integer") > oclRun(linear, 4) OpenCL buffer, 4 elements of type integer [1] 0 1 2 3 > oclRun(linear, 32) OpenCL buffer, 32 elements of type integer [1] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [26] 25 26 27 28 29 30 31 > > # 2. Run kernel with a numeric input buffer > square <- oclSimpleKernel(ctx, "square", code) > input <- as.clBuffer(sqrt(1:16), ctx) > output <- oclRun(square, 16, input) > output OpenCL buffer, 16 elements of type double [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 > oclRun(square, 16, output) OpenCL buffer, 16 elements of type double [1] 1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 > > # 3. Run kernel with a buffer argument and a scalar argument > multiply <- oclSimpleKernel(ctx, "multiply", code) > input <- as.clBuffer((1:16)^2, ctx) > output <- oclRun(multiply, 16, input, 2.5) > output OpenCL buffer, 16 elements of type double [1] 2.5 10.0 22.5 40.0 62.5 90.0 122.5 160.0 202.5 250.0 302.5 360.0 [13] 422.5 490.0 562.5 640.0 > > proc.time() user system elapsed 0.547 0.110 1.043 *** caught segfault *** address 0x888, cause 'memory not mapped' An irrecoverable exception occurred. R is aborting now ... Flavor: r-devel-linux-x86_64-fedora-clang

Version: 0.2-10
Check: tests
Result: NOTE Running ‘buffer.R’ Comparing ‘buffer.Rout’ to ‘buffer.Rout.save’ ...5,10d4 < > < > if (!length(oclPlatforms())) { < + cat("== Cannot run tests as there is no platform") < + q("no") < + } < > Running ‘kernel.R’ Comparing ‘kernel.Rout’ to ‘kernel.Rout.save’ ...5,10d4 < > < > if (!length(oclPlatforms())) { < + cat("== Cannot run tests as there is no platform") < + q("no") < + } < > Flavor: r-devel-linux-x86_64-fedora-gcc

Version: 0.2-10
Check: tests
Result: NOTE Running ‘buffer.R’ [0s/1s] Comparing ‘buffer.Rout’ to ‘buffer.Rout.save’ ...5,10d4 < > < > if (!length(oclPlatforms())) { < + cat("== Cannot run tests as there is no platform") < + q("no") < + } < > Running ‘kernel.R’ [3s/7s] Comparing ‘kernel.Rout’ to ‘kernel.Rout.save’ ...5,10d4 < > < > if (!length(oclPlatforms())) { < + cat("== Cannot run tests as there is no platform") < + q("no") < + } < > Flavor: r-patched-linux-x86_64

Version: 0.2-10
Check: tests
Result: NOTE Running ‘buffer.R’ [0s/0s] Comparing ‘buffer.Rout’ to ‘buffer.Rout.save’ ...5,10d4 < > < > if (!length(oclPlatforms())) { < + cat("== Cannot run tests as there is no platform") < + q("no") < + } < > 77c71 < OpenCL buffer, 16 elements of type single --- > OpenCL buffer, 16 elements of type double 79c73 < [9] 3.316625 3.464102 3.605551 3.741657 3.872983 4.000000 4.123106 4.242640 --- > [9] 3.316625 3.464102 3.605551 3.741657 3.872983 4.000000 4.123106 4.242641 Running ‘kernel.R’ [0s/0s] Comparing ‘kernel.Rout’ to ‘kernel.Rout.save’ ...5,10d4 < > < > if (!length(oclPlatforms())) { < + cat("== Cannot run tests as there is no platform") < + q("no") < + } < > 29c23 < OpenCL buffer, 16 elements of type single --- > OpenCL buffer, 16 elements of type double 32,35c26,27 < OpenCL buffer, 16 elements of type single < [1] 1.00000 4.00000 9.00000 16.00000 25.00000 36.00001 48.99999 < [8] 63.99999 81.00000 100.00000 121.00002 144.00000 169.00000 196.00003 < [15] 225.00003 256.00000 --- > OpenCL buffer, 16 elements of type double > [1] 1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 42c34 < OpenCL buffer, 16 elements of type single --- > OpenCL buffer, 16 elements of type double Flavor: r-release-macos-arm64

Version: 0.2-10
Check: tests
Result: NOTE Running ‘buffer.R’ [0s/0s] Comparing ‘buffer.Rout’ to ‘buffer.Rout.save’ ...5,10d4 < > < > if (!length(oclPlatforms())) { < + cat("== Cannot run tests as there is no platform") < + q("no") < + } < > 77c71 < OpenCL buffer, 16 elements of type single --- > OpenCL buffer, 16 elements of type double 79c73 < [9] 3.316625 3.464102 3.605551 3.741657 3.872983 4.000000 4.123106 4.242640 --- > [9] 3.316625 3.464102 3.605551 3.741657 3.872983 4.000000 4.123106 4.242641 Running ‘kernel.R’ [0s/1s] Comparing ‘kernel.Rout’ to ‘kernel.Rout.save’ ...5,10d4 < > < > if (!length(oclPlatforms())) { < + cat("== Cannot run tests as there is no platform") < + q("no") < + } < > 29c23 < OpenCL buffer, 16 elements of type single --- > OpenCL buffer, 16 elements of type double 32,35c26,27 < OpenCL buffer, 16 elements of type single < [1] 1.00000 4.00000 9.00000 16.00000 25.00000 36.00001 48.99999 < [8] 63.99999 81.00000 100.00000 121.00002 144.00000 169.00000 196.00003 < [15] 225.00003 256.00000 --- > OpenCL buffer, 16 elements of type double > [1] 1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 42c34 < OpenCL buffer, 16 elements of type single --- > OpenCL buffer, 16 elements of type double Flavor: r-release-macos-x86_64

Version: 0.2-10
Check: for GNU extensions in Makefiles
Result: NOTE GNU make is a SystemRequirements. Flavors: r-oldrel-macos-arm64, r-oldrel-macos-x86_64, r-oldrel-windows-x86_64