Cargo Features

[dependencies]
ringkernel-wavesim = { version = "0.4.2", default-features = false, features = ["cpu", "cuda", "cuda-codegen", "wgpu", "simd", "all-backends"] }
default = cpu, simd

These default features are set whenever ringkernel-wavesim is added without default-features = false somewhere in the dependency tree.

cpu default all-backends?

Enables cpu of ringkernel

ringkernel:

Backend features

cuda all-backends? cuda-codegen?

Enables bytemuck and cudarc ^0.18.2, cuda of ringkernel and ringkernel-cuda

CUDA compute (optional, for NVIDIA GPU acceleration)

Affects simulation::cuda_compute, simulation::cuda_packed

Required by bench_packed, test_cuda and verify_packed binaries

cuda-codegen = cuda

Enables ringkernel-cuda-codegen, cuda-codegen of ringkernel-derive and syn

Code generation (optional, for DSL-to-CUDA transpilation)

Affects fdtd_dsl::generate_fdtd_cuda, kernels::generate_tile_kernels, kernels::generate_packed_kernels, kernels::generate_tile_actor_kernel, kernels::generate_actor_tile_kernels

wgpu all-backends?

Enables bytemuck, wgpu of ringkernel and wgpu ^27.0

GPU compute (optional, for tile GPU acceleration)

Affects simulation::wgpu_compute

simd default

Enable SIMD optimizations (requires nightly)

all-backends = cpu, cuda, wgpu