From ec5d29d170ce7557565a5cae078e4fea7c73f811 Mon Sep 17 00:00:00 2001 From: ajmiles Date: Sat, 9 Mar 2024 04:54:53 +0000 Subject: [PATCH 1/5] Update WorkGraphs.md Typo fix. --- d3d/WorkGraphs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/d3d/WorkGraphs.md b/d3d/WorkGraphs.md index d196fa2..a006fe2 100644 --- a/d3d/WorkGraphs.md +++ b/d3d/WorkGraphs.md @@ -496,7 +496,7 @@ Input record size can be 0 - discussed under [record struct](#record-struct). T ## Node types -[Broadcasting launch nodes](#broadcasting-launch-nodes) : one input seen my many thread groups +[Broadcasting launch nodes](#broadcasting-launch-nodes) : one input seen by many thread groups [Thread launch nodes](#thread-launch-nodes) : one input per thread [Coalescing launch nodes](#coalescing-launch-nodes) : variable inputs seen by each thread group From 21e96f22225c3ef1254403742687c1c6da6e0ad0 Mon Sep 17 00:00:00 2001 From: ajmiles Date: Sat, 9 Mar 2024 05:00:57 +0000 Subject: [PATCH 2/5] Update WorkGraphs.md Typo and terminology. --- d3d/WorkGraphs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/d3d/WorkGraphs.md b/d3d/WorkGraphs.md index a006fe2..db62bdb 100644 --- a/d3d/WorkGraphs.md +++ b/d3d/WorkGraphs.md @@ -521,7 +521,7 @@ The dispatch grid size can either be part of the input record or be fixed for th The thread group is fixed in the shader. -All thread groups that are launched share the same set of input parameters. The exception is the ususal ID system values which identify individual threads within the set. +All thread groups that are launched share the same set of input parameters. The exception is the usual system ID values which identify individual threads within the group. For wave packing see [Thread visiblity in wave operations](#thread-visibility-in-wave-operations). From 9957554ca360aaf5d1ef4c656a797d59c98efe59 Mon Sep 17 00:00:00 2001 From: ajmiles Date: Sat, 9 Mar 2024 05:04:19 +0000 Subject: [PATCH 3/5] Update WorkGraphs.md Typo --- d3d/WorkGraphs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/d3d/WorkGraphs.md b/d3d/WorkGraphs.md index db62bdb..17a24ba 100644 --- a/d3d/WorkGraphs.md +++ b/d3d/WorkGraphs.md @@ -547,7 +547,7 @@ Of course the system will attempt to fill each thread group with the maximum dec Launched thread groups can see the full set of input available as an array. The shader can discover how many inputs there are and is responsible for distributing work items across threads in the thread group. If threads don't have any work to do, they can simply exit immediately. -Any time a shader declares it expects some number greater than 1 as the maximum number of input records the it can handle in a thread group, it must call the input record's [Count()](#input-record-count-method) method to discover how many records its thread group actually got. +Any time a shader declares it expects some number greater than 1 as the maximum number of input records that it can handle in a thread group, it must call the input record's [Count()](#input-record-count-method) method to discover how many records its thread group actually got. The number of records sent to any given thread group launch is implementation-defined, and not necessarily repeatable on a given implementation. This is true independent of the method that produces the input -- i.e. whether it comes from another node or from DispatchGraph. And it is true regardless size of input records, including 0 size records in particular. From cefb2c5820ed41672b14e9126e2a0c4d1f487ef3 Mon Sep 17 00:00:00 2001 From: ajmiles Date: Sat, 9 Mar 2024 05:07:39 +0000 Subject: [PATCH 4/5] Update WorkGraphs.md Correct spelling of visibility. --- d3d/WorkGraphs.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/d3d/WorkGraphs.md b/d3d/WorkGraphs.md index 17a24ba..27581b6 100644 --- a/d3d/WorkGraphs.md +++ b/d3d/WorkGraphs.md @@ -523,7 +523,7 @@ The thread group is fixed in the shader. All thread groups that are launched share the same set of input parameters. The exception is the usual system ID values which identify individual threads within the group. -For wave packing see [Thread visiblity in wave operations](#thread-visibility-in-wave-operations). +For wave packing see [Thread visibility in wave operations](#thread-visibility-in-wave-operations). --- @@ -551,7 +551,7 @@ Any time a shader declares it expects some number greater than 1 as the maximum The number of records sent to any given thread group launch is implementation-defined, and not necessarily repeatable on a given implementation. This is true independent of the method that produces the input -- i.e. whether it comes from another node or from DispatchGraph. And it is true regardless size of input records, including 0 size records in particular. -For wave packing see [Thread visiblity in wave operations](#thread-visibility-in-wave-operations). +For wave packing see [Thread visibility in wave operations](#thread-visibility-in-wave-operations). --- @@ -565,7 +565,7 @@ While a coalescing launch node can express what a thread launch node can do, it ![thread launch](images/workgraphs/ThreadLaunchNode.png) -For wave packing see [Thread visiblity in wave operations](#thread-visibility-in-wave-operations). +For wave packing see [Thread visibility in wave operations](#thread-visibility-in-wave-operations). > Thread launch nodes can be thought of somewhat like the callable shaders that are in DXR, except they do not return back to the caller. And instead of appearing as a function call from a shader, which would be a different path to invoking threads of execution than the work graph itself, thread launch nodes are by definition part of the work graph structure. It may still prove interesting to support DXR-style callable shaders in the future, but for now at least, thread launch nodes serve as alternative that embraces a unified model for launching work - nodes in a work graph, while still allowing applications to indicate situations when their workload does involve independent threads of work. From 638c000fdd8a10a57839c31ee798ae5de4222718 Mon Sep 17 00:00:00 2001 From: ajmiles Date: Sat, 9 Mar 2024 20:33:07 +0000 Subject: [PATCH 5/5] Update WorkGraphs.md "group" ->"group/grid". --- d3d/WorkGraphs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/d3d/WorkGraphs.md b/d3d/WorkGraphs.md index 27581b6..4b0194f 100644 --- a/d3d/WorkGraphs.md +++ b/d3d/WorkGraphs.md @@ -521,7 +521,7 @@ The dispatch grid size can either be part of the input record or be fixed for th The thread group is fixed in the shader. -All thread groups that are launched share the same set of input parameters. The exception is the usual system ID values which identify individual threads within the group. +All thread groups that are launched share the same set of input parameters. The exception is the usual system ID values which identify individual threads within the group/grid. For wave packing see [Thread visibility in wave operations](#thread-visibility-in-wave-operations).