> I am a PhD student who has been working with CUDA for the GPU and also > gcc for Cell BE for about a year now. (By work I mean developing > applications). I am looking to bring GCC closer to being able to > support OpenCL as a Google Summer of Code.
This is very interesting and I'm willing to help with mentoring. However I think your projects are more ahead than what is actually in GCC right now! Regarding the NVIDIA GPU backend, I think NVIDIA is not yet distributing details about the instruction set unlike ATI, is it? In this case, I think ATI would be a better match. Another possibility is to analyze OpenCL C and try to integrate its features in GCC as much as possible. This would include 1) masking/swizzling support for GCC's "generic vector" language extension; 2) half-precision floats; 3) having all the rounding conversion operators of OpenCL C as builtins. Subproject: the i386 has a lot of fast implementations for floating-point rounding operators (things like x+2^52-2^52), move them to target-independent code. 4) ??? I'm not extremely familiar with OpenCL, but if I recall correctly you're right that having a runtime for it does not strictly *need* an OpenCL C compiler. However, if you want to pursue the OpenCL runtime project, you should make sure to specify in the proposal how the runtime and compiler relate (or why they are independent). In any case, I would be happy to mentor you. :-) Paolo