aboutsummaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorGil Pitney <gil.pitney@linaro.org>2015-07-28 22:16:16 +0000
committerGil Pitney <gil.pitney@linaro.org>2015-07-28 22:16:16 +0000
commitd2cc396ab3bdf074a785cc556971170599a8a726 (patch)
tree5c655e0fde090c6cd91b0cfc41397bc9a6138da8 /TODO
parentc9619d1d796e958d2b6f129db488926b7e270d01 (diff)
Updated README, ISSUES, TODO files for v1.2 release of Shamrock
Also updated detailed analysis of Khronos failing tests for posterity. Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
Diffstat (limited to 'TODO')
-rw-r--r--TODO68
1 files changed, 20 insertions, 48 deletions
diff --git a/TODO b/TODO
index 6a0f399..c5fd17c 100644
--- a/TODO
+++ b/TODO
@@ -1,64 +1,36 @@
Things To Do:
-
-
-Roadmap
-=======
+=============
1. Resync with git.ti.com/opencl.
Update to latest common code from the TI repo.
-2. Merge TI OpenCL DSP Device support from git.ti.com/opencl.
-
- Get the CPU and DSP device support to act as plugins to a common
- framework, so that they may coexist.
-
-3. Validate CPU Device for ARMv8, x86_64
-
- Ensure same tests that pass on ARM also work on x86.
-
-4. Update to OpenCL v 1.2
+2. Add ICD support
-5. Move to SPIR.
+ Adding ICD support requires embedding an ICD Dispatch structure
+ into each public OpenCL object, and registering the vendor's
+ implementation with the system so an ICD loader can find and invoke it.
- Once a SPIR to ARM backend becomes available, move to SPIR as a more
- standard IR.
-
-Issues:
-=======
-
-1. Khronos tests:
-
- The majority of Khronos basic tests pass, proving that MCJIT is working
- pretty well for ARM.
+ Though the effort does not appear too difficult, the payoff is really
+ when there are other ICD-compatible OpenCL drivers for other
+ devices (GPUs, DSPs) available with which to run concurrently.
- The remaining Khronos 'basic' test failures (ARM only), documented here:
+3. Merge TI OpenCL DSP Device support from git.ti.com/opencl.
- tests/basic_test_failures.lst
-
- Some of the other Khronos tests behond "basic" have been run on ARM,
- but the failures have yet to be analysed.
- computeinfo: PASS
- api: 55/61 PASS
- basic: 87/95 PASS
- buffers: 78/81 PASS
- commonfns: 17/17 PASS
+ Get the CPU and DSP device support to act as plugins to a common
+ framework, so that they may coexist.
-2. Builtins:
+4. Builtins:
- atomic builtins not yet implemented.
- math builtins implemented (using libm or builtins), but not all pass the
- Khronos criteria for accuracy.
+ The current clc.h has its roots in LLVM libclc, but has diverged. It
+ may be interesting to resync with that project, if those builtins
+ actually pass the Khronos tests.
- The current clc.h has its roots in LLVM libclc, but has diverged. It
- may be interesting to resync with that project, if those builtins
- actually pass the Khronos tests.
+5. Update to OpenCL v 2.0
-3. DSP Device support:
+ An HSA compliant platform would benefit this effort.
- This requires extra TI DSP compiler, DSP side files and builtin library
- support which is released by TI as part of its Keystone II MCSDK-HPC product.
+6. Move to SPIR, or SPIR-V.
- Though the CMake files allow building for TI devices, all the DSP side files
- are not in opensource, so the build defaults to SHAMROCK build type,
- building for CPU Device only.
+ Once a SPIR to ARM backend becomes available, could move to SPIR as a more
+ standard IR.