Idiomatic GPGPU from .NET
I've been reviewing the available OpenCL wrappers for .NET & found nothing to rejoice about. These "low-level" helpers are very non-idiomatic to the .NET programmer, e.g., from the OpenTK Compute package,
public static CLResultCode GetPlatformIds(out CLPlatform[] platformIds);
The return type is in the wrong place & there is obviously no structured exception handling here.
Will there be a time in the foreseeable future when the compiler and/or the runtime is smart enough to run straight .NET code on the right hardware resource (CPU/GPU)? Surely someone out there must be working on this. We got the auto-parallelizing (TPL) features from Microsoft some years back so I'm sure they can pull it off.