uncomplicate.neanderthal.cuda
Contains specialized constructors that use CUDA engine by default, and convenient macros for creating and maintaining engines in appropriate CUDA and cuBLAS context. A convenience over agnostic uncomplicate.neanderthal.core functions.
*cuda-factory*
dynamic
Dynamically bound CUDA factory that is used in vector and matrix constructors.
cuge
(cuge m n source options)
(cuge m n arg)
(cuge m n)
(cuge a)
Creates a GE matrix using CUDA GPU engine provided to the bound *cuda-factory* (see uncomplicate.neanderthal.core/ge).
cusy
(cusy n source options)
(cusy n arg)
(cusy arg)
Creates a SY matrix using CUDA GPU engine provided to the bound *cuda-factory* (see uncomplicate.neanderthal.core/sy).
cutr
(cutr n source options)
(cutr n arg)
(cutr arg)
Creates a TR matrix using CUDA GPU engine provided to the bound *cuda-factory* (see uncomplicate.neanderthal.core/tr).
cuv
(cuv source)
(cuv x & xs)
Creates a vector using CUDA GPU engine provided to the bound *cuda-factory* (see uncomplicate.neanderthal.core/vctr).
set-engine!
(set-engine! factory hstream)
(set-engine! factory)
(set-engine!)
Creates an CUDA factory using the provided factory
constructor function. The created factory will work using the provided stream and the current context, and will be bound to the root of *cuda-factory*. Enables the use of cuv, cuge, cutr, etc. globally.
with-default-engine
macro
(with-default-engine & body)
with-engine
macro
(with-engine factory hstream & body)
Creates a CUDA factory using the provided factory
constructor function and a handle
cuBLAS context handler. The created factory will work using the provided cuBLAS handle
and its context, and will be bound to *cuda-factory*. Enables the use of cuv, cuge, cutr, etc. in its body.