Radically Simplified GPU Programming with C#

Download this episode

Download Video

Download captions

Download Captions

Description

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.

www.quantalea.com

www.aleagpu.com

Tag:

GPU

Embed

Format

Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • User profile image
      Simone​Invernizzi

      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
      degloff

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

    • User profile image
      Moreno​Gentili

      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
      degloff

      @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
      degloff

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

    • User profile image
      degloff

      @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
      dcuccia

      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.

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to send us feedback you can Contact Us.