From: Benson M. <ben...@em...> - 2019-02-14 20:37:06
|
Hi, From a user perspective, some choice is good, though one also wants to minimize reduplicated work. Choices allow finding errors when they exist and possibly testing of new features that support a particular hardware advance. How would runtime support for specific features on different hardware be flexibly incorporated, ie. which runtime features should be shared? What will happen to beignet? Regards, Benson On 2/14/19 6:44 PM, Savonichev, Andrew wrote: > Hello POCL developers, > > I work at Intel Compiler team, and we develop the Intel OpenCL > Compiler and Runtime for CPU. Our code is based on LLVM and Clang, and > it remains proprietary since the early days of development. > > We are now investigating a possibility to make an open source product > by either opening our current codebase, or contributing our LLVM > passes and runtime features into an existing open source project. > POCL is a great example of such project: it does a very good job being > portable, and supports different devices such as CPU, GPU, DSP, etc. > > As far as I know, POCL does not support several features that we > support in our proprietary CPU runtime, so if we decide to switch our > development to POCL (with your agreement, of course), we'll need to > port all these features. This includes the features required for the > OpenCL 2.1 Conformance (we have 100% pass rate now), as well as various > performance improvements for Intel CPU. > > What is your opinion on this? > > Another question is about collaboration between OpenCL implementers. > As you probably know, LLVM and Clang are used by majority of OpenCL > implementations, and at least the frontend (Clang) is more or less the > same in all these implementations. This is really good for end users, > because they get a consistent experience from every platform. > > OpenCL runtimes, by contrast, are all independent, and have nothing > shared (except maybe for the ICD loader). This situation seems bad for > developers because of effort duplication, but it is also bad from a > user perspective: anyone who tries to make an OpenCL program portable > between different OpenCL implementations, will inevitably deal with > quirks and bugs of each runtime. > > This makes me wonder whether this situation will improve if we have > an OpenCL runtime under the LLVM.org umbrella. LLVM community values > portability a lot, so POCL seems to be a good choice for this > purpose. Have you ever considered upstreaming POCL to LLVM.org? > > Anyway, our plans are not finalized yet, and I will be happy to hear > any feedback. > |