Andrey Belevantsev wrote:
Obviously, a library is not enough for a heterogeneous system, or
am I missing anything from your description? As I know, e.g. there
is
no device-independent bytecode in the OpenCL standard which such a
backend could generate.
That's correct. I was envisioning a proper compiler that would take
OpenCL input and generate binary output, for a particular target, just
as with all other GCC input languages. That target might be a GPU, or
it might be a multi-core CPU, or it might be a single-core CPU.
Of course, OpenCL also specifies some library functionality; that
could
be provided in a library that included hand-written assembly code, or
was generated by some non-GCC tool.