Just a quick comment: The current beta 2 SDK reports a global memory and allocation limit of 1Gb through its device properties. Although I don't work for ATI or AMD, I can pretty much guarantee you that it's a completely arbitrary limitation for the CPU implementation. For older GPUs there may possibly be even more severe hardware limitations though(I have no idea what to expect in that department). That said, DirectX 11 hardware is right around the corner, which may make problems of this kind a thing of the past.
However, disregarding that, the following statement executes fine on my machine:
Mem mem = openCLContext.CreateBuffer(MemFlags.READ_WRITE, 1024 * 1024 * 1000, IntPtr.Zero);
So if you can't allocate a 1Gb memory block, it should be failing by a minute amount. It might be worthwhile to investigate if you can do something useful with 995Mb or so. It's not exactly clear why 1Gb is a magic limit for you from your post.(Also note that I allocated a regular buffer, not a texture. Textures may have additional hardware restrictions on dimensions, and are not supported in the CPU version of the OpenCL driver anyway)
I'll second your request for more memory though. Neural networks eat up 1Gb fairly quickly.