CUDAfy.NET is an open source set of libraries and tools that permit general purpose programming of NVIDIA CUDA Graphics Processing Units (GPUs) completely from within the Microsoft .NET framework. In addition to being able to write kernel code in .NET and providing a straightforward host side API, the CUDA Maths libraries are supported. Applications can freely mix the two approaches. Recently .NET wrappers for CUBLAS level 2 and 3 and CUSPARSE have been added to existing CURAND, CUBLAS level 1 and CUFFT wrappers.
The CUDAfy SDK comprises the following:
- CUDAfy Library (GPGPU Extensions)
- CUDAfy Translator (.NET to CUDA C)
- CUDAfy Host Library (Interact with GPU from Host App)
- CUDAfy Math Library (FFT, RAND, SPARSE, BLAS)
- CUDAfy Module Viewer GUI
- CUDAfy Command Line Tool (V1.6)
The base CUDAfy library provides GPGPU specific classes. These are essentially an object orientated .NET means of approaching CUDA. Key components are the GThread and CudafyModule classes and the Cudafy attribute. GThread is used to identify the thread, block and grid IDs of parallel code running on the GPU as well as give access to the various different memory types GPUs have (e.g. shared , global, etc). The Cudafy attribute is placed on methods, structures and constants that will be running on the GPU. CudafyModules contain generated GPU code and other information to allow easy use from the CUDAfy host classes.
For more information please visit: http://www.hybriddsp.com/
[Submitted by @cudafy]