Hi. I've got a rather open-ended question (I'll take all useful information). I been reading a little bit lately about GPGPU programming, and I'm interested in OpenCL. I'm particularly interested in OpenCL rather than CUDA because 1) I don't want to be locked into anything that is proprietary Nvidia, and 2) I don't want to buy an Nvidia graphics card.

But I'm trying to figure out how I install an opencl library on my Gentoo system. I see that there is a virtual/opencl package, but when I go to emerge it, is says I need to install an proprietary Intel SDK, and the the virtual/opencl package doesn't list an amd card in its VIDEO_CARDS options. So naturally I'm wanting to find out a bit more about how this works.

I poked around at the amd dev site trying to find a downloaded OpenCL C library, but all I found was higher level C++ libraries and utility programs.

So, basically I'm a newbie here and would appreciate any relevant insight._________________frigidcode.com

From what I've understood when I looked into this is that there is no standard OpenCL library yet that's comparable to mesa for OpenGL. The actual OpenCL libraries/headers are within the specific GPU drivers, and I think Intel / AMD / Nvidia provide some SDK support on top of that, but how compatible all that is I cannot say. There are a few abstraction libraries around, but as you said they're usually for higher level languages.
I gave up when I was researching this, but then my use case was already very limited and would require cross-platform support (with Linux having the lowest priority).

An update on the progress of my own research, after reading more wiki pages and blog posts:

It seems that there is at least some kind of experimental support for opencl through the Gallium 3D library, which is supposed to be a layer between the graphics API and the actual graphics hardware, and is part of Mesa. A 2009 blog post talks about the beginning steps of Gallium3d support for OpenCL. A January 2013 blog post describes Gallium3d OpenCL support as approaching experimental usability, with best support for certain Radeon cards, but requiring a proper build of LLVM and Gallium3d. The GalliumCompute page indicates that OpenCL is a work in progress for r800-r900 cards, and "It is expected that we will support AMD (ATI) Evergreen (r800 - HD5xxx)"

I'm greatly deficient in my understanding of the meaning of all the AMD brand and model names, so I'm not sure where I stand as far as buying the proper AMD graphics card for this, and maintaining my free software ideals. I was disappointed in the past because I bought an older Radeon card, and discovered that it required proprietary firmware blob from the non-free Linux kernel. So I am hoping to buy a newer card which which does not require any proprietary components, but also makes it possible for me to use both OpenGL and OpenCL._________________frigidcode.com