From bf722a8f59b91c24da1e9f183c55ef7d015bd2dc Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Mon, 8 Aug 2011 17:45:47 +0200
Subject: [PATCH] Only warn about L1/LMEM overruns on non-genuine-lmem
 architectures.

---
 loopy/kernel.py | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/loopy/kernel.py b/loopy/kernel.py
index 854c0e692..c1fd0a776 100644
--- a/loopy/kernel.py
+++ b/loopy/kernel.py
@@ -4,8 +4,9 @@ from __future__ import division
 
 import numpy as np
 from pytools import Record, memoize_method
-
 from pymbolic.mapper.dependency import DependencyMapper
+import pyopencl as cl
+
 
 
 
@@ -466,7 +467,14 @@ class LoopKernel(Record):
 
         from pyopencl.characterize import usable_local_mem_size
         if self.local_mem_use() > usable_local_mem_size(self.device):
-            return "using too much local memory"
+            if self.device.local_mem_type == cl.device_local_mem_type.LOCAL:
+                return "using too much local memory"
+            else:
+                from warnings import warn
+                from loopy import LoopyAdvisory
+                warn("using more local memory than available--"
+                        "possibly OK due to cache nature",
+                        LoopyAdvisory)
 
         return None
 
-- 
GitLab