Namespace DotCompute.Backends.OpenCL.Execution
Classes
- EventProfilingInfo
Profiling information for an OpenCL event. Contains timing data for queue, submission, start, and completion timestamps.
- EventProperties
Properties for event creation and behavior.
- EventStatistics
Statistics for event usage and pool performance. Used for monitoring, optimization, and capacity planning.
- ExecutionConfig
Represents execution configuration for a kernel.
- ExecutionResult
Represents the result of kernel execution.
- Graph
Represents a complete command graph with nodes and dependencies.
- GraphBuilder
Provides a fluent API for building command graphs.
- GraphExecutionResult
Represents the result of a graph execution.
- GraphParameters
Represents parameters for graph execution.
- KernelArgument
Represents a single kernel argument.
- KernelArguments
Container for kernel arguments with type-safe handling.
- KernelFusionOpportunity
Describes an opportunity for kernel fusion optimization.
- NDRange
Represents an N-dimensional range for kernel execution.
- NodeExecutionResult
Represents the result of executing a single node.
- OpenCLCommandGraph
Provides advanced command graph support for OpenCL operations with automatic parallelization, optimization, and reusable execution patterns.
- OpenCLCommandGraph.Node
Represents a node in the command graph.
- OpenCLEventManager
Manages OpenCL events with pooling and recycling for optimal performance. Provides profiling support, event chaining, and wait list management. Follows proven patterns from CUDA's event management for production-grade synchronization.
- OpenCLEventPool
Pool of OpenCL events for efficient reuse. Delegates to OpenCLEventManager for actual pooling and management. Provides a simplified interface for event acquisition with automatic cleanup.
- OpenCLKernelExecutionEngine
Production-grade OpenCL kernel execution engine with automatic work size optimization and comprehensive error handling.
- OpenCLKernelPipeline
Production-grade multi-kernel execution pipeline with dependency resolution, automatic optimization, and comprehensive profiling.
- OpenCLKernelPipeline.ArgumentSpec
Specification for a kernel argument.
- OpenCLKernelPipeline.ExecutionConfig
Configuration for stage execution.
- OpenCLKernelPipeline.FusionOpportunity
Describes an opportunity for kernel fusion optimization.
- OpenCLKernelPipeline.Pipeline
Represents a configured pipeline ready for execution.
- OpenCLKernelPipeline.PipelineBuilder
Builder for constructing pipelines with fluent API.
- OpenCLKernelPipeline.PipelineResult
Result of pipeline execution.
- OpenCLKernelPipeline.PipelineStatistics
Statistics about pipeline execution.
- OpenCLKernelPipeline.Stage
Represents a single stage in a pipeline.
- OpenCLKernelPipeline.StageResult
Result of a single stage execution.
- OpenCLPipeline
Represents a configured OpenCL kernel execution pipeline ready for execution.
- OpenCLPipelineException
Exception thrown when pipeline operations fail.
- OpenCLPipelineResult
Result of pipeline execution.
- OpenCLPipelineStatistics
Statistics about pipeline execution.
- OpenCLStreamManager
Manages OpenCL command queues with pooling and recycling for optimal performance. Provides in-order and out-of-order queue management with priority scheduling. Follows proven patterns from CUDA's stream management for production-grade queue orchestration.
- OpenCLStreamPool
Pool of command queues for efficient reuse. Provides a simplified interface delegating to OpenCLStreamManager for actual pooling. This class exists for backward compatibility and convenience.
- PipelineArgumentSpec
Specification for a kernel argument in a pipeline.
- PipelineExecutionConfig
Configuration for pipeline stage execution.
- PipelineStage
Represents a single stage in an OpenCL kernel pipeline.
- PipelineStageResult
Result of a single stage execution.
- QueueProperties
Properties for command queue creation and behavior.
- QueueStatistics
Statistics for command queue usage and pool performance. Used for monitoring, optimization, and capacity planning.
Structs
- EventHandle
RAII handle for managed events with automatic cleanup. Ensures events are properly returned to the pool or destroyed when no longer needed.
- OpenCLKernel
Wrapper for OpenCL kernel handle.
- QueueHandle
RAII handle for managed command queues with automatic cleanup. Ensures queues are properly returned to the pool when no longer needed.
Enums
- OpenCLCommandGraph.NodeType
Defines the types of operations that can be represented as graph nodes.
- QueuePriority
Priority levels for command queue scheduling.