The next release or two of Campy will be hammered out over the following weeks.
One will deal with the implementation of C# generics, which regressed a few months ago after the move to the GPU BCL reference type allocation. It kind of didn’t work all that well, and was a kludge, so it needed to be rewritten. Further, much of the BCL uses generics, e.g., System.Console.WriteLine(), so this must be sorted out as soon as possible.
The other will deal with Campy on Ubuntu. There isn’t any really good reason why Campy cannot be run on Ubuntu, so that also will be fixed. There is already a build for Swigged.LLVM for Ubuntu, and there will be a build of Swigged.CUDA for Ubuntu shortly. I’ll also need to get the GPU BCL of Campy to compile on Ubuntu, but it shouldn’t be any harder than the previously mentioned libraries.
I’m not sure which feature will come first, but generally speaking, a new version of Campy should be available every few weeks.
- Support of enum types (13).
- Performance improvement in basic block discovery of kernel code (77cee89).
- Fix to GPU BCL type system initialization (14).
- Partitioning the build of the runtime from the compiler so that it can be built for Linux. Adding in Linux build. There are a number of ways I’m looking into how to do the build, including the Linux C++ build feature in Visual Studio.
- Rewriting the compiler so that phases are chained methods and renaming the phases that indicate what each does.