ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
GNN Plugin

Detailed Description

Classes

class  ActsPlugins::BoostTrackBuilding
 Track building implementation using Boost. More...
class  ActsPlugins::CudaTrackBuilding
 Track building implementation using CUDA. More...
struct  ActsPlugins::Device
 A simple device description struct. More...
class  ActsPlugins::EdgeClassificationBase
 Base class for edge classification stage in GNN pipeline. More...
struct  ActsPlugins::ExecutionContext
 Capture the context of the execution. More...
class  ActsPlugins::GnnHook
 Hook interface for GNN pipeline callbacks. More...
class  ActsPlugins::GnnPipeline
 Graph Neural Network pipeline for track finding. More...
struct  ActsPlugins::GnnTiming
 Timing information for GNN pipeline execution. More...
class  ActsPlugins::GraphConstructionBase
 Base class for graph construction algorithms. More...
class  ActsPlugins::GraphStoreHook
 Hook for storing graph data during GNN pipeline execution. More...
class  ActsPlugins::ModuleMapCuda
 CUDA-based module map for graph construction. More...
struct  ActsPlugins::NoEdgesError
 Error that is thrown if no edges are found. More...
class  ActsPlugins::OnnxEdgeClassifier
 ONNX-based edge classifier for GNN pipeline. More...
struct  ActsPlugins::PipelineTensors
 Struct that ties together the tensors used in the GNN pipeline. More...
class  ActsPlugins::Tensor< T >
 This is a very small, limited class that models a 2D tensor of arbitrary type. More...
class  ActsPlugins::TensorRTEdgeClassifier
 Edge classifier using TensorRT inference. More...
class  ActsPlugins::TorchEdgeClassifier
 Edge classifier using PyTorch inference. More...
class  ActsPlugins::TorchMetricLearning
 Graph construction using PyTorch metric learning. More...
class  ActsPlugins::TrackBuildingBase
 Base class for track building implementations. More...
class  ActsPlugins::TruthGraphMetricsHook
 Hook for calculating metrics using truth graph information. More...

Functions

std::pair< Tensor< std::int64_t >, std::optional< Tensor< float > > > ActsPlugins::applyEdgeLimit (const Tensor< std::int64_t > &edgeIndex, const std::optional< Tensor< float > > &edgeFeatures, std::size_t maxEdges, std::optional< cudaStream_t > stream)
 Apply a limit on the number of edges consistently on edgeIndex and edgeFeatures.
std::pair< Tensor< float >, Tensor< std::int64_t > > ActsPlugins::applyScoreCut (const Tensor< float > &scores, const Tensor< std::int64_t > &edgeIndex, float cut, std::optional< cudaStream_t > stream={})
 Apply a score cut to the tensor and return a new tensor with the values that satisfy the cut.
std::ostream & ActsPlugins::operator<< (std::ostream &os, Device device)
 Stream operator for Device.
void ActsPlugins::sigmoid (Tensor< float > &tensor, std::optional< cudaStream_t > stream={})
 Element-wise sigmoid function for float cpu tensors.

Function Documentation

◆ applyEdgeLimit()

std::pair< Tensor< std::int64_t >, std::optional< Tensor< float > > > ActsPlugins::applyEdgeLimit ( const Tensor< std::int64_t > & edgeIndex,
const std::optional< Tensor< float > > & edgeFeatures,
std::size_t maxEdges,
std::optional< cudaStream_t > stream )

Apply a limit on the number of edges consistently on edgeIndex and edgeFeatures.

Parameters
edgeIndexThe edge index tensor
edgeFeaturesThe edge feature tensor
maxEdgesThe edge limit to apply
streamThe stream to use for operation in case of CUDA
Returns
Pair of limited edge index tensor and optional limited edge features tensor

◆ applyScoreCut()

std::pair< Tensor< float >, Tensor< std::int64_t > > ActsPlugins::applyScoreCut ( const Tensor< float > & scores,
const Tensor< std::int64_t > & edgeIndex,
float cut,
std::optional< cudaStream_t > stream = {} )

Apply a score cut to the tensor and return a new tensor with the values that satisfy the cut.

Parameters
scoresThe edge score tensor
edgeIndexThe edge index tensor
cutThe score cut value which edges to accept
streamThe stream to use for the operation in case of CUDA
Returns
Pair of filtered score and edge index tensors containing only edges above threshold

◆ operator<<()

std::ostream & ActsPlugins::operator<< ( std::ostream & os,
Device device )

Stream operator for Device.

Parameters
osOutput stream
deviceDevice to output
Returns
Reference to output stream

◆ sigmoid()

void ActsPlugins::sigmoid ( Tensor< float > & tensor,
std::optional< cudaStream_t > stream = {} )

Element-wise sigmoid function for float cpu tensors.

Parameters
tensorThe tensor to apply the sigmoid function to
streamThe stream to use for the operation in case of CUDA