From 37eb5a8bfc203b950b1e99c5eb6cf8c81ed4b1f4 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Tue, 19 Jan 2016 01:52:10 -0600 Subject: [PATCH] Add sum_ops_to_dtypes --- loopy/__init__.py | 5 +++-- loopy/statistics.py | 12 ++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/loopy/__init__.py b/loopy/__init__.py index fce380f8a..07d536eb3 100644 --- a/loopy/__init__.py +++ b/loopy/__init__.py @@ -96,7 +96,8 @@ from loopy.transform.parameter import fix_parameters from loopy.preprocess import (preprocess_kernel, realize_reduction, infer_unknown_types) from loopy.schedule import generate_loop_schedules, get_one_scheduled_kernel -from loopy.statistics import (get_op_poly, get_gmem_access_poly, +from loopy.statistics import (get_op_poly, sum_ops_to_dtypes, + get_gmem_access_poly, get_DRAM_access_poly, get_barrier_poly, stringify_stats_mapping, sum_mem_access_to_bytes) from loopy.codegen import generate_code, generate_body @@ -169,7 +170,7 @@ __all__ = [ "generate_loop_schedules", "get_one_scheduled_kernel", "generate_code", "generate_body", - "get_op_poly", "get_gmem_access_poly", "get_DRAM_access_poly", + "get_op_poly", "sum_ops_to_dtypes", "get_gmem_access_poly", "get_DRAM_access_poly", "get_barrier_poly", "stringify_stats_mapping", "sum_mem_access_to_bytes", "CompiledKernel", diff --git a/loopy/statistics.py b/loopy/statistics.py index 8f3981de3..6eb6b0057 100755 --- a/loopy/statistics.py +++ b/loopy/statistics.py @@ -459,6 +459,18 @@ def get_op_poly(knl): return op_poly.dict +def sum_ops_to_dtypes(op_poly_dict): + result = {} + for (dtype, kind), v in op_poly_dict.items(): + new_key = dtype + if new_key in result: + result[new_key] += v + else: + result[new_key] = v + + return result + + def get_gmem_access_poly(knl): # for now just counting subscripts """Count the number of global memory accesses in a loopy kernel. -- GitLab