Category Archives: OpenCL

OpenCL 2.0: SPIR Feedback and Vision

OpenCL 2.0 Feedback Series:

  1. OpenCL Standardization Issues
  2. My OpenCL Vision and Philosophy
  3. OpenCL 1.3: My Proposal For a Final 1.x Release
  4. OpenCL 2.0: SPIR Feedback and Vision (this article)

The SPIR 1.2 provisional specification is critical to the success of OpenCL because it provides freedom to the software community to explore new device languages. Personally, I have my own ideas for new device languages and abstractions but I have been unable to explore them due to inflexibility within the OpenCL standard. Although SPIR 1.2 is close to what I want, it isn’t quite good enough. In this article I am going to outline what I want SPIR to be, so that I can stop complaining and start developing software.

 

Continue reading

OpenCL 1.3: My Proposal For a Final 1.x Release

OpenCL 2.0 Feedback Series:

  1. OpenCL Standardization Issues
  2. My OpenCL Vision and Philosophy
  3. OpenCL 1.3: My Proposal For a Final 1.x Release (this article)
  4. OpenCL 2.0: SPIR Feedback and Vision

I propose that OpenCL 1.3 should be developed as the final 1.x version release. OpenCL 1.3 would provide minor enhancements and clarifications to OpenCL 1.2, and would defer major changes to OpenCL 2.0. My rationale for this proposal is fairly straightforward. First, there are already applications that use OpenCL and could benefit immediately from useful enhancements, without major conceptual changes. Second, I feel strongly that the OpenCL standard would greatly benefit from an open debate regarding its future. This debate may lead to major and disruptive changes in OpenCL 2.0 that would require major refactoring of existing software. OpenCL 1.3 would provide developers with an opportunity to develop useful software with the understanding that “something big” is coming.

Continue reading

My OpenCL Vision and Philosophy

OpenCL 2.0 Feedback Series:

  1. OpenCL Standardization Issues
  2. My OpenCL Vision and Philosophy (this article)
  3. OpenCL 1.3: My Proposal For a Final 1.x Release
  4. OpenCL 2.0: SPIR Feedback and Vision

In my last article, I criticized OpenCL for lacking a published vision or philosophy which unifies the community and provides a litmus test for features. I would like to outline my vision for OpenCL with a new low-level library model, and a potential philosophy. I have inferred my own OpenCL philosophy from the published standards and vendor documentation, however in this article I am going to put forward a different philosophy. If you disagree with me, please post an articulate comment to this article. If you write a response to my article, contact me and I will update this entry with a link back to you. My intention is to spark a real public debate on the future of OpenCL.

Continue reading

OpenCL: Standardization Issues

OpenCL 2.0 Feedback Series:

  1. OpenCL Standardization Issues (this article)
  2. My OpenCL Vision and Philosophy
  3. OpenCL 1.3: My Proposal For a Final 1.x Release
  4. OpenCL 2.0: SPIR Feedback and Vision

OpenCL 2.0 was recently released as a provisional specification, and developers have been given an opportunity to provide feedback.  I am writing a series of articles to address technical issues with the specification, but this particular article is going to focus on issues with the standardization process itself.  Sometimes, technical people focus on technical issues rather than the non-technical ones that might be causing even bigger problems for a project or group.  I would like to address all of the non-technical issues here, so that I can move on to focus on the more interesting technical aspects of OpenCL.

Continue reading