Did you think about generating dynamic GPU code at run time, incorporating user supplied expressions and formulas?
How about designing new GPU aware interactive domain specific languages?
Or do you want to increase your GPU coding productivity by prototyping GPU kernels iteratively in a scripting environment?
Then you may want to look at Alea.cuBase to move into a new dimension of GPU computing. Alea.cuBase is a novel approach to develop GPU applications on the .NET framework, seamlessly combining the CUDA programming model with Microsoft’s new functional language F#.
Alea.cuBase cuts your project risks by reducing the software complexity, development time and the deployment effort of your GPU applications.
Dynamic Code Generation
Generate CUDA kernels dynamically and compile them at run time to highly optimized GPU code.
Use the CUDA monad as a comprehensive, solid and flexible framework to specify GPU resources and kernel launch logics in a unified manner. Reuse kernel code and GPU resources in CUDA monads and compose them to more complex yet robust parallel algorithm.
Simplify development and deployment and start with GPU coding right away, without first installing the NVIDIA compiler tools. Speed up the creation of new parallel algorithms with prototyping inside the F# interactive or with F# scripting. Improve your coding productivity and quality with type inference and advanced IDE support.
Industry Grade Performance
Alea.cuBase generates performance-optimized code, executing at the same speed as compiled CUDA C/C++ code. You can easily control code compilation for performance tuning, such as turning on fast math, using special device functions, or generate different PTX versions.
Sophisticated GPU Programming on .NET
Take advantage of texture, shared memory, constant memory, special device functions and pointer operations to develop fine-grained parallel algorithms, or to migrate your existing CUDA C code. A well-designed GPU programming interface simplifies the thread safe management of multiple GPU devices, memory and stream.
Seamless Integration with .NET
Integrate GPU code with other .NET components to a fully managed .NET solution. No wrapper code is required. Benefit from a rich set of .NET containers and a large collection of libraries. Call your GPU algorithms from any other .NET language, Python or Matlab.
Where to get Alea.cuBase?
Get a free trial of Alea.cuBase from the download section on the QuantAlea home page. Alea.cuBase is also available as NuGet package or use the Visual Studio package manager to search for Alea.cuBase.