[Libclc-dev] [PATCH 1/3] Implement wait_group_events builtin v2

Tom Stellard thomas.stellard at amd.com
Thu Aug 21 07:08:44 PDT 2014


This is a simple default implemetation which just calls barrier().

v2:
  - Only call barrier() once.
---
 generic/include/clc/async/wait_group_events.h | 1 +
 generic/include/clc/clc.h                     | 1 +
 generic/lib/SOURCES                           | 1 +
 generic/lib/async/wait_group_events.cl        | 5 +++++
 4 files changed, 8 insertions(+)
 create mode 100644 generic/include/clc/async/wait_group_events.h
 create mode 100644 generic/lib/async/wait_group_events.cl

diff --git a/generic/include/clc/async/wait_group_events.h b/generic/include/clc/async/wait_group_events.h
new file mode 100644
index 0000000..799efa0
--- /dev/null
+++ b/generic/include/clc/async/wait_group_events.h
@@ -0,0 +1 @@
+void wait_group_events(int num_events, event_t *event_list);
diff --git a/generic/include/clc/clc.h b/generic/include/clc/clc.h
index b6adbba..f499e6d 100644
--- a/generic/include/clc/clc.h
+++ b/generic/include/clc/clc.h
@@ -126,6 +126,7 @@
 
 /* 6.11.10 Async Copy and Prefetch Functions */
 #include <clc/async/prefetch.h>
+#include <clc/async/wait_group_events.h>
 
 /* 6.11.11 Atomic Functions */
 #include <clc/atomic/atomic_add.h>
diff --git a/generic/lib/SOURCES b/generic/lib/SOURCES
index c8eed0c..3e847fe 100644
--- a/generic/lib/SOURCES
+++ b/generic/lib/SOURCES
@@ -1,4 +1,5 @@
 async/prefetch.cl
+async/wait_group_events.cl
 atomic/atomic_impl.ll
 cl_khr_global_int32_base_atomics/atom_add.cl
 cl_khr_global_int32_base_atomics/atom_dec.cl
diff --git a/generic/lib/async/wait_group_events.cl b/generic/lib/async/wait_group_events.cl
new file mode 100644
index 0000000..05c9d58
--- /dev/null
+++ b/generic/lib/async/wait_group_events.cl
@@ -0,0 +1,5 @@
+#include <clc/clc.h>
+
+_CLC_DEF void wait_group_events(int num_events, event_t *event_list) {
+  barrier(CLK_LOCAL_MEM_FENCE | CLK_GLOBAL_MEM_FENCE);
+}
-- 
1.8.5.5




More information about the Libclc-dev mailing list