HTGS  v2.0
The Hybrid Task Graph Scheduler
MMType.hpp File Reference

Defines the Memory Manager types MMType. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  htgs::MMType { htgs::MMType::Static, htgs::MMType::Dynamic }
 The memory manager types. More...
 

Detailed Description

Defines the Memory Manager types MMType.

Author
Timothy Blattner
Date
Feb 8, 2016

Enumeration Type Documentation

◆ MMType

enum htgs::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)