PowerUp
ILGPU
Our great sponsors
PowerUp | ILGPU | |
---|---|---|
6 | 6 | |
1,598 | 1,053 | |
- | - | |
4.1 | 9.0 | |
3 months ago | 1 day ago | |
C# | C# | |
GNU Affero General Public License v3.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
PowerUp
ILGPU
-
ILGPU VS ComputeSharp - a user suggested alternative
2 projects | 27 Oct 2023
-
CUDA integration for C#
I've had a good experience with ILGPU: clean API, loads of samples, nice community. Apologies for a shameless plug, but I used it in one of my projects and happened to write a blog post about it: https://timiskhakov.github.io/posts/computing-the-convex-hull-on-gpu. Hope it helps!
-
Is there a way to utilize the gpu in a C# program?
https://github.com/Sergio0694/ComputesSharp is always being recommended to me. But I also just found this one https://github.com/m4rs-mt/ILGPU which looks very interesting. There are a lot of libraries which allow you to execute on the gpu
-
Is there a way to run metal shaders on CPU threads?
I would checkout the github for more details, or ask on the discord for more specifics, but all the kernels are compiled into IL by the C# compiler, then at runtime the ILGPU compiler converts them from IL into PTX, OpenCL, or back into IL (in a special way to maintain thread grouping and stuff). Then PTX / OpenCL /IL is compiled and run using the respective runtimes. Cuda for PTX, the OpenCL runtime for OpenCL, and .net for IL. We have talked about creating a CPU execution path that tries to match speeds with CPU code, but I do not think it is a big priority.
-
What is ILGPU | Links | FAQ
Github repo
What are some alternatives?
perfview - PerfView is a CPU and memory performance-analysis tool
CUDAfy.NET - CUDAfy .NET allows easy development of high performance GPGPU applications completely from the .NET. It's developed in C#.
rust-csharp-ffi - An example Rust + C# hybrid application
ZenTimings
BenchmarkDotNet - Powerful .NET library for benchmarking
NvAPIWrapper - NvAPIWrapper is a .Net wrapper for NVIDIA public API, capable of managing all aspects of a display setup using NVIDIA GPUs
NetFabric.Hyperlinq - High performance LINQ implementation with minimal heap allocations. Supports enumerables, async enumerables, arrays and Span<T>.
Hybridizer - Examples of C# code compiled to GPU by hybridizer
Mono - Mono open source ECMA CLI, C# and .NET implementation.
Amplifier.NET - Amplifier allows .NET developers to easily run complex applications with intensive mathematical computation on Intel CPU/GPU, NVIDIA, AMD without writing any additional C kernel code. Write your function in .NET and Amplifier will take care of running it on your favorite hardware.
FusionCache - FusionCache is an easy to use, fast and robust cache with advanced resiliency features and an optional distributed 2nd level.
arrayfire-rust - Rust wrapper for ArrayFire