From 6f0e9750f8620669fc3d18297f3c3c3f50d083ce Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Mon, 24 Aug 2015 21:42:37 -0500 Subject: [PATCH] Follow-up clean-ups for 6fb2849ef --- doc/tutorial.rst | 2 +- test/test_statistics.py | 88 ++++++++++++++++++++--------------------- 2 files changed, 45 insertions(+), 45 deletions(-) diff --git a/doc/tutorial.rst b/doc/tutorial.rst index 9c8026813..ddf62dc07 100644 --- a/doc/tutorial.rst +++ b/doc/tutorial.rst @@ -1233,7 +1233,7 @@ the :class:`loopy.LoopKernel` *inames*). We'll print this map now: .. doctest:: - >>> print(op_map) + >>> print(lp.stringify_stats_mapping(op_map)) float32 : [n, m, l] -> { 3 * n * m * l : n >= 1 and m >= 1 and l >= 1 } float64 : [n, m, l] -> { 2 * n * m : n >= 1 and m >= 1 and l >= 1 } int32 : [n, m, l] -> { n * m : n >= 1 and m >= 1 and l >= 1 } diff --git a/test/test_statistics.py b/test/test_statistics.py index a58ce6d58..dbfd683f7 100644 --- a/test/test_statistics.py +++ b/test/test_statistics.py @@ -49,9 +49,9 @@ def test_op_counter_basic(): n = 512 m = 256 l = 128 - f32 = poly.dict[np.dtype(np.float32)].eval_with_dict({'n': n, 'm': m, 'l': l}) - f64 = poly.dict[np.dtype(np.float64)].eval_with_dict({'n': n, 'm': m, 'l': l}) - i32 = poly.dict[np.dtype(np.int32)].eval_with_dict({'n': n, 'm': m, 'l': l}) + f32 = poly[np.dtype(np.float32)].eval_with_dict({'n': n, 'm': m, 'l': l}) + f64 = poly[np.dtype(np.float64)].eval_with_dict({'n': n, 'm': m, 'l': l}) + i32 = poly[np.dtype(np.int32)].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f32 == 3*n*m*l assert f64 == n*m assert i32 == n*m*2 @@ -71,7 +71,7 @@ def test_op_counter_reduction(): n = 512 m = 256 l = 128 - f32 = poly.dict[np.dtype(np.float32)].eval_with_dict({'n': n, 'm': m, 'l': l}) + f32 = poly[np.dtype(np.float32)].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f32 == 2*n*m*l @@ -91,9 +91,9 @@ def test_op_counter_logic(): n = 512 m = 256 l = 128 - f32 = poly.dict[np.dtype(np.float32)].eval_with_dict({'n': n, 'm': m, 'l': l}) - f64 = poly.dict[np.dtype(np.float64)].eval_with_dict({'n': n, 'm': m, 'l': l}) - i32 = poly.dict[np.dtype(np.int32)].eval_with_dict({'n': n, 'm': m, 'l': l}) + f32 = poly[np.dtype(np.float32)].eval_with_dict({'n': n, 'm': m, 'l': l}) + f64 = poly[np.dtype(np.float64)].eval_with_dict({'n': n, 'm': m, 'l': l}) + i32 = poly[np.dtype(np.int32)].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f32 == n*m assert f64 == 3*n*m assert i32 == n*m @@ -117,9 +117,9 @@ def test_op_counter_specialops(): n = 512 m = 256 l = 128 - f32 = poly.dict[np.dtype(np.float32)].eval_with_dict({'n': n, 'm': m, 'l': l}) - f64 = poly.dict[np.dtype(np.float64)].eval_with_dict({'n': n, 'm': m, 'l': l}) - i32 = poly.dict[np.dtype(np.int32)].eval_with_dict({'n': n, 'm': m, 'l': l}) + f32 = poly[np.dtype(np.float32)].eval_with_dict({'n': n, 'm': m, 'l': l}) + f64 = poly[np.dtype(np.float64)].eval_with_dict({'n': n, 'm': m, 'l': l}) + i32 = poly[np.dtype(np.int32)].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f32 == 4*n*m*l assert f64 == 3*n*m assert i32 == n*m @@ -146,8 +146,8 @@ def test_op_counter_bitwise(): n = 512 m = 256 l = 128 - i32 = poly.dict[np.dtype(np.int32)].eval_with_dict({'n': n, 'm': m, 'l': l}) - i64 = poly.dict[np.dtype(np.int64)].eval_with_dict({'n': n, 'm': m, 'l': l}) # noqa + i32 = poly[np.dtype(np.int32)].eval_with_dict({'n': n, 'm': m, 'l': l}) + i64 = poly[np.dtype(np.int64)].eval_with_dict({'n': n, 'm': m, 'l': l}) # noqa f64 = poly[np.dtype(np.float64)].eval_with_dict({'n': n, 'm': m, 'l': l}) assert i32 == n*m+3*n*m*l assert i64 == 6*n*m @@ -203,19 +203,19 @@ def test_gmem_access_counter_basic(): n = 512 m = 256 l = 128 - f32 = poly.dict[ + f32 = poly[ (np.dtype(np.float32), 'uniform', 'load') ].eval_with_dict({'n': n, 'm': m, 'l': l}) - f64 = poly.dict[ + f64 = poly[ (np.dtype(np.float64), 'uniform', 'load') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f32 == 3*n*m*l assert f64 == 2*n*m - f32 = poly.dict[ + f32 = poly[ (np.dtype(np.float32), 'uniform', 'store') ].eval_with_dict({'n': n, 'm': m, 'l': l}) - f64 = poly.dict[ + f64 = poly[ (np.dtype(np.float64), 'uniform', 'store') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f32 == n*m*l @@ -236,12 +236,12 @@ def test_gmem_access_counter_reduction(): n = 512 m = 256 l = 128 - f32 = poly.dict[ + f32 = poly[ (np.dtype(np.float32), 'uniform', 'load') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f32 == 2*n*m*l - f32 = poly.dict[ + f32 = poly[ (np.dtype(np.float32), 'uniform', 'store') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f32 == n*l @@ -263,16 +263,16 @@ def test_gmem_access_counter_logic(): n = 512 m = 256 l = 128 - f32 = poly.dict[ + f32 = poly[ (np.dtype(np.float32), 'uniform', 'load') ].eval_with_dict({'n': n, 'm': m, 'l': l}) - f64 = poly.dict[ + f64 = poly[ (np.dtype(np.float64), 'uniform', 'load') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f32 == 2*n*m assert f64 == n*m - f64 = poly.dict[ + f64 = poly[ (np.dtype(np.float64), 'uniform', 'store') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f64 == n*m @@ -296,19 +296,19 @@ def test_gmem_access_counter_specialops(): n = 512 m = 256 l = 128 - f32 = poly.dict[ + f32 = poly[ (np.dtype(np.float32), 'uniform', 'load') ].eval_with_dict({'n': n, 'm': m, 'l': l}) - f64 = poly.dict[ + f64 = poly[ (np.dtype(np.float64), 'uniform', 'load') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f32 == 2*n*m*l assert f64 == 2*n*m - f32 = poly.dict[ + f32 = poly[ (np.dtype(np.float32), 'uniform', 'store') ].eval_with_dict({'n': n, 'm': m, 'l': l}) - f64 = poly.dict[ + f64 = poly[ (np.dtype(np.float64), 'uniform', 'store') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f32 == n*m*l @@ -336,12 +336,12 @@ def test_gmem_access_counter_bitwise(): n = 512 m = 256 l = 128 - i32 = poly.dict[ + i32 = poly[ (np.dtype(np.int32), 'uniform', 'load') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert i32 == 4*n*m+2*n*m*l - i32 = poly.dict[ + i32 = poly[ (np.dtype(np.int32), 'uniform', 'store') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert i32 == n*m+n*m*l @@ -367,19 +367,19 @@ def test_gmem_access_counter_mixed(): n = 512 m = 256 l = 128 - f64uniform = poly.dict[ + f64uniform = poly[ (np.dtype(np.float64), 'uniform', 'load') ].eval_with_dict({'n': n, 'm': m, 'l': l}) - f32nonconsec = poly.dict[ + f32nonconsec = poly[ (np.dtype(np.float32), 'nonconsecutive', 'load') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f64uniform == 2*n*m assert f32nonconsec == 3*n*m*l - f64uniform = poly.dict[ + f64uniform = poly[ (np.dtype(np.float64), 'uniform', 'store') ].eval_with_dict({'n': n, 'm': m, 'l': l}) - f32nonconsec = poly.dict[ + f32nonconsec = poly[ (np.dtype(np.float32), 'nonconsecutive', 'store') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f64uniform == n*m @@ -406,19 +406,19 @@ def test_gmem_access_counter_nonconsec(): n = 512 m = 256 l = 128 - f64nonconsec = poly.dict[ + f64nonconsec = poly[ (np.dtype(np.float64), 'nonconsecutive', 'load') ].eval_with_dict({'n': n, 'm': m, 'l': l}) - f32nonconsec = poly.dict[ + f32nonconsec = poly[ (np.dtype(np.float32), 'nonconsecutive', 'load') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f64nonconsec == 2*n*m assert f32nonconsec == 3*n*m*l - f64nonconsec = poly.dict[ + f64nonconsec = poly[ (np.dtype(np.float64), 'nonconsecutive', 'store') ].eval_with_dict({'n': n, 'm': m, 'l': l}) - f32nonconsec = poly.dict[ + f32nonconsec = poly[ (np.dtype(np.float32), 'nonconsecutive', 'store') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f64nonconsec == n*m @@ -445,19 +445,19 @@ def test_gmem_access_counter_consec(): m = 256 l = 128 - f64consec = poly.dict[ + f64consec = poly[ (np.dtype(np.float64), 'consecutive', 'load') ].eval_with_dict({'n': n, 'm': m, 'l': l}) - f32consec = poly.dict[ + f32consec = poly[ (np.dtype(np.float32), 'consecutive', 'load') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f64consec == 2*n*m assert f32consec == 3*n*m*l - f64consec = poly.dict[ + f64consec = poly[ (np.dtype(np.float64), 'consecutive', 'store') ].eval_with_dict({'n': n, 'm': m, 'l': l}) - f32consec = poly.dict[ + f32consec = poly[ (np.dtype(np.float32), 'consecutive', 'store') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f64consec == n*m @@ -531,10 +531,10 @@ def test_all_counters_parallel_matmul(): assert barrier_count == 0 op_map = get_op_poly(knl) - f32ops = op_map.dict[ + f32ops = op_map[ np.dtype(np.float32) ].eval_with_dict({'n': n, 'm': m, 'l': l}) - i32ops = op_map.dict[ + i32ops = op_map[ np.dtype(np.int32) ].eval_with_dict({'n': n, 'm': m, 'l': l}) @@ -542,17 +542,17 @@ def test_all_counters_parallel_matmul(): assert i32ops == n*m*l*4 + l*n*4 subscript_map = get_gmem_access_poly(knl) - f32uncoal = subscript_map.dict[ + f32uncoal = subscript_map[ (np.dtype(np.float32), 'nonconsecutive', 'load') ].eval_with_dict({'n': n, 'm': m, 'l': l}) - f32coal = subscript_map.dict[ + f32coal = subscript_map[ (np.dtype(np.float32), 'consecutive', 'load') ].eval_with_dict({'n': n, 'm': m, 'l': l}) assert f32uncoal == n*m*l assert f32coal == n*m*l - f32coal = subscript_map.dict[ + f32coal = subscript_map[ (np.dtype(np.float32), 'consecutive', 'store') ].eval_with_dict({'n': n, 'm': m, 'l': l}) -- GitLab