A library and framework for developing CPU-CUDA compatible applications under one unified code.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
1.7 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
=====
.. doxygentypedef:: real32
.. doxygentypedef:: real64
.. doxygentypedef:: complex64
.. doxygentypedef:: complex128
Macro Definitions
=================
Device Indicators
-----------------
.. doxygendefine:: CUDACC
.. doxygendefine:: DEVICE
Host-Device Automation
----------------------
.. doxygendefine:: HD
.. doxygendefine:: SHARED
Compilation Options
-------------------
.. doxygendefine:: CUDATOOLS_ARRAY_MAX_AXES
Macro Functions
===============
.. doxygendefine:: KERNEL
Device Helpers
--------------
.. doxygendefine:: BASIC_LOOP
Device Class
------------
.. doxygendefine:: DEVICE_CLASS
Memory Functions
================
.. doxygenfunction:: CudaTools::malloc
.. doxygenfunction:: CudaTools::free
.. doxygenfunction:: CudaTools::copy
.. doxygenfunction:: CudaTools::memset
.. doxygenfunction:: CudaTools::pin
Streams and Handles
===================
CudaTools::StreamID
-------------------
.. doxygenstruct:: CudaTools::StreamID
CudaTools::Manager
------------------
.. doxygenclass:: CudaTools::Manager
:members:
Kernels
=======
.. doxygenfunction:: CudaTools::Kernel::launch
.. doxygenfunction:: CudaTools::Kernel::basic
CudaTools::Kernel::Settings
---------------------------
.. doxygenstruct:: CudaTools::Kernel::Settings
:members:
Graphs
======
CudaTools::Graph
----------------
.. doxygenclass:: CudaTools::Graph
:members:
CudaTools::GraphManager
-----------------------
.. doxygenstruct:: CudaTools::GraphManager
:members: