From 2c4fcf8593fe926ea96f9b2c32d36f05e38d12c5 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Sun, 19 Apr 2015 23:13:15 -0500
Subject: [PATCH] Provide better error msg if reduction dtype can't be found

---
 loopy/preprocess.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/loopy/preprocess.py b/loopy/preprocess.py
index 082b18895..665a5c8a1 100644
--- a/loopy/preprocess.py
+++ b/loopy/preprocess.py
@@ -32,6 +32,7 @@ from loopy.diagnostic import (
 from pytools.persistent_dict import PersistentDict
 from loopy.tools import LoopyKeyBuilder
 from loopy.version import DATA_MODEL_VERSION
+from loopy.diagnostic import DependencyTypeInferenceFailure, LoopyError
 
 import logging
 logger = logging.getLogger(__name__)
@@ -413,7 +414,11 @@ def realize_reduction(kernel, insn_id_filter=None):
         target_var_name = var_name_gen("acc_"+"_".join(expr.inames))
         target_var = var(target_var_name)
 
-        arg_dtype = type_inf_mapper(expr.expr)
+        try:
+            arg_dtype = type_inf_mapper(expr.expr)
+        except DependencyTypeInferenceFailure:
+            raise LoopyError("failed to determine type of accumulator for "
+                    "reduction '%s'" % expr)
 
         from loopy.kernel.data import ExpressionInstruction, TemporaryVariable
 
-- 
GitLab