diff options
author | Tvrtko Ursulin <tvrtko.ursulin@intel.com> | 2017-05-16 13:49:21 +0100 |
---|---|---|
committer | Tvrtko Ursulin <tvrtko.ursulin@intel.com> | 2017-05-16 13:49:21 +0100 |
commit | 987abfb832cc95c7d3c14070dd7e1ca683bda1a7 (patch) | |
tree | a47cfa59a9d2f69145229114eae702ca36f3386c /benchmarks/wsim | |
parent | 3e622a8f9222f4a670b5365111ddf85b1fb4afa7 (diff) |
gem_wsim: Implement sw sync point support
Two new workload commands are added, 'f' and 'q.<idx>' which
enable creation and signalling of non i915 fences.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Diffstat (limited to 'benchmarks/wsim')
-rw-r--r-- | benchmarks/wsim/README | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/benchmarks/wsim/README b/benchmarks/wsim/README index 617b1338..01766d37 100644 --- a/benchmarks/wsim/README +++ b/benchmarks/wsim/README @@ -3,7 +3,8 @@ Workload descriptor format ctx.engine.duration_us.dependency.wait,... <uint>.<str>.<uint>[-<uint>].<int <= 0>[/<int <= 0>][...].<0|1>,... -d|p|s|t|q.<uiny>,... +d|p|s|t|q|a.<int>,... +f For duration a range can be given from which a random value will be picked before every submit. Since this and seqno management requires CPU access to @@ -17,8 +18,10 @@ Additional workload steps are also supported: 'p' - Adds a delay relative to the start of previous loop so that the each loop starts execution with a given period. 's' - Synchronises the pipeline to a batch relative to the step. - 't' - Throttle every n batches - 'q' - Throttle to n max queue depth + 't' - Throttle every n batches. + 'q' - Throttle to n max queue depth. + 'f' - Create a sync fence. + 'a' - Advance the previously created sync fence. Engine ids: RCS, BCS, VCS, VCS1, VCS2, VECS @@ -77,8 +80,33 @@ as a dependency in the current step. Example: - 1.VCS1.3000.0.1 + 1.VCS1.3000.0.0 1.RCS.500-1000.-1/f-1.0 In this case the second step will have both a data dependency and a sync fence dependency on the previous step. + +Example: + + 1.RCS.500-1000.0.0 + 1.VCS1.3000.f-1.0 + 1.VCS2.3000.f-2.0 + +VCS1 and VCS2 batches will have a sync fence dependency on the RCS batch. + +Example: + + 1.RCS.500-1000.0.0 + f + 2.VCS1.3000.f-1.0 + 2.VCS2.3000.f-2.0 + 1.RCS.500-1000.0.1 + a.-4 + s.-4 + s.-4 + +VCS1 and VCS2 batches have an input sync fence dependecy on the standalone fence +created at the second step. They are submitted ahead of time while still not +runnable. When the second RCS batch completes the standalone fence is signaled +which allows the two VCS batches to be executed. Finally we wait until the both +VCS batches have completed before starting the (optional) next iteration. |