summaryrefslogtreecommitdiffstats
path: root/libclc/amdgcn-amdhsa
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2016-09-16 22:43:31 +0000
committerTom Stellard <thomas.stellard@amd.com>2016-09-16 22:43:31 +0000
commitf19cf403c4d9fc3b97b26040c6a0afda81b1bbe2 (patch)
tree4ff26d0f81f3da3cfd75662bf274c9c95e71b704 /libclc/amdgcn-amdhsa
parente7ad23bad32014b579fbc07ef9bf0a52bd070ec0 (diff)
downloadbcm5719-llvm-f19cf403c4d9fc3b97b26040c6a0afda81b1bbe2.tar.gz
bcm5719-llvm-f19cf403c4d9fc3b97b26040c6a0afda81b1bbe2.zip
amdgcn-amdhsa: Add get_num_groups implementation
llvm-svn: 281792
Diffstat (limited to 'libclc/amdgcn-amdhsa')
-rw-r--r--libclc/amdgcn-amdhsa/lib/OVERRIDES1
-rw-r--r--libclc/amdgcn-amdhsa/lib/SOURCES1
-rw-r--r--libclc/amdgcn-amdhsa/lib/workitem/get_num_groups.cl12
3 files changed, 14 insertions, 0 deletions
diff --git a/libclc/amdgcn-amdhsa/lib/OVERRIDES b/libclc/amdgcn-amdhsa/lib/OVERRIDES
index e69de29bb2d..c9bd69b76eb 100644
--- a/libclc/amdgcn-amdhsa/lib/OVERRIDES
+++ b/libclc/amdgcn-amdhsa/lib/OVERRIDES
@@ -0,0 +1 @@
+workitem/get_num_groups.ll
diff --git a/libclc/amdgcn-amdhsa/lib/SOURCES b/libclc/amdgcn-amdhsa/lib/SOURCES
index 257942c071a..7b7ea4a1a14 100644
--- a/libclc/amdgcn-amdhsa/lib/SOURCES
+++ b/libclc/amdgcn-amdhsa/lib/SOURCES
@@ -1,2 +1,3 @@
workitem/get_global_size.ll
workitem/get_local_size.ll
+workitem/get_num_groups.cl
diff --git a/libclc/amdgcn-amdhsa/lib/workitem/get_num_groups.cl b/libclc/amdgcn-amdhsa/lib/workitem/get_num_groups.cl
new file mode 100644
index 00000000000..946b526fdb6
--- /dev/null
+++ b/libclc/amdgcn-amdhsa/lib/workitem/get_num_groups.cl
@@ -0,0 +1,12 @@
+
+#include <clc/clc.h>
+
+_CLC_DEF size_t get_num_groups(uint dim) {
+ size_t global_size = get_global_size(dim);
+ size_t local_size = get_local_size(dim);
+ size_t num_groups = global_size / local_size;
+ if (global_size % local_size != 0) {
+ num_groups++;
+ }
+ return num_groups;
+}
OpenPOWER on IntegriCloud