2.4 KiB
Core.h
The Core.h
header file defines some useful types and some macros functions to faciliate the dual CPU-CUDA compilation targets. Additionally, it introduces several classes to enable the usage of CUDA streams, kernels, and graphs.
Types
These numeric types are defined to faciliate the special types used for CUDA, and is necessary to use them for functions to work properly. It is recommended to bring them into the global namespace if possible, by writing using namespace CudaTools::Types;
.
CudaTools::Types::real32
CudaTools::Types::real64
CudaTools::Types::complex64
CudaTools::Types::complex128
These are types provided by the CUDA Math API, which cannot be easily used as computational types on host code. Take care when transferring these back to host functions, as further processing may require a type conversion.
CudaTools::Types::real16
CudaTools::Types::realb16
Macro Definitions
Device Indicators
CUDACC
DEVICE
Host-Device Automation
HD
DEVICE_FUNC
SHARED
Compilation Options
CUDATOOLS_ARRAY_MAX_AXES
Macro Functions
KERNEL
Device Helpers
BASIC_LOOP
Device Copy
DEVICE_COPY
Memory Functions
CudaTools::malloc
CudaTools::free
CudaTools::copy
CudaTools::memset
CudaTools::pin
Streams and Handles
CudaTools::StreamID
CudaTools::StreamID
CudaTools::Manager
CudaTools::Manager
Kernels
CudaTools::Kernel::launch
CudaTools::Kernel::basic
CudaTools::Kernel::Settings
CudaTools::Kernel::Settings
Graphs
CudaTools::Graph
CudaTools::Graph
CudaTools::GraphManager
CudaTools::GraphManager