Enum DeviceFeature
- Namespace
- DotCompute.Abstractions.Models.Device
- Assembly
- DotCompute.Abstractions.dll
Represents individual device features that can be queried for support. This enum provides a type-safe way to check for specific device capabilities.
public enum DeviceFeature
Fields
Atomics = 2Atomic memory operation support for thread synchronization.
Queries whether the device supports atomic read-modify-write operations for implementing lock-free algorithms, parallel reductions, and other synchronization primitives. Critical for many parallel algorithms.
DoublePrecision = 0Double-precision (64-bit) floating-point arithmetic support.
Queries whether the device can perform double-precision floating-point operations with IEEE 754 compliance. Essential for scientific computing, high-precision simulations, and applications requiring extended precision.
DynamicParallelism = 7Dynamic parallelism for kernel-launched kernels.
Queries whether the device allows kernels to dynamically launch other kernels, enabling recursive algorithms and adaptive parallelization strategies that adjust based on runtime conditions.
HalfPrecision = 1Half-precision (16-bit) floating-point arithmetic support.
Queries whether the device supports 16-bit floating-point operations, which can provide significant memory and performance benefits for machine learning and graphics applications where reduced precision is acceptable.
Images = 4Image object support for texture operations.
Queries whether the device supports image objects with hardware-accelerated filtering, format conversion, and specialized memory access patterns optimized for 2D data structures.
Images3D = 5Three-dimensional image object support.
Queries whether the device extends image support to 3D volumes, enabling volumetric operations, 3D convolutions, and advanced scientific visualization capabilities.
LocalMemory = 3Local memory support for work-group data sharing.
Queries whether the device provides high-speed local memory that can be shared among work items in the same work group. Used for cache-like behavior and efficient inter-thread communication.
TensorCores = 8Tensor processing unit support for AI acceleration.
Queries whether the device includes specialized tensor processing hardware for accelerating matrix operations, convolutions, and other AI/ML workloads through optimized mixed-precision arithmetic.
UnifiedMemory = 6Unified memory addressing between host and device.
Queries whether the device supports a unified memory model where the same virtual addresses can be accessed from both host and device code, simplifying memory management and enabling automatic migration.
Remarks
Unlike the DeviceFeatures flags enum, this enum represents individual features for use in querying methods like IDeviceCapabilities.IsFeatureSupported(). Each value corresponds to a specific bit in the DeviceFeatures flags.