https://github.com/m4rs-mt/ILGPU Skip to content Navigation Menu Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} m4rs-mt / ILGPU Public * Notifications * Fork 109 * Star 1.1k * ILGPU JIT Compiler for high-performance .Net GPU programs www.ilgpu.net License View license 1.1k stars 109 forks Branches Tags Activity Star Notifications * Code * Issues 18 * Pull requests 10 * Actions * Wiki * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Wiki * Security * Insights m4rs-mt/ILGPU This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master BranchesTags Go to file Code Folders and files Name Name Last commit Last commit message date Latest commit History 2,154 Commits .github .github Docs Docs Samples Samples Site Site Src Src Tools Tools .gitattributes .gitattributes .gitignore .gitignore CODE_OF_CONDUCT.md CODE_OF_CONDUCT.md LICENSE-3RD-PARTY.txt LICENSE-3RD-PARTY.txt LICENSE.txt LICENSE.txt MAINTAINERS.md MAINTAINERS.md README.md README.md global.json global.json View all files Repository files navigation * README * Code of conduct * License ILGPU CI [6874747073] [6874747073] [6874747073] ILGPU is a JIT (just-in-time) compiler for high-performance GPU programs written in .Net-based languages. ILGPU is entirely written in C# without any native dependencies. It offers the flexibility and the convenience of C++ AMP on the one hand and the high performance of Cuda programs on the other hand. Functions in the scope of kernels do not have to be annotated (default C# functions) and are allowed to work on value types. All kernels (including all hardware features like shared memory and atomics) can be executed and debugged on the CPU using the integrated multi-threaded CPU accelerator. ILGPU.Algorithms Real-world applications typically require a standard library and a set of standard algorithms that "simply work". The ILGPU Algorithms library meets these requirements by offering a set of auxiliary functions and high-level algorithms (e.g. sorting or prefix sum). All algorithms can be run on all supported accelerator types. The CPU accelerator support is especially useful for kernel debugging. Community Discord The ILGPU community provides immediate help, feedback and suggestions via Discord ASAP. Log on to the server and you can get started right away. There are weekly talk-to-dev meetings on the Discord server. Don't hesitate to join the meeting if you have any questions or suggestions or just want to talk to one of the contributors. Check out the welcome channel on our Discord server for more information. ILGPU Samples The sample projects demonstrate the basic usage of ILGPU to help you get started with high performance GPU programming. Build Instructions ILGPU requires Visual Studio 2022 (or higher) and/or a .NET 6.0 SDK toolchain. Use the provided Visual Studio solution to build the ILGPU libs in the desired configurations (Debug/Release). Tests Sometimes the XUnit test runner stops execution when all tests are run in parallel. This is not a problem related to the internal tests, but a known XUnit/Visual Studio problem. If the tests stop unexpectedly, you can simply run the remaining tests again to continue working. Note: You can unload ILGPU.Tests.Cuda (for example) if you do not have a Cuda-capable device to execute the Cuda test cases. Related Information * ILGPU Homepage (www.ilgpu.net) * Latest ILGPU Samples (https://github.com/m4rs-mt/ILGPU/tree/ master/Samples) * Latest ILGPU Documentation (https://github.com/m4rs-mt/ILGPU/tree /master/Docs) * Nuget (https://www.nuget.org/packages/ILGPU) * Release (https://github.com/m4rs-mt/ILGPU/releases/) Preview versions Preview/Daily builds are distributed using https://feedz.io/. To pull preview versions into your project, use the following NuGet.config file: Symbols Symbols for ILGPU can be loaded in VS2022. For official releases, ensure that the built-in NuGet.org Symbol Server is enabled. For preview release symbols, add the link: https://f.feedz.io/ilgpu/preview/symbols Source Link ILGPU also provides Source Link support for a better debugging experience. Make sure Enable Source Link support is activated in VS2022 options. General Contribution Guidelines * Make sure that you agree with the general coding style (in terms of braces, whitespaces etc.). * Make sure that ILGPU compiles without warnings in all build modes (Debug, DebugVerification and Release). References * Parallel Thread Execution ISA 7.0 + NVIDIA * A Graph-Based Higher-Order Intermediate Representation + Roland Leissa, Marcel Koester, and Sebastian Hack * Target-Specific Refinement of Multigrid Codes + Richard Membarth, Philipp Slusallek, Marcel Koester, Roland Leissa, and Sebastian Hack * Code Refinement of Stencil Codes + Marcel Koester, Roland Leissa, Sebastian Hack, Richard Membarth, and Philipp Slusallek * Simple and Efficient Construction of Static Single Assignment Form + Matthias Braun, Sebastian Buchwald, Sebastian Hack, Roland Leissa, Christoph Mallon and Andreas Zwinkau * A Simple, Fast Dominance Algorithm + Keith D. Cooper, Timothy J. Harvey and Ken Kennedy * Fast Half Float Conversions + Jeroen van der Zijp * Identifying Loops In Almost Linear Time + G. Ramalingam License information ILGPU is licensed under the University of Illinois/NCSA Open Source License. Detailed license information can be found in LICENSE.txt. Copyright (c) 2016-2024 ILGPU Project. All rights reserved. Originally developed by Marcel Koester. License information of required dependencies Different parts of ILGPU require different third-party libraries. * ILGPU Dependencies + System.Collections.Immutable (https://www.nuget.org/packages/ System.Collections.Immutable) + System.Memory (https://www.nuget.org/packages/System.Memory) + System.Reflection.Metadata (https://www.nuget.org/packages/ System.Reflection.Metadata) + System.Runtime.CompilerServices.Unsafe (https://www.nuget.org /packages/system.runtime.CompilerServices.Unsafe/) Detailed copyright and license information of these dependencies can be found in LICENSE-3RD-PARTY.txt. About ILGPU JIT Compiler for high-performance .Net GPU programs www.ilgpu.net Topics cpu compiler dotnet amd gpu opencl parallel cuda intel jit nvidia gpgpu msil cil kernels ptx gpgpu-computing ilgpu Resources Readme License View license Code of conduct Code of conduct Activity Stars 1.1k stars Watchers 29 watching Forks 109 forks Report repository Releases 47 Release v1.5.1 Latest Sep 13, 2023 + 46 releases Packages 0 No packages published Used by 259 * @IsGarcia-zero * @JWMiller006 * @franzvrolijk * @vvbogdanovih * @jorgeven98 * @Xeplosion * @NullandKale * @akav + 251 Contributors 38 * @m4rs-mt * @MoFtZ * @dependabot[bot] * @jgiannuzzi * @pavlovic-ivan * @naskio * @github-actions[bot] * @Joey9801 * @Yey007 * @NullandKale * @76creates * @kilngod * @lostmsu * @adamreeve + 24 contributors Languages * C# 98.8% * HTML 0.7% * SCSS 0.2% * Python 0.1% * JavaScript 0.1% * PowerShell 0.1% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.