package sarek

  1. Overview
  2. Docs

Module Sarek.KircSource

Sourcetype float64 = float
Sourcetype float32 = float
Sourcetype extension =
  1. | ExFloat32
  2. | ExFloat64
Sourcetype ('a, 'b, 'c) kirc_kernel = {
  1. ml_kern : 'a;
  2. body : Kirc_Ast.k_ext;
  3. ret_val : Kirc_Ast.k_ext * ('b, 'c) Spoc.Vector.kind;
  4. extensions : extension array;
}
Sourcetype ('a, 'b, 'c, 'd) kirc_function = {
  1. fun_name : string;
  2. ml_fun : 'a;
  3. funbody : Kirc_Ast.k_ext;
  4. fun_ret : Kirc_Ast.k_ext * ('b, 'c) Spoc.Vector.kind;
  5. fastflow_acc : 'd;
  6. fun_extensions : extension array;
}
Sourcetype ('a, 'b, 'c, 'd, 'e) sarek_kernel = ('a, 'b) Spoc.Kernel.spoc_kernel * ('c, 'd, 'e) kirc_kernel
Sourceval constructors : string list ref
Sourceval efloat32 : Kirc_Ast.elttype
Sourceval efloat64 : Kirc_Ast.elttype
Sourceval print_ast : Kirc_Ast.k_ext -> unit
Sourceval opencl_head : string
Sourceval opencl_float64 : string
Sourceval cuda_float64 : string
Sourceval cuda_head : string
Sourceval new_var : int -> Kirc_Ast.k_ext
Sourceval global_fun : ('a, 'b, 'c, 'd) kirc_function -> Kirc_Ast.k_ext
Sourceval var : int -> string -> Kirc_Ast.k_ext
Sourceval spoc_fun_kernel : 'a -> 'b -> unit
Sourceval spoc_unit : unit -> Kirc_Ast.k_ext
Sourceval spoc_int : int -> Kirc_Ast.k_ext
Sourceval global_int_var : (unit -> int32) -> Kirc_Ast.k_ext
Sourceval global_float_var : (unit -> float) -> Kirc_Ast.k_ext
Sourceval global_float64_var : (unit -> float) -> Kirc_Ast.k_ext
Sourceval spoc_int32 : int32 -> Kirc_Ast.k_ext
Sourceval spoc_float : float -> Kirc_Ast.k_ext
Sourceval spoc_double : float -> Kirc_Ast.k_ext
Sourceval spoc_int_id : int -> Kirc_Ast.k_ext
Sourceval spoc_float_id : float -> Kirc_Ast.k_ext
Sourceval spoc_match : string -> Kirc_Ast.k_ext -> Kirc_Ast.case array -> Kirc_Ast.k_ext
Sourceval spoc_case : int -> (string * string * int * string) option -> Kirc_Ast.k_ext -> Kirc_Ast.case
Sourceval spoc_id : 'a -> Kirc_Ast.k_ext
Sourceval spoc_constr : string -> string -> Kirc_Ast.k_ext list -> Kirc_Ast.k_ext
Sourceval spoc_record : string -> Kirc_Ast.k_ext list -> Kirc_Ast.k_ext
Sourceval spoc_rec_get : Kirc_Ast.k_ext -> string -> Kirc_Ast.k_ext
Sourceval empty_arg : unit -> Kirc_Ast.k_ext
Sourceval new_int_var : int -> string -> Kirc_Ast.k_ext
Sourceval new_float_var : int -> string -> Kirc_Ast.k_ext
Sourceval new_float64_var : int -> string -> Kirc_Ast.k_ext
Sourceval new_double_var : int -> string -> Kirc_Ast.k_ext
Sourceval new_unit_var : int -> string -> Kirc_Ast.k_ext
Sourceval new_custom_var : string -> int -> string -> Kirc_Ast.k_ext
Sourceval new_int_vec_var : int -> string -> Kirc_Ast.k_ext
Sourceval new_float_vec_var : int -> string -> Kirc_Ast.k_ext
Sourceval new_double_vec_var : int -> string -> Kirc_Ast.k_ext
Sourceval new_custom_vec_var : string -> int -> string -> Kirc_Ast.k_ext
Sourceval int_vect : int -> Kirc_Ast.kvect
Sourceval intrinsics : string -> string -> Kirc_Ast.k_ext
Sourceval spoc_declare : Kirc_Ast.k_ext -> Kirc_Ast.k_ext
Sourceval spoc_local_var : 'a -> 'a
Sourceval int_var : 'a -> 'a
Sourceval int32_var : 'a -> 'a
Sourceval float_var : 'a -> 'a
Sourceval double_var : int -> Kirc_Ast.k_ext
Sourceval equals_custom : string -> Kirc_Ast.k_ext -> Kirc_Ast.k_ext -> Kirc_Ast.k_ext
Sourceval return_unit : unit -> Kirc_Ast.k_ext
Sourceval return_int : int -> string -> Kirc_Ast.k_ext
Sourceval return_float : int -> string -> Kirc_Ast.k_ext
Sourceval return_double : int -> string -> Kirc_Ast.k_ext
Sourceval return_bool : int -> string -> Kirc_Ast.k_ext
Sourceval return_custom : string -> string -> string -> Kirc_Ast.k_ext
Sourceval spoc_native : (Spoc.Devices.device -> string) -> Kirc_Ast.k_ext
Sourceval pragma : string list -> Kirc_Ast.k_ext -> Kirc_Ast.k_ext
Sourceval return_v : (string * string) ref
Sourceval save : string -> string -> unit
Sourceval load_file : string -> bytes
Sourceval gen_profile : ('a, 'b, 'c, 'd, 'e) sarek_kernel -> Spoc.Devices.device -> unit
Sourceval gen : ?keep_temp:bool -> ?profile:bool -> ?return:bool -> ?only:Spoc.Devices.specificLibrary -> ?nvrtc_options:string array -> ('a, 'b, 'c, 'd, 'e) sarek_kernel -> Spoc.Devices.device -> ('a, 'b, 'c, 'd, 'e) sarek_kernel
Sourceval run : ?recompile:bool -> ('a, ('b, 'f) Spoc.Kernel.kernelArgs array, 'c, 'd, 'e) sarek_kernel -> 'a -> (Spoc.Kernel.block * Spoc.Kernel.grid) -> int -> Spoc.Devices.device -> unit
Sourceval profile_run : ?recompile:bool -> ('a, ('b, 'f) Spoc.Kernel.kernelArgs array, 'c, 'd, 'e) sarek_kernel -> 'a -> (Spoc.Kernel.block * Spoc.Kernel.grid) -> int -> Spoc.Devices.device -> unit
Sourceval compile_kernel_to_files : string -> ('a, 'b, 'c, 'd, 'e) sarek_kernel -> Spoc.Devices.device -> unit
Sourcemodule Std : sig ... end
Sourcemodule Sarek_vector : sig ... end
Sourcemodule Math : sig ... end