NIF stubs for the CubeCL Rust backend.
Each function delegates to the Rust NIF implementation.
If the NIF is not loaded, returns {:error, :nif_not_loaded}.
Summary
Types
@type result(t) :: {:ok, t} | {:error, term()}
Functions
@spec buffer_new(binary(), [non_neg_integer()], String.t()) :: result(reference())
@spec buffer_shape(reference()) :: result([non_neg_integer()])
@spec buffer_size(reference()) :: result(non_neg_integer())
@spec device_count() :: result(non_neg_integer())
@spec pipeline_add(non_neg_integer(), String.t(), [reference()], reference(), map()) :: result(non_neg_integer())
@spec pipeline_free(non_neg_integer()) :: :ok | {:error, term()}
@spec pipeline_new() :: result(non_neg_integer())
@spec pipeline_run(non_neg_integer()) :: result(non_neg_integer())
@spec poll(non_neg_integer()) :: result(:completed | :pending | :failed)
@spec submit(String.t()) :: result(non_neg_integer())
@spec wait(non_neg_integer()) :: :ok | {:error, term()}