kunzmi/managedCuda
ManagedCUDA aims an easy integration of NVidia's CUDA in .net applications written in C#, Visual Basic or any other .net language.
何を解決するか
ManagedCUDAは、C#、Visual Basic、またはその他の.NET言語で書かれた.NETアプリケーションが、NVIDIAのCUDAプラットフォームによるGPUアクセラレーションを簡単に統合・アクセスできる方法を提供します。GPUとのインターフェースに低レベルのC++コードを書く必要がなくなり、.NET開発者はマネージドコードから直接デバイスメモリを管理し、カーネルを実行できるようになります。
動作方法
このプロジェクトはCUDA Driver API(バージョン13.2)の包括的なラッパーとして機能し、cuda.hをC#で1:1で表現します。CUDAコンテキスト、カーネル、デバイス変数をC#クラスとして抽象化しています。また、cuBLAS、cuFFT、cuRand、cuSolver、cuSparse、NPP、nvjpeg、nvJitLink、NVRTCなどの主要なCUDAライブラリのラッパーも含まれています。
対象ユーザー
C#エコシステムから離れることなく、NVIDIA GPUアクセラレーションおよびCUDAライブラリをアプリケーション内で活用したい.NET開発者。
特徴
- 包括的なライブラリサポート:cuBLAS、cuFFT、NVRTCなど、幅広いCUDAライブラリのラッパーを提供。
- 簡単なメモリ管理:
[]演算子によるデバイスメモリへの直接アクセスと、ホストとデバイス間のデータ転送をスムーズに行うための暗黙的変換演算子をサポート。 - クロスプラットフォーム:.NET Core >3.1向けのネイティブLinuxサポート、.NET Framework 4.8との互換性あり。
- グラフィックス相互運用:SlimDXおよびOpenTKを介してDirectXおよびOpenGLとのグラフィックス相互運用のラッパーを含む。
- 柔軟な型指定:
CudaDeviceVariableでユーザー定義の値型(構造体)をサポート。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch