Sorry for the delay, I have been out of town without proper internet
since the talk. The answer is:
In our implementation, the RDBMS is Microsoft's SQL Server 2008, which
provides easy and elegant ways of extending its functionalities. The
user-defined functions and procedures of the SQL interface are written
in C#, which communicate with an out-of-process, independent service
via standard IPC to efficiently transfer data to the workers in a
shared memory buffer. The workers are written in C++ and can use CUDA
to drive the GPUs. While the IPC is within a single box (with
potentially multiple GPUs), there is nothing to stop you from farming
out jobs from the service on the other end. The hooks for these are
not in place but at that point you are in C++ and free to use anything
you like (e.g., HPC clusters over MPI?) The results are returned in
the same shared memory buffer to the C# wrappers that present them to
the SQL user.
While the framework is deployed and being used for various projects in
house at Hopkins, it is still also under heavy development, hence the
code has not yet been released. We intend to do so, when we converge
on something stable. We will present more details on this project
later in September at the GTC 2010. I'll try to remember to post a
note here, but please do bug me about this later, if you are
interested.
> > Is this a single machine?- Hide quoted text -
>
> - Show quoted text -