Getting started with a new architecture

Hello everyone,

I spent a lot of time looking for resources to get me started with OpenCL and with implementing the standard for a new architecture. Unfortunately my Google skills failed me. There are a lot of tutorials for writing OpenCL code, but I haven’t found anything regarding what is needed in order to have your new hardware processor support OpenCL.

So to make this short: I have a simple SIMD processor made of a 128 processing units and I have an assembly language for it, and I have a prototype running in an FPGA which I can program from a host ARM processor in assembly. I’m interested in what would be the best approach for my SIMD to be programmed through OpenCL.

Thank you,

OpenCL specification contains everything OpenCL requires driver to do. Everything it does not specify is undefined behavior you can use for your advantage. There are even open source (CPU-based) implementations you can use as a reference.

Fun fact: you can’t legally claim your hardware supports OpenCL without formal sertification from Khronos.

Thank you, I will start reading the spec then.