HTGS
v2.0
The Hybrid Task Graph Scheduler
|
Defines the Memory Manager types MMType. More...
Go to the source code of this file.
Enumerations | |
enum | htgs::MMType { htgs::MMType::Static, htgs::MMType::Dynamic } |
The memory manager types. More... | |
Defines the Memory Manager types MMType.
|
strong |
The memory manager types.
MMType::Static Indicates the static memory manager is to be used. This memory manager will allocate all memory during initialization and free memory during shutdown. The memory is stored in a memory pool, which is recycled based on memory rules. To create this edge use the TaskGraph::addMemoryManagerEdge with MMType::Static specified To get memory use ITask::memGet<type>(std::string name, IMemoryReleaseRule *rule) To release memory use ITask::memRelease(std::string name, std::shared_ptr<MemoryData<V>> memory)
MMType::Dynamic Indicates the dynamic memory manager is to be used. This memory manager will allocate memory from within an ITask's ITask::memGet function and the memory is freed within the MemoryManager based on the memory's IMemoryReleaseRule. To create this edge use the TaskGraph::addMemoryManagerEdge with MMType::Dynamic specified To get memory use ITask::memGet<type>(std::string name, IMemoryReleaseRule *rule, size_t numElements) To release memory use ITask::memRelease(std::string name, std::shared_ptr<MemoryData<V>> memory)