|
docc 0.8.3 (0d44999b)
C++ API Reference
|
Represents the storage location and management characteristics of data. More...
#include <sdfg/types/type.h>
Public Types | |
| enum | AllocationType { Unmanaged , Managed } |
| Defines how memory allocation/deallocation is managed. More... | |
Public Member Functions | |
| StorageType (const std::string &value) | |
| Constructs a StorageType with default unmanaged allocation. | |
| StorageType (const std::string &value, const symbolic::Expression &allocation_size, AllocationType allocation, AllocationType deallocation) | |
| Constructs a StorageType with explicit allocation management. | |
| std::string | value () const |
| Gets the storage location identifier. | |
| void | value (const std::string &value) |
| Sets the storage location identifier. | |
| symbolic::Expression | allocation_size () const |
| Gets the allocation size. | |
| void | allocation_size (const symbolic::Expression &allocation_size) |
| Sets the allocation size. | |
| const symbolic::Expression & | arg1 () const |
| Gets the additional argument. | |
| void | arg1 (const symbolic::Expression &arg) |
| Sets the additional argument. | |
| std::vector< symbolic::Expression > & | args () |
| const std::vector< symbolic::Expression > & | args () const |
| void | args (const std::vector< symbolic::Expression > &args) |
| void | args (std::vector< symbolic::Expression > &&args) |
| AllocationType | allocation () const |
| Gets the allocation management type. | |
| void | allocation (AllocationType allocation) |
| Sets the allocation management type. | |
| AllocationType | deallocation () const |
| Gets the deallocation management type. | |
| void | deallocation (AllocationType deallocation) |
| Sets the deallocation management type. | |
| bool | operator== (const StorageType &other) const |
| Compares two StorageType objects for equality. | |
| bool | is_cpu_stack () const |
| Checks if this storage is CPU stack storage. | |
| bool | is_cpu_heap () const |
| Checks if this storage is CPU heap storage. | |
| bool | is_device () const |
| Checks if this storage resides on a device (i.e. not CPU stack/heap). | |
| bool | is_nv_generic () const |
| Checks if this storage is NVIDIA generic memory. | |
| bool | is_amd_generic () const |
| Checks if this storage is AMD generic memory. | |
| bool | is_nv_global () const |
| Checks if this storage is NVIDIA global memory. | |
| bool | is_nv_shared () const |
| Checks if this storage is NVIDIA shared memory. | |
| bool | is_nv_constant () const |
| Checks if this storage is NVIDIA constant memory. | |
| bool | is_nv_symbol () const |
| Checks if this storage is an NVIDIA symbol. | |
| bool | is_gpu_static () const |
| Checks if this storage is a static GPU buffer. | |
Static Public Member Functions | |
| static StorageType | CPU_Stack () |
| Creates a CPU stack storage type. | |
| static StorageType | CPU_Heap () |
| Creates a CPU heap storage type with default unmanaged allocation. | |
| static StorageType | CPU_Heap (symbolic::Expression allocation_size, StorageType::AllocationType allocation, StorageType::AllocationType deallocation) |
| Creates a CPU heap storage type with explicit allocation management. | |
| static StorageType | NV_Generic () |
| Creates an NVIDIA generic memory storage type. | |
| static StorageType | NV_Global () |
| Creates an NVIDIA global memory storage type. | |
| static StorageType | NV_Shared () |
| Creates an NVIDIA shared memory storage type. | |
| static StorageType | NV_Constant () |
| Creates an NVIDIA constant memory storage type. | |
| static StorageType | NV_Symbol () |
| Creates an NVIDIA symbol storage type. | |
| static StorageType | GPU_Static () |
| Creates a static GPU buffer storage type (see is_gpu_static). | |
Represents the storage location and management characteristics of data.
StorageType defines where data is stored (e.g., CPU stack, CPU heap, GPU memory) and how its allocation and deallocation are managed.
|
inline |
Constructs a StorageType with default unmanaged allocation.
| value | The storage location identifier |
|
inline |
Constructs a StorageType with explicit allocation management.
| value | The storage location identifier |
| allocation_size | The size to allocate |
| allocation | The allocation management type |
| deallocation | The deallocation management type |
|
inline |
Gets the allocation management type.
|
inline |
Sets the allocation management type.
|
inline |
Gets the allocation size.
|
inline |
Sets the allocation size.
|
inline |
Gets the additional argument.
|
inline |
Sets the additional argument.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
Creates a CPU heap storage type with default unmanaged allocation.
|
inlinestatic |
Creates a CPU heap storage type with explicit allocation management.
| allocation_size | The size to allocate |
| allocation | The allocation management type |
| deallocation | The deallocation management type |
|
inlinestatic |
Creates a CPU stack storage type.
|
inline |
Gets the deallocation management type.
|
inline |
Sets the deallocation management type.
|
inlinestatic |
Creates a static GPU buffer storage type (see is_gpu_static).
|
inline |
Checks if this storage is AMD generic memory.
|
inline |
Checks if this storage is CPU heap storage.
|
inline |
Checks if this storage is CPU stack storage.
|
inline |
Checks if this storage resides on a device (i.e. not CPU stack/heap).
|
inline |
Checks if this storage is a static GPU buffer.
A static GPU buffer is a fixed-size device array with program lifetime: it is defined once at file scope of each kernel translation unit using it, zero-initialized when the module is loaded, persists across kernel launches and is never passed as a kernel argument nor materialized on the host.
|
inline |
Checks if this storage is NVIDIA constant memory.
|
inline |
Checks if this storage is NVIDIA generic memory.
|
inline |
Checks if this storage is NVIDIA global memory.
|
inline |
Checks if this storage is NVIDIA shared memory.
|
inline |
Checks if this storage is an NVIDIA symbol.
|
inlinestatic |
Creates an NVIDIA constant memory storage type.
|
inlinestatic |
Creates an NVIDIA generic memory storage type.
|
inlinestatic |
Creates an NVIDIA global memory storage type.
|
inlinestatic |
Creates an NVIDIA shared memory storage type.
|
inlinestatic |
Creates an NVIDIA symbol storage type.
|
inline |
Compares two StorageType objects for equality.
| other | The StorageType to compare with |
|
inline |
Gets the storage location identifier.
|
inline |
Sets the storage location identifier.