From 2510b70323f5b47cff5e933f8d94436a845014d4 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Sun, 8 May 2016 21:02:21 -0500
Subject: [PATCH] Add nosync to relevant FMM kernels to avoid needing global
 barriers (tracks/fixes enabling of global barrier finding in loopy)

---
 sumpy/e2e.py     | 8 ++++----
 sumpy/version.py | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/sumpy/e2e.py b/sumpy/e2e.py
index 1d7e3bb5..5f4b0072 100644
--- a/sumpy/e2e.py
+++ b/sumpy/e2e.py
@@ -263,10 +263,10 @@ class E2EFromChildren(E2EBase):
 
                     <> src_coeff${COEFFIDX} = \
                         expansions[src_ibox, ${COEFFIDX}] \
-                        {if=is_src_box_valid,dep=read_src_ibox}
+                        {id_prefix=read_coeff,if=is_src_box_valid,dep=read_src_ibox}
                     expansions[tgt_ibox, ${COEFFIDX}] = \
                         expansions[tgt_ibox, ${COEFFIDX}] + coeff${COEFFIDX} \
-                        {id_prefix=write_expn,if=is_src_box_valid,dep=compute_coeff*}
+                        {id_prefix=write_expn,if=is_src_box_valid,dep=compute_coeff*,nosync=read_coeff*}
                     """],
                 [
                     lp.GlobalArg("target_boxes", None, shape=lp.auto,
@@ -351,10 +351,10 @@ class E2EFromParent(E2EBase):
 
                     <> src_coeff${COEFFIDX} = \
                         expansions[src_ibox, ${COEFFIDX}] \
-                        {dep=read_src_ibox}
+                        {id_prefix=read_expn,dep=read_src_ibox}
                     expansions[tgt_ibox, ${COEFFIDX}] = \
                         expansions[tgt_ibox, ${COEFFIDX}] + coeff${COEFFIDX} \
-                        {id_prefix=write_expn}
+                        {id_prefix=write_expn,nosync=read_expn*}
                     """],
                 [
                     lp.GlobalArg("target_boxes", None, shape=lp.auto,
diff --git a/sumpy/version.py b/sumpy/version.py
index fe973f08..52997950 100644
--- a/sumpy/version.py
+++ b/sumpy/version.py
@@ -25,4 +25,4 @@ VERSION = (2016, 1)
 VERSION_STATUS = "beta1"
 VERSION_TEXT = ".".join(str(x) for x in VERSION) + VERSION_STATUS
 
-KERNEL_VERSION = 4
+KERNEL_VERSION = 5
-- 
GitLab