What Campy is

Based on the ECMA standards for CLIC#, and NET Standard 2.0, Campy is the only free and open-source compiler and substituting .NET base class layer that enables GPGPU programming for NET Core and Framework applications for virtually all C#. Other compilers exist, but as far as I know, these systems do not implement a full meta data system and NET framework. These system lack support for any number of features: reference types, generics, virtual functions, new operator, collections, strings, a file system, and/or various NET frameworks. Campy supports nearly all of C#. Campy does not support exception handling as CUDA does not.

Campy is targeted for Windows 10 64-bit and Ubuntu 16.04 64-bit OSes, CUDA GPU Toolkit 9.2/10.0, Net Core 2.1, Net Framework >= 4.6.1, Net Standard 2.0, and NVIDIA GPUs with sm_30 (Kepler) or newer architecture. Campy also works with Mono 5.12.

Campy offers a unique blend of features: able to execute all C# on a GPU, except for certain OS-specific code; a small API that allows for clean and simple implementations to be developed; easy integration into an application via Nuget. Visual Studio is not required. There are no extra build steps. Just compile your program normally, and Campy will JIT at runtime. Full deployment of your app is achieved via Net Core 2.1 as a self-contained deployment.

Note, Campy is still in development. The releases are debug builds, with no emphasis on the speed of the code, mostly correctness of the results. Check out the blog for further details.