Nov 20, 2012 at 5:03 PM

Hi, has OpenCL ever been considered as an extension/branch of CUDAfy? I've been reading a bit about it, and it seems you already have most of the concepts/code in place.

The process is similar: 1 - C-style code very similar to cuda's, with the same concepts; a few keywords differ. 2 - It compiles into a binary subsequently loaded onto a device. The compiler access appears to be through an api, or at least there's a wrapper of sorts. Seems simple enough. 3 - There's an API (already ported to C# in open-source) to do mem copy and kernel launches, compilation, etc.

Is this completely crazy or shall I elaborate a bit further? Growing your user base to encompass both ATI and NVIDIA would seem like a nice idea. Not a trivial project, of course.


Nov 21, 2012 at 1:37 PM

Yes, it was considered from day one, or perhaps day two since on the first day the product was named CUDAfy which strongly suggests something to do with CUDA.  The idea was that in the same way we can specify Emulator or CUDA, we could also specifiy OpenCL.  That is also why we have a base class called GPGPU and this is used in user space instead of CudaGPU.

The company behind CUDA.NET (no longer maintained) also did a managed wrapper for OpenCL, but this was many moons ago, so not sure how much OpenCL has progressed.  From what little time I've spent on OpenCL it does appear more verbose than CUDA, however hopefully much of that could be shielded from user so the interface is kept in line with GPGPU.

Dec 4, 2012 at 11:54 PM
Edited Dec 4, 2012 at 11:54 PM

If Cudafy could use AMD cards too, that would fix it's one fault.

Dec 5, 2012 at 9:06 AM

Hi mcmillab,

You are too kind, I usually count way more than one fault...  Actually a few users are currently looking at OpenCL support - it does look do-able.  Being CUDA fans we may indeed try to permit exactly the same CUDAfy code to run on both NVIDIA and AMD.  We'll see.  If you are interested in contributing, even in a test capacity, please fire off a direct email to me.