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.
103 lines
1.7 KiB
103 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:
|
|
|