Table of Contents

Class CudaCompilationOptions

Namespace
DotCompute.Backends.CUDA.Configuration
Assembly
DotCompute.Backends.CUDA.dll

CUDA-specific compilation options extending the base compilation options.

public class CudaCompilationOptions : CompilationOptions
Inheritance
CudaCompilationOptions
Inherited Members

Properties

AdditionalOptions

Gets or sets additional compiler options.

public string? AdditionalOptions { get; set; }

Property Value

string

CompileToCubin

Gets or sets whether to compile to CUBIN format instead of PTX.

public bool CompileToCubin { get; set; }

Property Value

bool

ComputeCapability

Gets or sets the target compute capability version for compilation.

public Version ComputeCapability { get; set; }

Property Value

Version

ComputeMode

Gets or sets the CUDA compute mode.

public string ComputeMode { get; set; }

Property Value

string

CudaArchitecture

Gets or sets the CUDA target architecture (e.g., "sm_70", "sm_80", "sm_90").

public string CudaArchitecture { get; set; }

Property Value

string

Debug

Gets CUDA options for debugging.

public static CudaCompilationOptions Debug { get; }

Property Value

CudaCompilationOptions

Default

Gets a default set of CUDA compilation options.

public static CudaCompilationOptions Default { get; }

Property Value

CudaCompilationOptions

EnableCooperativeGroups

Gets or sets whether to enable CUDA Cooperative Groups.

public bool EnableCooperativeGroups { get; set; }

Property Value

bool

EnableDynamicParallelism

Gets or sets whether to enable CUDA Dynamic Parallelism.

public bool EnableDynamicParallelism { get; set; }

Property Value

bool

EnableUnifiedMemory

Gets or sets whether to enable CUDA Unified Memory.

public bool EnableUnifiedMemory { get; set; }

Property Value

bool

ForAda

Gets CUDA options optimized for Ada Lovelace architecture (RTX 40 series).

public static CudaCompilationOptions ForAda { get; }

Property Value

CudaCompilationOptions

GeneratePositionIndependentCode

Gets or sets whether to generate position-independent code.

public bool GeneratePositionIndependentCode { get; set; }

Property Value

bool

IncludeDirectories

Gets include directories for CUDA compilation.

public IList<string> IncludeDirectories { get; }

Property Value

IList<string>

MaxRegistersPerThread

Gets or sets the maximum register count per thread (CUDA-specific).

public int? MaxRegistersPerThread { get; set; }

Property Value

int?

Performance

Gets CUDA options optimized for performance.

public static CudaCompilationOptions Performance { get; }

Property Value

CudaCompilationOptions

UseFastMath

Gets or sets whether to use CUDA fast math operations.

public bool UseFastMath { get; set; }

Property Value

bool

UseRestrictedPointers

Gets or sets whether to use restricted pointers for optimization.

public bool UseRestrictedPointers { get; set; }

Property Value

bool