diff --git a/dev/arrayjit/Arrayjit/Backend_impl/index.html b/dev/arrayjit/Arrayjit/Backend_impl/index.html index ff006a20..8da3f5af 100644 --- a/dev/arrayjit/Arrayjit/Backend_impl/index.html +++ b/dev/arrayjit/Arrayjit/Backend_impl/index.html @@ -7,7 +7,7 @@ Backend_intf.Alloc_buffer with type buffer_ptr := Device_types.buffer_ptr and type stream := Device_types.stream) : - sig ... end
module type Backend_impl_common = sig ... end

Parts shared by backend implementations excluding what's already in Backend_any_common, except for Buffer which is duplicated for technical reasons.

module type For_add_scheduler = sig ... end

An interface to adding schedulers for stream-agnostic (typically CPU) backend implementations.

module type Lowered_no_device_backend = sig ... end

Lowered-level stream agnostic backend interface: implementation-facing API for CPU backends.

module type No_buffer_retrieval_or_syncing = sig ... end
module type With_scheduler = sig ... end

A compilation-agnostic backend API -- Lowered_backend instantates it, but Lowered_no_device_backend backends are also converted to its instantations.

module type Lowered_backend = sig ... end

Lowered-level backend interface: implementation-facing API for device-based (GPU, or CPU after adding a scheduler) backends.

module Alloc_buffer_ignore_stream + sig ... end
module type Backend_impl_common = sig ... end

Parts shared by backend implementations excluding what's already in Backend_any_common, except for Buffer which is duplicated for technical reasons.

module type For_add_scheduler = sig ... end

An interface to adding schedulers for stream-agnostic (typically CPU) backend implementations.

module type Lowered_no_device_backend = sig ... end

Lowered-level stream agnostic backend interface: implementation-facing API for CPU backends.

module type No_buffer_retrieval_or_syncing = sig ... end
module type With_scheduler = sig ... end

An intermediate stage for converting Lowered_no_device_backend backends into Lowered_backend.

module type Lowered_backend = sig ... end

Lowered-level backend interface: implementation-facing API for device-based (GPU, or CPU after adding a scheduler) backends.

module Alloc_buffer_ignore_stream (Device_types : Backend_intf.Device_types) (Backend : Backend_intf.Alloc_buffer diff --git a/dev/arrayjit/Arrayjit/Backend_impl/module-type-With_scheduler/index.html b/dev/arrayjit/Arrayjit/Backend_impl/module-type-With_scheduler/index.html index 2b66da74..8b1c71ce 100644 --- a/dev/arrayjit/Arrayjit/Backend_impl/module-type-With_scheduler/index.html +++ b/dev/arrayjit/Arrayjit/Backend_impl/module-type-With_scheduler/index.html @@ -1,5 +1,5 @@ -With_scheduler (arrayjit.Arrayjit.Backend_impl.With_scheduler)

Module type Backend_impl.With_scheduler

A compilation-agnostic backend API -- Lowered_backend instantates it, but Lowered_no_device_backend backends are also converted to its instantations.

include Backend_intf.Backend_device_common
include Backend_intf.Device
include Backend_intf.Device_types
include Backend_intf.Device_config
include Backend_intf.Buffer
type buffer_ptr
include sig ... end
type dev

Interface to a device driver.

val sexp_of_dev : dev -> Sexplib0.Sexp.t
type runner

Interface to a stream driver.

val sexp_of_runner : runner -> Sexplib0.Sexp.t
type event

An event tracks if a stream finished computing past a particular point in its schedue. These values are used internally for scheduling across streams of the backend, and can be used for explicit scheduling.

val sexp_of_event : event -> Sexplib0.Sexp.t
val name : Base.string
type nonrec device = (buffer_ptr, dev, runner, event) Backend_intf.device
val sexp_of_device : device -> Sexplib0.Sexp.t
type nonrec stream = (buffer_ptr, dev, runner, event) Backend_intf.stream
val sexp_of_stream : stream -> Sexplib0.Sexp.t
type nonrec context = (buffer_ptr, stream) Backend_intf.context
val sexp_of_context : context -> Sexplib0.Sexp.t
include Backend_intf.Alloc_buffer +With_scheduler (arrayjit.Arrayjit.Backend_impl.With_scheduler)

Module type Backend_impl.With_scheduler

An intermediate stage for converting Lowered_no_device_backend backends into Lowered_backend.

include Backend_intf.Backend_device_common
include Backend_intf.Device
include Backend_intf.Device_types
include Backend_intf.Device_config
include Backend_intf.Buffer
type buffer_ptr
include sig ... end
type dev

Interface to a device driver.

val sexp_of_dev : dev -> Sexplib0.Sexp.t
type runner

Interface to a stream driver.

val sexp_of_runner : runner -> Sexplib0.Sexp.t
type event

An event tracks if a stream finished computing past a particular point in its schedue. These values are used internally for scheduling across streams of the backend, and can be used for explicit scheduling.

val sexp_of_event : event -> Sexplib0.Sexp.t
val name : Base.string
type nonrec device = (buffer_ptr, dev, runner, event) Backend_intf.device
val sexp_of_device : device -> Sexplib0.Sexp.t
type nonrec stream = (buffer_ptr, dev, runner, event) Backend_intf.stream
val sexp_of_stream : stream -> Sexplib0.Sexp.t
type nonrec context = (buffer_ptr, stream) Backend_intf.context
val sexp_of_context : context -> Sexplib0.Sexp.t
include Backend_intf.Alloc_buffer with type buffer_ptr := buffer_ptr and type stream := stream
include Backend_intf.Buffer with type buffer_ptr := buffer_ptr
include sig ... end
val alloc_buffer : ?old_buffer:{buffer}837 ->