[解決済み] NVIDIAとAMDの比較:GPGPUパフォーマンス
質問
両方のコーディングの経験がある方にお聞きしたいです。私自身は、NVIDIA での経験しかありません。
NVIDIA CUDA は、競合他社よりもずっと人気があるようです。(このフォーラムの質問タグを数えただけで、「cuda」は「opencl」を 3:1 上回り、「nvidia」は「ati」を 15:1 上回り、「ati-stream」のタグはまったくありません)。
一方、Wikipedia によると、ATI/AMD カードは、特にドルあたりで、より多くの可能性を持っているはずです。今日現在、市場で最速の NVIDIA カードである GeForce 580 ($500) は、1.6 単精度 TFlops と評価されています。AMD Radeon 6970は370ドルで手に入り、2.7TFlopsと評価されている。580は、772MHzで512の実行ユニットを持つ。6970は、880MHzで1536の実行ユニットを備えています。
NVIDIA に対する AMD のその紙の優位性はどの程度現実的で、ほとんどの GPGPU タスクで実現できそうですか? 整数型タスクではどうなるのでしょうか。
どのように解決するのですか?
比喩的に言えば、ati は nvidia と比較して良いエンジンを持っています。 しかし、nvidia はより良い車を持っています。
これは、nvidia が科学計算で必要な重要なライブラリ (BLAS、FFT) を開発するためにかなりのリソース (お金と人) を投資し、それを普及させるためにまた良い仕事をしたことが主な理由です。これが、CUDA が ati (または OpenCL) と比較してこちらのタグを支配している理由かもしれません。
一般的に GPGPU タスクで実現される利点については、メモリ転送帯域幅、優れたコンパイラー、そしておそらくドライバーなど、(アプリケーションに依存する)他の問題にも依存することになります。
EDIT 2013年1月12日
この投稿をしてから2年が経ちますが、いまだに時々閲覧者を集めているようです。そこで、私はいくつかのことを明らかにすることにしました。
- AMD は彼らのゲームをステップアップしました。現在では BLAS と FFT ライブラリの両方があります。また、多数のサード パーティ ライブラリも OpenCL の周辺に出現しています。
- Intel は、OpenMP と OpenCL の両方をサポートする Xeon Phi を発表しました。また、既存の x86 コードを使用する能力もあります。 コメントにあるように、今のところ SSE を使用しない限定的な x86 です。
- NVIDIA と CUDA は、利用可能なライブラリの範囲ではまだ優位に立っています。しかし、彼らは以前ほどには OpenCL に注力していないかもしれません。
要するに、OpenCL は過去 2 年間でその差を縮めたということです。この分野には新しいプレーヤーがいます。しかし、CUDA はまだ少し先を行っています。
関連
-
CUDAドライバのバージョンが、CUDAランタイムのバージョンに対して不足している問題
-
cudaMallocとcudaMallocPitchの秘密を教えます。
-
MatlabからCUDAへの呼び出しの概要(Windows, Ubuntu)
-
CUDA プログラミングのエラー処理
-
cudaMemcpyとcudaMemcpyAsyncの違い
-
[解決済み] AMD GPU上でCUDAを動作させることは可能ですか?
-
CUDA (V) deviceQueryを使ったGPUのプロパティ
-
[解決済み】DockerコンテナからGPUを使用する?
-
[解決済み] nvccとNVIDIA-smiが示す異なるCUDAのバージョン
-
[解決済み] CUDAのグリッド寸法、ブロック寸法、スレッド構成を理解する(簡単な説明)【終了しました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
CUDAドライバのバージョンが、CUDAランタイムのバージョンに対して不足している問題
-
cudaMallocとcudaMallocPitchの秘密を教えます。
-
MatlabからCUDAへの呼び出しの概要(Windows, Ubuntu)
-
CUDAアトミック操作
-
CUDA プログラミングのエラー処理
-
[解決済み] CUDAバージョンの取得方法を教えてください。
-
CUDA (V) deviceQueryを使ったGPUのプロパティ
-
[解決済み】DockerコンテナからGPUを使用する?
-
[解決済み] nvccとNVIDIA-smiが示す異なるCUDAのバージョン
-
[解決済み] グローバル機能とデバイス機能の違い