diff --git a/doc/code/dialects/Executor/ExecutorDialect.md b/doc/code/dialects/Executor/ExecutorDialect.md index 6dd91fdb94..c3644f24ef 100644 --- a/doc/code/dialects/Executor/ExecutorDialect.md +++ b/doc/code/dialects/Executor/ExecutorDialect.md @@ -1,15 +1,13 @@ - + # 'executor' Dialect -_Operations for dispatching kernels and calling symbols on an executor._ +_A dialect for dispatching kernels and calling symbols on an executor._ -The `executor` dialect models a small set of operations that describe how a host program +The executor dialect models the set of operations that describe how a host program interacts with an executor service: * Opening a session with an executor endpoint * Shipping a cross-compiled kernel object file (or other assets) to that endpoint * Dispatching a previously-shipped qnode kernel * Invoking an arbitrary symbol in a shared library - -[TOC] diff --git a/doc/code/dialects/Executor/ExecutorOps.md b/doc/code/dialects/Executor/ExecutorOps.md index ce423a5956..fe9006bb22 100644 --- a/doc/code/dialects/Executor/ExecutorOps.md +++ b/doc/code/dialects/Executor/ExecutorOps.md @@ -1,3 +1,7 @@ + + + + ### `executor.await` (::catalyst::executor::AwaitOp) diff --git a/doc/code/dialects/Executor/ExecutorPasses.md b/doc/code/dialects/Executor/ExecutorPasses.md index c0cb038858..51703a09b6 100644 --- a/doc/code/dialects/Executor/ExecutorPasses.md +++ b/doc/code/dialects/Executor/ExecutorPasses.md @@ -1,3 +1,5 @@ + + ### `-convert-executor-to-llvm` diff --git a/doc/code/dialects/Transport/TransportDialect.md b/doc/code/dialects/Transport/TransportDialect.md index de28530489..7fb337008e 100644 --- a/doc/code/dialects/Transport/TransportDialect.md +++ b/doc/code/dialects/Transport/TransportDialect.md @@ -1,25 +1,51 @@ - + # 'transport' Dialect -_Typed ops for setting up and driving a transport session._ +_A dialect for setting up and driving data-movement in a transport session._ The transport dialect models a connection-oriented data-movement session between two endpoints: creating a session, bringing up the connection, exchanging memory handles, establishing a data path, and running rounds of request/reply traffic until teardown. -This is what a Backline compiles to. A PennyLane `Placement` is serialized -into the `catalyst.backline` module attribute, naming one controller and the -coprocessors it drives; `inject-transport-session` reads that attribute and -emits the session bring-up and teardown in terms of these ops, -`lower-decode-to-transport` turns a decode into a request/reply round over -the session, and `convert-transport-to-llvm` lowers the result to -`__catalyst__transport__*` runtime calls. A node here is a Backline -participant -- a controller or a coprocessor -- and the placement's -transport selects which compiled backend carries the traffic. +This is what a Backline compiles to. A PennyLane +[Placement](https://docs.pennylane.ai/en/latest/code/api/pennylane.backline.Placement.html) +is serialized into the `catalyst.backline` module attribute, naming one controller and the +coprocessors it drives; [inject-transport-session](Transport/TransportPasses.html#inject-transport-session) +reads that attribute and emits the session bring-up and teardown in terms of these ops, +[lower-decode-to-transport](Transport/TransportPasses.html#lower-decode-to-transport) turns a +decode into a request/reply round over the session, and +[convert-transport-to-llvm](Transport/TransportPasses.html#convert-transport-to-llvm) lowers the +result to `__catalyst__transport__*` runtime calls. A node here is a Backline participant -- a +controller or a coprocessor -- and the placement's transport selects which compiled backend +carries the traffic. -[TOC] +## Types + +### SessionType + +_An opaque transport session handle, tagged with its role._ + +Syntax: + +``` +!transport.session< + ::catalyst::transport::Role # role +> +``` + +#### Parameters: + +| Parameter | C++ type | Description | +| :-------: | :-------: | ----------- | +| role | `::catalyst::transport::Role` | an enum of type Role | + +### TokenType + +_A handle to an in-flight asynchronous step, awaited with transport.await._ + +Syntax: `!transport.token` ## Attributes @@ -85,33 +111,6 @@ Syntax: | out_bytes | `mlir::IntegerAttr` | reply size in bytes for one round | | work_item_idx | `mlir::IntegerAttr` | index of this node's work item within the round | -## Types - -### SessionType - -_An opaque transport session handle, tagged with its role._ - -Syntax: - -``` -!transport.session< - ::catalyst::transport::Role # role -> -``` - -#### Parameters: - -| Parameter | C++ type | Description | -| :-------: | :-------: | ----------- | -| role | `::catalyst::transport::Role` | an enum of type Role | - -### TokenType - -_A handle to an in-flight asynchronous step, awaited with transport.await._ - -Syntax: `!transport.token` - - ## Enums ### Role diff --git a/doc/code/dialects/Transport/TransportOps.md b/doc/code/dialects/Transport/TransportOps.md index f07bb389da..11f0f4a120 100644 --- a/doc/code/dialects/Transport/TransportOps.md +++ b/doc/code/dialects/Transport/TransportOps.md @@ -1,3 +1,7 @@ + + + + ### `transport.await` (::catalyst::transport::AwaitOp) diff --git a/doc/code/dialects/Transport/TransportPasses.md b/doc/code/dialects/Transport/TransportPasses.md index 7fcf45c3f8..ed32f1d7fd 100644 --- a/doc/code/dialects/Transport/TransportPasses.md +++ b/doc/code/dialects/Transport/TransportPasses.md @@ -1,3 +1,5 @@ + + ### `-convert-transport-to-llvm` diff --git a/doc/releases/changelog-dev.md b/doc/releases/changelog-dev.md index e792c515d0..a1bdb47daa 100644 --- a/doc/releases/changelog-dev.md +++ b/doc/releases/changelog-dev.md @@ -776,6 +776,7 @@ * The `transport` and `executor` dialects are now documented alongside the other Catalyst dialects. [(#3179)](https://github.com/PennyLaneAI/catalyst/pull/3179) [(#3180)](https://github.com/PennyLaneAI/catalyst/pull/3180) + [(#3197)](https://github.com/PennyLaneAI/catalyst/pull/3197)

Contributors ✍️