Democratizing GPGPU programming through OpenCL and LINQ.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.nuget nuget Mar 28, 2014
samples Update DotProduct sample Apr 6, 2015
src Fix Zip in context.Compile Apr 6, 2015
tests/GpuLinq.Tests.CSharp Added support for long-int64 Jun 10, 2014
.gitattributes Init Solution/Projects Structure Aug 7, 2013
GpuLinq.sln Update Mar 27, 2014


GpuLinq's main mission is to democratize GPGPU programming through LINQ. The main idea is that we represent the query as an Expression tree and after various transformations-optimizations we compile it into fast OpenCL kernel code. In addition we provide a very easy to work API without the need of messing with the details of the OpenCL API.

using (var context = new GpuContext())
    using (var nums = context.CreateGpuArray(array))
        var query = (from num in nums.AsGpuQueryExpr()
                     where num % 2 == 0
                     select num * num).Sum();
        var result = context.Run(query);