The following emails have been transfered between Soufiane and I. Paolo Bonzini asked that I cc the emails to the list.
============================================= Hi Soufiane, I am working on OpenCL for google summer of code. I just emailled my mentor asking about what the rules of collaboration are while I am being paid under gsoc. (It is a little fuzzy on the website: Q: Can a group apply for and work on a single proposal? A: No, only an individual may work on a given project. Of course, students should feel free to collaborate with others to accomplish their project goals.) You can certainly do work on your own and I would love to work with you. I will let you know what my mentor says. Sincerely, Phil ============================================= Hello Phil, I am happy to work with you, just tell me which parser do you use? do you convert your parsed OpenCL grammar to ATI IL or Stream? can i start from where you are or should i do all the work from scratch! Soufiane ================================================ Hi Soufiane, My gsoc project is not making an OpenCL C compiler, but instead the supporting infrastructure. I have made rough draft functions that support clCreateContext, clCreateCommandQueue, clCreateMemoryObject, clCreateProgramWithBinaries, clCreateKernel, clEnqueueNDRangeKernel and clEnqueueBufferRead. Without an OpenCL C compiler, I get use clCreateProgramWithBinaries to load compiled code into the runtime. So far this works to load dynamic link libraries on the cpu (without knowing the number of kernel arguments at compile time). I am making a structure where there are various drivers for all the different devices and I am focusing on CPU and Cell. So if you wanted to make a device driver to load and execute the ATI binaries, that would be a big help (as long as it is okay with google). We use git for this project. There is barely any documentation right now as I am developing things still (and things can change a little if you need info for the driver). The code is in github: http://github.com/pcpratts/gcc_opencl/tree/master The code I was talking about is in cl/devices/cpu/generic/driver.c To run the code you will need the dependencies in the NOTES file. Also you will need to put the output of # lshw -xml > lshw_output.xml in the root folder of the project. Phil