私が引き受ける予定のプロジェクトについて助言が必要です。 CUDA 4.0を使用しているマルチGPUノードでは、単純なカーネルを実行する予定です(まだ決定していませんが、恥ずかしそうに並行しているカーネルで実行しています)。 CUDAがマルチGPU環境で提供するさまざまな戦略でカーネルを起動することによって、ノードのプロファイルを作成することを目的としています。CUDAを使用したマルチGPUプログラミング戦略
- 単一のホスト・スレッド - 複数のデバイス(共有コンテキスト)
- 単一のホスト・スレッド - 複数のデバイス(独立したコンテキスト(イコール) - 単一のデバイス(共有コンテキスト)
- 複数のホスト・スレッド上のカーネルの同時実行)
- シングルホストスレッド - 1つのデバイス上でシーケンシャルカーネル実行
- 複数のホストスレッド - 1つのデバイス上のカーネルの同時実行(独立したコンテキスト)
- 複数のホストのスレッド - 1つのデバイス上のカーネルの順次実行(独立したコンテキスト)
私はどのカテゴリも欠けていますか?私が選んだテストカテゴリとマルチGPUプログラミングに関する一般的なアドバイスについてのあなたの意見は歓迎します。
おかげで、
サヤン
EDIT:
は、私はそれを修正、以前の分類は、いくつかの冗長性を関与することを考えました。
このアプローチではできるだけデータを共有していないため、並列性を最大限に高めることができるため、「複数のホストスレッド - (Equal)複数のデバイス、独立したコンテキスト」を使用します。しかし、私はGPGPUをしませんので、それは単なる一般的な観察です。 –