このプロジェクトについて
NVIDIA CUDAサンプルは、CUDAツールキットの機能と能力を示す公式のサンプルプログラムリポジトリです。これらのサンプルは、NVIDIA GPUを扱う開発者向けの教育・参照資料として機能し、基本的なCUDAの概念から高度なGPUプログラミング技術まで幅広いトピックをカバーしています。
リポジトリは、C++サンプルとPythonサンプルの2つの主要セクションに編成されています。C++サンプルは10のグループに分類されます:導入(基本的なCUDA概念とランタイムAPI)、ユーティリティ(デバイス機能のクエリと帯域幅の測定)、概念と技術(一般的な問題解決アプローチ)、CUDA機能(Cooperative Groups、Dynamic Parallelism、CUDA Graphs)、CUDAライブラリ(NPP、NVJPEG、cuBLAS、cuFFT、cuSPARSE、cuSOLVER、cuRAND)、ドメイン固有(グラフィックス、金融、画像処理)、パフォーマンス(最適化技術)、libNVVM(NVVM IRの使用)、プラットフォーム固有(Tegra、cuDLA、NvMedia、NvSci、OpenGL ES)、およびCUDA Tile(CUDA Tile C++)。
Pythonサンプルは、デバイス、プログラム、起動、メモリ管理にcuda.coreを備えたCUDA Pythonを使用し、NumPy、CuPy、またはフレームワークの相互運用を併用します。これらは、はじめに、コアコンセプト、フレームワーク相互運用(PyTorchとTensorFlow)、分散コンピューティング、ユーティリティに分類されています。
ビルドシステムはCMakeを使用し、Linux、Windows、Tegraクロスコンパイル、QNX、QNX Safetyプラットフォームをサポートしています。サンプルは、サポートされているすべてのGPUアーキテクチャ向け、または特定のアーキテクチャ向けにビルドできます。リポジトリには、すべてのサンプルを健全性チェックとして実行できるテストランナースクリプト(run_tests.py)が含まれており、設定可能な引数、並列実行、グラフィカル表示が必要なサンプルのスキップオプションを備えています。
一部のサンプルには、FreeImage、MPI、DirectX、DirectX 12などのサードパーティ依存関係があります。インストールシステムは、ビルドされたサンプルを、ターゲットアーキテクチャ、OS、ビルドタイプに基づいて構造化されたディレクトリレイアウトに整理します。サンプルはCUDAの検証スイートを意図しておらず、GPUプログラミングパターンと技術の実践的なデモンストレーションとして機能します。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.