HTGS  v2.0
The Hybrid Task Graph Scheduler
File List
Here is a list of all documented files with brief descriptions:
[detail level 123456]
  src
  htgs
  api
 Bookkeeper.hppImplements the Bookkeeper class
 ExecutionPipeline.hppExecutionPipeline encapsulates a task graph and duplicates it, such that each duplicate task graph executes concurrently
 ICudaTask.hppICudaTask.hpp is used to define an NVIDIA Cuda GPU Tasks
 IData.hppImplements the IData class, which is used for all data types entering/leaving a task graph
 IMemoryAllocator.hppDefines how memory is allocated and freed
 IMemoryReleaseRule.hppDescribes how memory is released
 IRule.hppProvides an interface to send data along RuleManager edges for processing state and dependencies
 ITask.hppAn interface to process input data and forward results within a TaskGraph
 MemoryData.hppImplements MemoryData used by a MemoryManager, which can be shared among multiple ITask
 TaskGraphConf.hppImplements the task graph configuration class responsible for managing ITask connections
 TaskGraphRuntime.hppSpawns threads and binds them to the appropriate ITask within a TaskGraph
 TGTask.hppHolds the TGTask class implementation
 VoidData.hppVoidData is used for data that is empty/void
  core
  comm
 DataPacket.hppImplements the data packet that is used by the TaskGraphCommunicator
 TaskGraphCommunicator.hppImplements the task graph communicator task that communicates from each task to all other tasks in a graph
  graph
  edge
 EdgeDescriptor.hppImplements the edge descriptor interface to build edges for a task graph
 GraphEdge.hpp
 GraphRuleProducerEdge.hpp
 GraphTaskConsumerEdge.hpp
 GraphTaskProducerEdge.hpp
 MemoryEdge.hppImplements the memory edge, which is an edge descriptor
 ProducerConsumerEdge.hppImplements a producer consumer edge, which is a type of edge descriptor
 RuleEdge.hppImplements the rule edge, which is an edge descriptor
  profile
 NVTXProfiler.hppNVTX Profiler uses NVIDIA's NVTX API to produce profiling metrics that are visualized with Nsight Systems (https://developer.nvidia.com/nsight-systems)
 TaskGraphProfiler.hppImplements the task graph profiler for gathering and communicating the results via graphviz
 TaskManagerProfile.hppImplements the TaskManagerProfile class that is used to gather profile data for a task manager
 AnyConnector.hppHolds parent class for Connector, removes template type of Connector
 AnyTaskGraphConf.hppImplements the base class used by the TaskGraphConf, which removes the template arguments and implements functions specific to any task graph configuration
 Connector.hppProvides the Connector class for managing input/output of AbsData between Tasks
  memory
 AnyMemoryAllocator.hppImplements the the base class for memory allocators to remove the template argument and provide general functions used for any memory allocator
 CudaMemoryManager.hppProvides the implementation for a MemoryManager for Cuda MemoryData
 MemoryManager.hppImplements the MemoryManager class that processes MemoryData between two ITasks
 MemoryPool.hppImplements the MemoryPool class
  queue
 BlockingQueue.hppImplements a thread-safe BlockingQueue
 PriorityBlockingQueue.hppImplements a thread-safe PriorityBlockingQueue
  rules
 AnyIRule.hppBase class for an htgs::IRule to hide the template arguments
 AnyRuleManager.hppImplements a AnyRuleManager, which connects a Bookkeeper to another ITask using an IRule
 AnyRuleManagerInOnly.hppImplements the base class for the rule manager, but only providing the input type
 ExecutionPipelineBroadcastRule.hppImplements the default execution pipeline rule that broadcasts data to all pipelines
 RuleManager.hppImplements a RuleManager, which connects a Bookkeeper to another ITask using an IRule
  task
 AnyITask.hppImplements parent ITask, removing template arguments
 AnyTaskManager.hppImplements the parent class for a Task to remove the template arguments and the TaskManagerThread to attach a thread to a Task
 TaskManager.hppImplements a TaskManager that interacts with an ITask and holds the input and output Connector for the ITask
  debug
 debug_message.hppProvides functionality for debug messaging
  log
 log_message.hppProvides functionality for log messaging
 TaskGraphSignalHandler.hppImplements a signal handler to catch events such as termination and killing of the process. Once a signal is caught, all task graphs that are registered with the signal handler will be written as a dot file. The dot file is output in the working directory with the name of the signal as a prefix and '-graph-output.dot' as the suffix
  types
 MMType.hppDefines the Memory Manager types MMType
 TaskGraphDotGenFlags.hppDefines DOTGEN flags used for dot file generation
 Types.hppDefines common types used throughout the HTGS API and some of which that are used by users of HTGS such as the htgs::m_data_t
  utils
 ProfileUtils.hpp