Re: [Mesa-dev] opencl (clover) patches question
Hi, I have been looking into what would be needed to modify in clang to support opencl recently, although there is an opencl flag to set in the lang options, it doesn't really seem to do much, so the modifications seem non-trivial (to me at least). I am wondering if this would be useful to continue, and if the changes required would invalidate this work. I also have a patch that gets the clover compiler class working with the api changes in clang. Without the opencl specific modifications, it has effectively turned it into a simplistic c99 compiler, return llvm bytecode. I also have started on some work to get a simple cpu implementation, based on the llvm execution engine, working, though this probably will take a back seat until the compiler is at least half-way correct. Also, am I correct in assuming that the general flow goes: openCL code - clang - llvm bytecode - TGSI - gallium driver? Thanks, Jonathan Hamilton On 07/23/10 15:39, Zack Rusin wrote: On Thursday 22 July 2010 20:33:59 Anthony Waters wrote: sounds good, the patches in http://www.mail-archive.com/mesa3d-...@lists.sourceforge.net/msg10561.html don't produce any conflicts with the commit from 3/28, they applied cleanly into my working copy with a 3 way merge through git am -3 not sure if this is a concern or not, but after the 3 way merge the commit log is not in chronological order anymore That doesn't really matter. Just so that I know do you actually have a plan or are you just playing around? I'm asking because the reason the Clover repository is waiting is because the entire codebase will depend on the infrastructure for GPGPU in Gallium, Clang integration and LLVM code-gen code. In the gallium resources branch I've the first crucial part of the changes in Gallium which is support for buffer reads and gather instructions. Then we'll need to implement scatter and memory spaces. TBH anything short of that Gallium/Clang/LLVM infrastructure work is at this point not very useful because it will just be rewritten later. Actually from the simpler stuff maybe cleaning up the build system or changing the testing framework to QtTest would be useful for later. I wouldn't spend any time on anything but that at this point. z ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] opencl (clover) patches question
On Friday 30 July 2010 14:13:06 Jorge VillaseƱor wrote: Is there some public roadmap to get this working? somewhere we can start hacking? As Anthony I'm a newcomer and I'm looking for getting OpenCL/clover up. Not right now, I'll try to start something on the fdo wiki within the next few days. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] opencl (clover) patches question
On Monday 26 July 2010 03:48:31 Jonathan Hamilton wrote: Hi, I have been looking into what would be needed to modify in clang to support opencl recently, although there is an opencl flag to set in the lang options, it doesn't really seem to do much, so the modifications seem non-trivial (to me at least). I think you're over-thinking it. I guess what you're referring is support for things like floatX (e.g. float4), __local and so on, but those aren't part of the language itself, they're actually simple defines. So what we need is a private header which defines the OpenCL C types and attributes. E.g. typedef __attribute__(( ext_vertex_type(4) )) float float4; typedef __attribute__(( ext_vertex_type(2) )) float float2; and so on. Each compiled OpenCL kernel would implicitly include this header. We'll need pretty much the same thing for builtins (but along with actual definitions of those). Also, am I correct in assuming that the general flow goes: openCL code - clang - llvm bytecode - TGSI - gallium driver? That's exactly right. z ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] opencl (clover) patches question
I was just playing around with it, I'll keep my eye on the gallium resources branch to see how things materialize On Fri, Jul 23, 2010 at 10:39 AM, Zack Rusin za...@vmware.com wrote: On Thursday 22 July 2010 20:33:59 Anthony Waters wrote: sounds good, the patches in http://www.mail-archive.com/mesa3d-...@lists.sourceforge.net/msg10561.html don't produce any conflicts with the commit from 3/28, they applied cleanly into my working copy with a 3 way merge through git am -3 not sure if this is a concern or not, but after the 3 way merge the commit log is not in chronological order anymore That doesn't really matter. Just so that I know do you actually have a plan or are you just playing around? I'm asking because the reason the Clover repository is waiting is because the entire codebase will depend on the infrastructure for GPGPU in Gallium, Clang integration and LLVM code-gen code. In the gallium resources branch I've the first crucial part of the changes in Gallium which is support for buffer reads and gather instructions. Then we'll need to implement scatter and memory spaces. TBH anything short of that Gallium/Clang/LLVM infrastructure work is at this point not very useful because it will just be rewritten later. Actually from the simpler stuff maybe cleaning up the build system or changing the testing framework to QtTest would be useful for later. I wouldn't spend any time on anything but that at this point. z ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] opencl (clover) patches question
Zack's on vacation this week. I'm OK w/ posting the patches to this list until a new clover list is set up. -Brian On 07/21/2010 08:19 PM, Corbin Simpson wrote: Normally I wouldn't mind opening a new branch for your patches, but I don't have commit access to that repo and don't know the code. Zack? Posting from a mobile, pardon my terseness. ~ C. On Jul 21, 2010 6:10 PM, Anthony Waters awate...@gmail.com mailto:awate...@gmail.com wrote: mesa-dev, I've done some work with mesa's implementation of opencl (clover) (bug fixes and features), is it acceptable to email the patches to this list? I noticed a patch from 6+ months ago was never applied http://www.mail-archive.com/mesa3d-...@lists.sourceforge.net/msg10561.html from another author. It would be best if this patch was applied first (part of my patches address the same concerns so it would be ideal for me to work off of them and merge my changes). ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org mailto:mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] opencl (clover) patches question
Normally I wouldn't mind opening a new branch for your patches, but I don't have commit access to that repo and don't know the code. Zack? Posting from a mobile, pardon my terseness. ~ C. On Jul 21, 2010 6:10 PM, Anthony Waters awate...@gmail.com wrote: mesa-dev, I've done some work with mesa's implementation of opencl (clover) (bug fixes and features), is it acceptable to email the patches to this list? I noticed a patch from 6+ months ago was never applied http://www.mail-archive.com/mesa3d-...@lists.sourceforge.net/msg10561.html from another author. It would be best if this patch was applied first (part of my patches address the same concerns so it would be ideal for me to work off of them and merge my changes). ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev