Radically Simplified GPU Programming with C#

Play Radically Simplified GPU Programming with C#
Sign in to queue


Do you have performance bottlenecks? Do you have a lot of parallel calculations? Then try to use GPU with C#. With the new Alea GPU parallel GPU methods it is as easy as changing a few lines of code to utilize the power of GPUs. No GPU in your box? Don't worry, you can get them from Azure or other cloud providers. This Channel 9 cast explains how easy it is to run C# code on the GPU, with full debugging support in Visual Studio.







The Discussion

  • User profile image

    Supercool, I wonder if we will have an entire game engine full made in C# at this point, it would be nice to have XNA back!

  • User profile image

    @SimoneInvernizzi: Of course, Alea GPU is free for GeForce GPUs and that is what gamers use to play!

  • User profile image

    An amazing product, thank you. I tried using OpenCL once but it was quite a challenge for a .NET developer. I succedeed at last but it took a great deal of effort for just a simple Levenshtein Distance calculator. Can you elaborate on .NET types support? What about String, can I use its IndexOf and Substring methods, for instance?

  • User profile image

    @MorenoGentili: Alea GPU supports all .net value types and arrays of blittable types. It is explained in the section on automatic memory management.  

  • User profile image

    @MorenoGentili: Alea GPU also supports generic types as explained here

  • User profile image

    @MorenoGentili: Strings are reference types and live entirely in CPU memory. You can use character arrays instead. You can use .net character or byte arrays.  

  • User profile image

    Great interview Seth.

    @degloff VERY exciting. This has been a holy grail for quite some time (e.g. see BrahmaC$ aka "C Bucks", Tidepowered GPU.NET). I look forward to learning more about Alea, and I hope that many of the wins and lessons learned from these previous efforts, as well as importantly C++ AMP, have been integrated into the design.

    Looking at your overview docs, all I see are single-line GPU code examples, but I presume multi-line methods work, too. What are the restrictions for the GPU method body?

    Many applications will require operating along one dimension of a multidimensional array, e.g. transforming RGB images along the color axis, reducing to scalar intensity, etc. Does Alea work natively with multidimensional arrays? How can one perform gather operations (e.g. gaussian blur)? Using user-defined indexers, or Alea constructs (ala C++ AMP)?

    To quote Agent Fox Mulder, "I want to believe." Just being able to checkout code from a NuGet package w/o setting up an old version of VS to work with CUDA will be a joy. Look forward to looking in-depth at your code samples.

  • User profile image

    Sadly, it doesn't seem that this project is still live.

Add Your 2 Cents