OpenCL on ArBB VM ?

OpenCL on ArBB VM ?

Just looking over the documentation and tutorial for ArBB. A most impressive piece of technology and I'm hoping to find time to play with it soon.

I'm pleased to see the VM API is opened up, and comments elsewhere here mentioning that this is intended to permit other DLSs to map to the VM. The obvious questions are:

  • In principle, would it be possible to compile OpenCL code to ArBB's VM ?
  • How good a "fit" would OpenCL's model be, or are there reasons it'd be a bad idea/horribly inefficient etc ?
  • Are there any plans to develop such a thing (by Intel or a third party ?)
3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hello Tim,

thank you for looking into ArBB! It is nice to see people exploring the VM, and we are preparing to further document the API. For now, you started absolutely right by looking into the arbb_vmapi.h header file. A tip would be, to also have a look at the ArBB header files to learn how the ArBB C++ 'frontend' (arbb/cpp) is implemented using the VM API. The C++ API is completely header-only.

Of course, the VM API is intended to permit other languages using the virtual machine to run native on all targets which are supported by Intel ArBB. The first of your 'principle' questions can be answered with 'yes'. However, using Intel ArBB does scale forward also in terms of the supported execution targets. For example, QnA #10 of the FAQ is going to answer this question. Your second question is answered by our FAQ as well (QnA #9, which is repeated below). Last but not least, your third question is taken as a welcome customer input. Please always feel invited to bring up your opinion.

Intel ArBB provides the same cross-architecture advantages as OpenCL
while also providing more abstract programming constructs than OpenCL
does and the additional scalability and application behavior benefits of
dynamic compilation. For example, reductions, scans, data-reordering operators, and also mechanisms to exploit nested parallelism are such constructs.

The first draft of the IntelArBB Virtual Machine (VM) API specification is now available on ourdocumentation page.We'd like to hear your feedback!



Leave a Comment

Please sign in to add a comment. Not a member? Join today