diff options
author | Rhys Perry <pendingchaos02@gmail.com> | 2020-12-10 09:53:51 +0000 |
---|---|---|
committer | Rhys Perry <pendingchaos02@gmail.com> | 2021-03-11 16:31:19 +0000 |
commit | 23ecceb160c7dd2e910c773813385487b1f67ca7 (patch) | |
tree | 86daca95843d5f9092c1867640744f2baa7ee4b1 /src/amd/compiler/aco_interface.cpp | |
parent | 83ce9407f20e17b63252211b43db59a78de8c1f1 (diff) | |
download | mesa-23ecceb160c7dd2e910c773813385487b1f67ca7.tar.gz |
aco: add latency and inverse throughput statistics
Latency is estimanted duration of a single wave, ignoring others in the
CU. It is similar to the old cycles statistic except it it's more accurate
and considers memory operations.
The InvThroughput statistic is a combination of MaxWaves, Latency and the
portion of the wave's execution which does not use various resources.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8994>
Diffstat (limited to 'src/amd/compiler/aco_interface.cpp')
-rw-r--r-- | src/amd/compiler/aco_interface.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/amd/compiler/aco_interface.cpp b/src/amd/compiler/aco_interface.cpp index b878ab99ba7..c4c60d43049 100644 --- a/src/amd/compiler/aco_interface.cpp +++ b/src/amd/compiler/aco_interface.cpp @@ -37,7 +37,8 @@ static const std::array<aco_compiler_statistic_info, aco::num_statistics> statis ret[aco::statistic_instructions] = aco_compiler_statistic_info{"Instructions", "Instruction count"}; ret[aco::statistic_copies] = aco_compiler_statistic_info{"Copies", "Copy instructions created for pseudo-instructions"}; ret[aco::statistic_branches] = aco_compiler_statistic_info{"Branches", "Branch instructions"}; - ret[aco::statistic_cycles] = aco_compiler_statistic_info{"Busy Cycles", "Estimate of busy cycles"}; + ret[aco::statistic_latency] = aco_compiler_statistic_info{"Latency", "Issue cycles plus stall cycles"}; + ret[aco::statistic_inv_throughput] = aco_compiler_statistic_info{"Inverse Throughput", "Estimated busy cycles to execute one wave"}; ret[aco::statistic_vmem_clauses] = aco_compiler_statistic_info{"VMEM Clause", "Number of VMEM clauses (includes 1-sized clauses)"}; ret[aco::statistic_smem_clauses] = aco_compiler_statistic_info{"SMEM Clause", "Number of SMEM clauses (includes 1-sized clauses)"}; ret[aco::statistic_vmem_score] = aco_compiler_statistic_info{"VMEM Score", "Average VMEM def-use distances"}; |