-
- Downloads
Basic cl_khr_subgroups implementation for CPU
The subgroup is always the X dimension, and there is only one subgroup in flight at the same time. Thus there are Z*Y SGs per WG. It passes the CTS test even though independent forward progress is not supported because there's only one SG in flight at the same time making progress. Also preliminary shuffle and ballot implementations which work only with uniform execution for now. The cross-WI data exchange is implemented via __pocl_{wg,local_mem}_alloca(), an internal function that allocates "local memory" (thread stack) dynamically.
Showing
- CHANGES 3 additions, 2 deletionsCHANGES
- CMakeLists.txt 26 additions, 4 deletionsCMakeLists.txt
- examples/conformance/CMakeLists.txt 5 additions, 2 deletionsexamples/conformance/CMakeLists.txt
- lib/CL/clGetDeviceInfo.c 4 additions, 3 deletionslib/CL/clGetDeviceInfo.c
- lib/CL/clGetKernelSubGroupInfo.c 74 additions, 6 deletionslib/CL/clGetKernelSubGroupInfo.c
- lib/CL/clGetPlatformIDs.c 1 addition, 1 deletionlib/CL/clGetPlatformIDs.c
- lib/CL/devices/basic/basic.c 9 additions, 0 deletionslib/CL/devices/basic/basic.c
- lib/CL/devices/common.c 1 addition, 4 deletionslib/CL/devices/common.c
- lib/CL/devices/pthread/pthread.c 11 additions, 0 deletionslib/CL/devices/pthread/pthread.c
- lib/kernel/CMakeLists.txt 1 addition, 1 deletionlib/kernel/CMakeLists.txt
- lib/kernel/host/CMakeLists.txt 5 additions, 0 deletionslib/kernel/host/CMakeLists.txt
- lib/kernel/subgroups.c 290 additions, 0 deletionslib/kernel/subgroups.c
- lib/kernel/subgroups.cl 45 additions, 0 deletionslib/kernel/subgroups.cl
- lib/llvmopencl/Kernel.cc 4 additions, 4 deletionslib/llvmopencl/Kernel.cc
- lib/llvmopencl/Kernel.h 12 additions, 2 deletionslib/llvmopencl/Kernel.h
- lib/llvmopencl/WorkitemLoops.cc 333 additions, 268 deletionslib/llvmopencl/WorkitemLoops.cc
- lib/llvmopencl/WorkitemLoops.h 45 additions, 23 deletionslib/llvmopencl/WorkitemLoops.h
- tools/scripts/format-branch.sh 1 addition, 1 deletiontools/scripts/format-branch.sh
- tools/scripts/format-last-commit.sh 1 addition, 1 deletiontools/scripts/format-last-commit.sh
Loading
Please register or sign in to comment