## ----setup, include=FALSE----------------------------------------------------- knitr::opts_chunk$set(collapse = TRUE, comment = "#>", eval = FALSE) ## ----windows-paths------------------------------------------------------------ # Sys.setenv( # CUDAVERSE_CUBLAS_PATH = # "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.x/bin/cublas64_12.dll", # CUDAVERSE_CUSOLVER_PATH = # "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.x/bin/cusolver64_11.dll" # ) ## ----linux-paths-------------------------------------------------------------- # Sys.setenv( # CUDAVERSE_CUBLAS_PATH = "/absolute/path/to/libcublas.so.12", # CUDAVERSE_CUSOLVER_PATH = "/absolute/path/to/libcusolver.so.11" # ) ## ----install------------------------------------------------------------------ # # install.packages("pak") # pak::pak("cudaverse/cudaverse@v0.4.1") # library(cudaverse) ## ----diagnostics-------------------------------------------------------------- # check <- cuda_diagnostics() # check$summary # check$next_steps ## ----strict-smoke------------------------------------------------------------- # cuda_select_device("cuda") # # set.seed(1) # x_gpu <- cuda_tensor( # matrix(rnorm(1024^2), nrow = 1024), # device = "cuda", # dtype = "float32" # ) # y_gpu <- tensor_matmul(x_gpu, x_gpu) # # tensor_device(y_gpu) # cuda_provenance(y_gpu) # cuda_memory_info("cuda")