summaryrefslogtreecommitdiff
path: root/src/amd/compiler/aco_interface.cpp
diff options
context:
space:
mode:
authorRhys Perry <pendingchaos02@gmail.com>2020-12-10 09:53:51 +0000
committerRhys Perry <pendingchaos02@gmail.com>2021-03-11 16:31:19 +0000
commit23ecceb160c7dd2e910c773813385487b1f67ca7 (patch)
tree86daca95843d5f9092c1867640744f2baa7ee4b1 /src/amd/compiler/aco_interface.cpp
parent83ce9407f20e17b63252211b43db59a78de8c1f1 (diff)
downloadmesa-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.cpp3
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"};