Spoc_core.Profilingmodule type EVENT = sig ... endEvent handle - packages backend event with operations
type event = (module EVENT)val record_event : event -> unitRecord event (mark current point in stream)
val synchronize_event : event -> unitWait for event to complete
val destroy_event : event -> unitDestroy event
module type EVENT_PAIR = sig ... endEvent pair for timing - packages start/stop with backend
type timer = (module EVENT_PAIR)val timer_start : timer -> unitval timer_stop : timer -> unitval timer_elapsed_ms : timer -> floatval timer_destroy : timer -> unitval timed : Device.t -> (unit -> 'a) -> 'a * floatTime a GPU operation and return result with elapsed time in ms
val time : string -> Device.t -> (unit -> 'a) -> 'aTime a GPU operation and print result
val kernel_stats_table : (string, kernel_stats) Stdlib.Hashtbl.tval kernel_stats : unit -> kernel_stats listGet all kernel statistics
val get_kernel_stats : string -> kernel_stats optionGet stats for a specific kernel
val avg_time_ms : kernel_stats -> floatAverage time per invocation