m4rs-mt/ILGPU

ILGPU JIT Compiler for high-performance .Net GPU programs

해결하는 문제

ILGPU는 JIT(Just-in-Time) 컴파일러로, CUDA C++과 같은 네이티브 종속성이나 전용 GPU 언어에 의존하지 않고 .NET 기반 언어(C# 등)를 사용하여 고성능 GPU 프로그램을 작성할 수 있게 해줍니다.

작동 방식

.NET 코드를 GPU 실행 가능한 명령어로 컴파일합니다. 멀티스레드 CPU 가속기 기능을 제공하여 GPU에 배포하기 전에 CPU에서 커널을 실행하고 디버깅할 수 있습니다. 또한 모든 지원되는 가속기 유형에서 작동하는 고수준 알고리즘(정렬, 접두사 합계 등)의 표준 라이브러리도 포함되어 있습니다.

대상 사용자

C# 생태계를 벗어나지 않고, 네이티브 C++ 코드를 작성하지 않고도 애플리케이션에 GPU 가속 성능이 필요한 .NET 개발자들입니다.

주요 특징

  • 순수 C# 구현: 네이티브 종속성이 없이 완전히 C#으로 작성되었습니다.
  • CPU 디버깅: 공유 메모리 및 원자 연산과 같은 하드웨어 기능을 포함한 통합 CPU 가속기로 커널 디버깅이 가능합니다.
  • C# 통합: 특별한 주석 없이 기본 C# 함수와 값 형식을 사용할 수 있습니다.
  • 알고리즘 라이브러리: 일반적인 GPU 작업을 위한 고수준 알고리즘의 내장 라이브러리가 포함되어 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트