Some other interesting facts I am finding on OpenCL. When I do build some sort of multi-highend GPU based computer, I would really rather locate it at a colo that I use. Probably built rack-mount style. I hope the EVGA motherboard and very long nVidia Tesla cards will actually fit properly.
But a few other logistical problems I've noticed. I can't use OpenCL from a Windows service. It bombs out with no graphics adapter found. Much like if I tried to kick off OpenGL or DirectX from a service. Also, if I use "terminal services" and login to a machine that has an OpenCL GPU on it, it bombs if I try to kick off a program that uses OpenCL. OpenCL is very much like a video game, you run it at the console. Not sure how Linux is.
One side-product that we will be releasing at some point. Probably in either 2.7 or 3.0(there may not be a 2.7) is something called Encog-Node. Meant to run somewhat headless. You can run it as a service/daemon if you are not using OpenCL. But if you ARE using OpenCL you run it console, probably as a startup app, and it will launch and run very similar to a full-screen video game. Where I will go full-screen using OpenGL and then I can drop the GPU down to just a black 320x200 (minimal memory) screen just saying "Encog Node - 01 - Press space to exit", or something like that. Kind of a very boring video game! It will take all of its commands via TCP/IP and can function using the scheduler on another machine (part of a grid). By the way, keyboard is totally responsive while running heavy GPU. Mose is kind of dicey because you are rarely getting video-screen updates. So the only way to stop it would be a TCP/IP command or a keyboard command.