Spoc_framework.Framework_sigval dims_1d : int -> dimsval dims_2d : int -> int -> dimsval dims_3d : int -> int -> int -> dimstype capabilities = {max_threads_per_block : int;max_block_dims : int * int * int;max_grid_dims : int * int * int;total_global_mem : int64;compute_capability : int * int;(major, minor) for CUDA, (0,0) for OpenCL
*)supports_fp64 : bool;supports_atomics : bool;warp_size : int;max_registers_per_block : int;clock_rate_khz : int;multiprocessor_count : int;is_cpu : bool;True for CPU devices - enables zero-copy optimization
*)}Device capabilities - queried from hardware
type device = {id : int;Global device ID (0, 1, 2...)
*)backend_id : int;ID within the backend (0, 1...)
*)name : string;Human-readable device name
*)framework : string;Backend name: "CUDA", "OpenCL", "Vulkan", "Native"
*)capabilities : capabilities;}Device representation - SDK layer type shared across all backends
module type S = sig ... endMinimal framework signature for plugin registration. Used by Framework_registry for basic plugin management.
Execution model for backends.
Extensible type for backend-specific kernel arguments. Each backend extends this type with its own variant. This allows type-safe passing of kernel args across the framework boundary without Obj.t.
Placeholder kargs for testing - not associated with any backend
type run_source_arg = | RSA_Buffer of {binder : kargs -> int -> unit;Binds buffer to kernel arg
*)length : int;Vector length for generated kernels
*)}| RSA_Int32 of int32| RSA_Int64 of int64| RSA_Float32 of float| RSA_Float64 of floatArgument type for run_source. Buffer binder receives typed kargs.
Convergence behavior of an intrinsic.
module type INTRINSIC_REGISTRY = sig ... endIntrinsic registry interface for backend-specific intrinsics. Note: The actual intrinsic_impl type is defined in each backend's intrinsic registry module to avoid circular dependencies with Sarek_ir.
type exec_arg = Typed_value.exec_arg = | EA_Int32 of int32| EA_Int64 of int64| EA_Float32 of float| EA_Float64 of float| EA_Scalar : (module Typed_value.SCALAR_TYPE with type t = 'a) * 'a -> exec_arg| EA_Composite : (module Typed_value.COMPOSITE_TYPE
with type t = 'a)
* 'a -> exec_arg| EA_Vec of (module Typed_value.EXEC_VECTOR)Re-export typed value types for convenience
module type BACKEND = sig ... endExtended backend signature for Phase 4 unified execution. Adds execution model discrimination and IR-based code generation.