Skip to content

Commit

Permalink
Update 10-sycl-other-features.md
Browse files Browse the repository at this point in the history
  • Loading branch information
csccva authored Nov 26, 2024
1 parent 75f8540 commit 83c504e
Showing 1 changed file with 14 additions and 13 deletions.
27 changes: 14 additions & 13 deletions docs/10-sycl-other-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,11 @@ lang: en

# Set Dependencies

- **in-order** queues: implicit dependence depending on the order of submission
- **buffers and accessors**: automatic dependencies based on data and order of submission
- **in-order** queues: implicit dependence depending on the order of submission
- **event based**: manual dependencies, most control


# Order of Execution in Queues

- two flavors of queues:
- **out-of-order**
- default behaivour
- a task/kernel can start execution at any time
- dependencies and order need to be set in other ways
- **in-order**:
- `queue q{property::queue::in_order()};`
- creates a linear task graph
- a task/kernel will start execution only when the preceeding is completed
- no conncurrent execution

# Dependencies via Buffer and Accessors API

Expand Down Expand Up @@ -86,6 +74,19 @@ lang: en
- kernel 1 and kernel 2 are independent
- kernel 3 waits for the completion of kernel 1 and 2

# Order of Execution in Queues

- two flavors of queues:
- **out-of-order**
- default behaivour
- a task/kernel can start execution at any time
- dependencies and order need to be set in other ways
- **in-order**:
- `queue q{property::queue::in_order()};`
- creates a linear task graph
- a task/kernel will start execution only when the preceeding is completed
- no conncurrent execution

# Event Based Dependencies I
- most flexible way to force specific order of execution
- methods on the **handler** class or on the **queue** class return **event** class objects
Expand Down

0 comments on commit 83c504e

Please sign in to comment.