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 |
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