* using log directory 'd:/Rcompile/CRANpkg/local/4.3/OpenCL.Rcheck'
* using R version 4.3.2 (2023-10-31 ucrt)
* using platform: x86_64-w64-mingw32 (64-bit)
* R was compiled by
    gcc.exe (GCC) 12.3.0
    GNU Fortran (GCC) 12.3.0
* running under: Windows Server 2022 x64 (build 20348)
* using session charset: UTF-8
* checking for file 'OpenCL/DESCRIPTION' ... OK
* this is package 'OpenCL' version '0.2-10'
* checking package namespace information ... OK
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for hidden files and directories ... OK
* checking for portable file names ... OK
* checking whether package 'OpenCL' can be installed ... OK
See 'https://www.r-project.org/nosvn/R.check/r-oldrel-windows-x86_64/OpenCL-00install.html' for details.
* used C compiler: 'gcc.exe (GCC) 12.3.0'
* checking installed package size ... OK
* checking package directory ... OK
* checking DESCRIPTION meta-information ... OK
* checking top-level files ... OK
* checking for left-over files ... OK
* checking index information ... OK
* checking package subdirectories ... OK
* checking R files for non-ASCII characters ... OK
* checking R files for syntax errors ... OK
* checking whether the package can be loaded ... [0s] OK
* checking whether the package can be loaded with stated dependencies ... [0s] OK
* checking whether the package can be unloaded cleanly ... [0s] OK
* checking whether the namespace can be loaded with stated dependencies ... [0s] OK
* checking whether the namespace can be unloaded cleanly ... [0s] OK
* checking loading without being on the library search path ... [0s] OK
* checking use of S3 registration ... OK
* checking dependencies in R code ... OK
* checking S3 generic/method consistency ... OK
* checking replacement functions ... OK
* checking foreign function calls ... OK
* checking R code for possible problems ... [2s] OK
* checking Rd files ... [0s] OK
* checking Rd metadata ... OK
* checking Rd cross-references ... OK
* checking for missing documentation entries ... OK
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... OK
* checking Rd contents ... OK
* checking for unstated dependencies in examples ... OK
* checking line endings in C/C++/Fortran sources/headers ... OK
* checking line endings in Makefiles ... OK
* checking compilation flags in Makevars ... OK
* checking for GNU extensions in Makefiles ... NOTE
GNU make is a SystemRequirements.
* checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK
* checking use of PKG_*FLAGS in Makefiles ... OK
* checking pragmas in C/C++ headers and code ... OK
* checking compiled code ... OK
* checking examples ... [1s] OK
* checking for unstated dependencies in 'tests' ... OK
* checking tests ... [1s] OK
  Running 'buffer.R' [0s]
  Comparing 'buffer.Rout' to 'buffer.Rout.save' ...4a5,81
> > 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
6,15d82
< > if (!length(oclPlatforms())) {
< +     cat("== Cannot run tests as there is no platform")
< +     q("no")
< + }
< == Cannot run tests as there is no platform> proc.time()
<    user  system elapsed 
<    0.15    0.10    0.25 
< Warning message:
< In oclPlatforms() :
<   No OpenCL platforms found - try adding Installable Client Drivers (ICD) for your hardware.
  Running 'kernel.R' [0s]
  Comparing 'kernel.Rout' to 'kernel.Rout.save' ...4a5,36
> > 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
6,15d37
< > if (!length(oclPlatforms())) {
< +     cat("== Cannot run tests as there is no platform")
< +     q("no")
< + }
< == Cannot run tests as there is no platform> proc.time()
<    user  system elapsed 
<    0.21    0.03    0.25 
< Warning message:
< In oclPlatforms() :
<   No OpenCL platforms found - try adding Installable Client Drivers (ICD) for your hardware.
* checking PDF version of manual ... [11s] OK
* checking HTML version of manual ... [2s] OK
* DONE
Status: 1 NOTE