Hedgehog  0.0.0
A library to generate hybrid pipeline workflow systems
hh Namespace Reference

Hedgehog main namespace. More...

Namespaces

 behavior
 Hedgehog behavior namespace.
 
 core
 Hedgehog core namespace.
 
 helper
 Helper used in hedgehog.
 
 traits
 Traits used in Hedgehog.
 

Classes

class  AbstractCUDATask
 Abstract Task specialized for CUDA computation. More...
 
class  AbstractExecutionPipeline
 Node interface made for duplicating a graph, for example in the case of multi-GPU computation. More...
 
class  AbstractMemoryManager
 Abstract interface for Hedgehog's Memory manager. More...
 
class  AbstractMemoryManager< ManagedMemory, typename std::enable_if_t<!traits::is_managed_memory_v< ManagedMemory > > >
 Definition of AbstractMemoryManager, for data that do not derive from MemoryData and/ or are not default constructible. More...
 
class  AbstractPrinter
 Printer interface. More...
 
class  AbstractScheduler
 Abstract Hedgehog Scheduler interface, define per graph how the threads are bound to the nodes. More...
 
class  AbstractState
 State Interface for managing computation, need a corresponding AbstractStateManager to be embedded in a Hedgehog Graph. More...
 
class  AbstractTask
 Base node for computation. More...
 
class  DefaultScheduler
 Default scheduler for Hedgehog graph. More...
 
class  DotPrinter
 Printer to produce a dot representation of the current state of the graph. More...
 
class  Graph
 Main Hedgehog object that does computation. More...
 
class  GraphSignalHandler
 Implements a signal handler to catch events such as termination and killing. More...
 
class  MemoryData
 Memory data interface to use a data type in a Memory manager (AbstractMemoryManager or StaticMemoryManager) More...
 
class  NvtxProfiler
 A class to wrap calls to the NVTX library for tracking events that occur within an Hedgehog task graph. More...
 
class  StateManager
 Hedgehog graph's node, used to manage an AbstractState. More...
 
class  StaticMemoryManager
 Derived class from AbstractMemoryManager for statically allocated MemoryData, used for example for GPU computation to avoid synchronisation during dynamic allocation. More...
 

Enumerations

enum  ColorScheme { ColorScheme::NONE, ColorScheme::EXECUTION, ColorScheme::WAIT }
 Enum color options. More...
 
enum  StructureOptions { StructureOptions::NONE, StructureOptions::ALLTHREADING, StructureOptions::QUEUE, StructureOptions::ALL }
 Enum structural options. More...
 
enum  DebugOptions { DebugOptions::NONE, DebugOptions::DEBUG }
 Enum to enable debug printing. More...
 

Functions

void __checkCudaErrors (cudaError_t err, const char *file, const int line)
 Inline helper function for all of the SDK helper functions, to catch and show CUDA Error, in case of error, the device is reset (cudaDeviceReset) and the program exit. More...
 
void __checkCudaErrors (cublasStatus_t status, const char *file, const int line)
 Inline helper function for all of the SDK helper functions, to catch and show CUDA Status, in case of error, the device is reset (cudaDeviceReset) and the program exit. More...
 

Variables

const int MAJOR_VERSION = 1
 Hedgehog major version.
 
const int MINOR_VERSION = 0
 Hedgehog minor version.
 
const int PATCH_VERSION = 2
 Hedgehog patch version.
 
const std::string FULL_VERSION = "1.0.2"
 Hedgehog full version.
 

Detailed Description

Hedgehog main namespace.

hedgehog namespace

Enumeration Type Documentation

◆ ColorScheme

enum hh::ColorScheme
strong

Enum color options.

Enumerator
NONE 

No added coloration.

EXECUTION 

Colors nodes based on execution time.

WAIT 

Colors nodes based on wait time.

Definition at line 37 of file dot_printer.h.

◆ DebugOptions

enum hh::DebugOptions
strong

Enum to enable debug printing.

Enumerator
NONE 

No added debug options.

DEBUG 

Shows debug information such as pointer addresses for nodes and edges.

Definition at line 52 of file dot_printer.h.

◆ StructureOptions

enum hh::StructureOptions
strong

Enum structural options.

Enumerator
NONE 

No added structural options.

ALLTHREADING 

Displays all tasks in clusters.

QUEUE 

Displays queue details (max queue size and queue size along edges)

ALL 

Displays both ALLTHREADING and QUEUE.

Definition at line 44 of file dot_printer.h.

Function Documentation

◆ __checkCudaErrors() [1/2]

void hh::__checkCudaErrors ( cudaError_t  err,
const char *  file,
const int  line 
)
inline

Inline helper function for all of the SDK helper functions, to catch and show CUDA Error, in case of error, the device is reset (cudaDeviceReset) and the program exit.

Parameters
errError to manage
fileFile generating the error
lineFile's line generating the error

Definition at line 39 of file abstract_cuda_task.h.

◆ __checkCudaErrors() [2/2]

void hh::__checkCudaErrors ( cublasStatus_t  status,
const char *  file,
const int  line 
)
inline

Inline helper function for all of the SDK helper functions, to catch and show CUDA Status, in case of error, the device is reset (cudaDeviceReset) and the program exit.

Parameters
statusStatus to manage
fileFile generating the error
lineFile's line generating the error

Definition at line 54 of file abstract_cuda_task.h.