質問

自CPUであるクアッドコアなんと一部のグラフィック-カード現在では200以上のコア?感していますかGPUの現代グラフィック-カードできます。現在も使用できる非グラフィカル業務としても、私の意見の結果はまさに驚かされます。アルゴリズムを貸し出す自体も並列化できる可能性があることられたのがきっかけとなってい速いが、GPUコンピューティングできますのCPUを搭載しています。

ある技術のすべてのそれを可能にす:

1.) CUDA NVidia.その名も記載されています。●残念ながら、まだけに作用NVidiaビデオカード私はSDKをダウンロードしてきましたが、とっては、一部のサンプルがキャンセル期限るも行なわれているのCUDA.が、その限定カードNVidiaに思う。

2.) ストリーム によるATI.ATIの同等のCUDA.としてあなたが期待するかもしれないだけに作用すATIます。

3.) OpenCL のKhronos Groupとともにこの規格がまだ発展途上段階にある。できればおもしろいと思いOpenCLものです。いと期待されているかによってサポートされていますの最もビデオカードメーカーについてクロス-ビデオカード開発が容易になります。

その他の技術のための非グラフィカルGPUプログラミングはどの最初の出会いを約束?いんやないんだこれらの技術の建設が一部の主流開発の枠組みます。純でも容易になるでしょうか?

役に立ちましたか?

解決

していきたいと思い、この技術の普及が主流ですが、時間がかかります。私の推測では約5~10年です。

して正しく指摘されたように、大きな障害となる採用の技術の不足によって共図書館がほとんどのアダプタ-の両方のATI、nVidia.これまでは解決にかなりの程度の技術は、主流の動きをタイムリーかつ詳細にニッチの製造を現実のものとする特定のハードウェア.

としての統合であり、C#などの高レベルの管理言語-サンスタッフがXNAているカスタムシェーダー管理環境ミックスすることもでき、とても一定程度織り込んでいる。もちろん、シェーダーコードはまだいないクライアントまで、フルのC#とが大きな妨げとなっている。

の理由を高速に実行GPUコードでは、厳しい制限のコードでない利用して、VRAMの代わりに通常のアプリです。ことは困難であるとCPUコードとGPUコードです。を回避策が可能で、実質的に否定する性能。

この溶液がんであるが、サブ-言語(C#ることには限界が作成されるGPUコードは、厳格に規定されたムーズなコミュニケーションのususal C#コードです。しかし、こうすることが課せられているとしてよいかどうかについては、既にも快適なものを書く統語の砂糖および標準開しています。ただ、これも世離れます。

他のヒント

私はあなたのGPUを使用する別の方法として、次のDirectXを数えることができると思います。

私の経験から、GPUは並列化が容易なアルゴリズムのための非常に高速です。私は最近、100倍以上高速クワッドコアIntelプロセッサよりGPU(すら高い一端)になるようにCUDAにアルゴリズムをリサイズ特殊画像を最適化します。問題は、GPUにデータを取得した後、メインメモリに戻って結果をフェッチし、2未満GB / sで、そのマシン上のmemcpy()速度によって制限両方向。その結果、このアルゴリズムは、CPUのバージョンよりもわずかに速かった...

だから、本当に依存します。あなたはGPUの実装に使用すると、GPU上でのデータのほとんどを保つことができる科学的なアプリケーション、およびすべてのアルゴリズムマップを持っている場合は、罰金。他の私は、CPUとGPUの間に高速のパイプがありますまで待つ、またはのは、ATIが結合チップで自分の袖を持っているか見てみましょうだろう...

、使用する技術について:私はあなたがCUDA、OpenCLの(または他の言語)にポートを追加する手順で実行されている自分のものを持っていたら、それほど大きくはないと思います。あなたのアルゴリズムを並列化することにより、すべての重い仕事をし、残りはちょうど異なる「味」です。

モンテカルロあきれる平行であるが、それは、金融、科学計算の中核技術である。

回答者の一つは、最も現実世界の課題は、この種のタスクに簡単に分解していないことを言うのは少し間違っています。

多くtractible科学的調査はあきれる並列的に発現させることができるものを活用することによって行われます。

それが命名されたからといって、「あきれる」パラレルはそれが非常に重要な分野ではないという意味ではありません。

私は、いくつかの金融家で働いてきた、と私たちは1000の+モンテカルロエンジンの農場いくつかの大規模なNVidiaのCUDAのインストール用に(一緒に並んでブレードの多くのスタックを)捨てることができforsee - 大規模での電力と熱のコストを下げますデータセンターます。

一つの重要な建築の利点は、データを供給し、その結果を報告する必要がはるかに少ないマシンがあるとして多くの少ないネットワーク負荷は、もあるということです。

このような技術は、C#などの管理ランタイム言語より低い抽象化のレベルであるが、

基本的に、私たちは自分のプロセッサ上で独自のコードを実行するハードウェアデバイスについて話している。

の統合は、最初のコースのC APIと、私が期待するのMatlab、Mathematicaにして行わ一緒にする必要があります...

別の技術のためのGPUベー処理をGPUバージョンの既存の高レベルの計算書けます。あまり派手なかで重要な点はポータブルコードやプログラミング

例えば、AMDのストリーム2.0SDKバージョンのブラス(線形代数)の図書館の計算に用いています。このAPIは全く同じとしてはCPUのみの図書館が彼ら出荷年年なしに変更になる場合があrelinkingの応用を利用して、GPUとなります。

同様に、ダン-キャンベルでGTRIはCUDAの実施にVSIPL標準のための信号処理を行います。特に、信号-画像処理と共通のレーダシステムおよびそれを用いたもののような追加費用なしで利用可能です。) まことになる標準インタフェースやアプリケーションのために書かれていたVSIPLの実装その他のプロセッサできるだけ簡単に再コンパイルすのGPUの能力が適切です。

実際には、これらの日には、既に多くの高性能数値プログラムならないので自分の低レベルプログラミングが頼れる図書館です。インテルハードウェアの場合はやっている数延、一般的にハードを打つためのIntel mathライブラリ(MKLものでも実装します--を使ったときのメリットのすべてのベクトル命令による巧みな技で新しいx86プロセッサなくても、専門コードします。そういうものGpu思こととなるものの割合が大きくなっています。

と思いる技術は開発の汎用ライブラリ形式のコアビルブロックでの用途で特定の領域と捉えパーツのこれらのアルゴリズムで効率よくたくさGPUを最小限に抑えながら、量nonportable GPU特有のさんからのプログラマを交換してください。

(Bias免責事項:私の会社でも取り組んでCUDAポートのVSIPL++図書館、がんを傾けっこいかと思います!

また、異なる方向にするためにチェックできるものRapidMindしています。そのため、当初の目的のためのマルチコアCPUタイプのシステムもやって良い仕事の延長でGPU計算しています。

並列接続することができますほとんど何が恩恵を受けることができるかもしれません。より具体的な例としては、SETI @ homeは、折りたたみ@ホーム、および他の分散のプロジェクトだけでなく、科学技術計算になります。

多額の浮動小数点演算に依存している

特にもの。 GPUは浮動小数点演算で非常に高速である回路を専門にしているためです。これは、そのよう万能ではないことを意味、それはそれを行うん何で非常に良いことだ。

あなたはより多くの専用GPU処理を見たい場合は、チェックアウト NVIDIAのTeslaのGPU 。それはGPUだが、それは実際にはモニタ出力を持っていません!

私は、彼らが、まったくのグラフィックスカードを持っている場合ではない、誰もが、CUDAまたは類似の対応のグラフィックカードを持っているので、我々は、一般的なデスクトップ上の、または少なくともしばらくの間はあまりにも多くのGPUの処理が表示されます疑います。これは、プログラムがより平行にするためにも非常に困難です。ゲームはおそらく、この余分な電力を利用することができるが、それは非常に困難になりますし、すべてのグラフィックス計算がGPU上で、主にすでにあり、他の作業がCPU上にあるとするので、おそらく、あまり有用ではないだろう<全角>は命令セットのためにCPUになります。

GPU処理は、少なくともしばらくの間、浮動小数点計算の多くを必要とする非常に特定のニッチ市場のためになります。

で重要ということを考慮しておくものとされる課題に本質的にシリアルでの並列化がなければならな行く。

ももももの高速化のGPU実装にCPUの実施にあたっては、ほとんどない公平に比較です。本当なら、世体となり最初に過ごした時間を最適化し、並列のCPUの実装です。単一のインテルCore i7 965XE CPUを実現できる約70ギガflopsをdouble精度です。現在高に占めできる70-80ギガflopsをdouble精度で、約1000単精度。このように、スピードアップを図り15果が、亜碧(上海)商貿有限公司のCPUの実装です。

一つの重要な点に注意とGPUコンピューティングでは現在、"小する。とスーパーコンピューティング施設を運営すること並列化アルゴリズムに数百人も何千人ものCPUコアを用いた一方、GPUクラスターそれぞれのページで約8Gpuに接続されます。もちろん、これらの機械を組み合わせることができ、この追加追加の複雑性としてのデータなければならないパス間のコンピュータにもとGpu.また、いかなるMPIに相当すプロセスに透明な規模で複数のGpuを複数機この手作業で実施され組み合わせMPI).

ほからこの問題の規模、その他の主要な制限のGpuのための並列コンピューティングとは、厳しい制限のメモリアクセスパターンランダムメモリアクセスが可能ですが、計画的にメモリアクセスに多くの倍くなります。

おそらく最も有望今後の課題は、インテルのLarrabee.でかなり良へのアクセスCPUシステムメモリ、および、おそらく最も重要なことは、キャッシュ.こうでなくアルゴリズムことができないの巨大メモリ帯域は現在のGpuが、遅れの競争のためのアルゴリズムの適用広帯域です。

現行世代のハードウェアとソフトウェアが必要な開発者の努力に性能が最適化されます。ここのような再構築アルゴリズムを有効に利用するためには,GPU搭載。でも必要であると考え実験を異なるアプローチをするわけです。

また、取得しなければならない最適な性能が必要な正の利用並列計算のハードウェアの違いナイーブの実装と最適化を実施できる桁ます。これは最適化されたCPU impelemntationれていたものよりナイーブのGPU実装されます。

人々が活動しています。純のバインディングのためのCUDA.見 こちらの.しかしながら、必要性の低レベルならないと思いGPUコンピューティングでの質量ます。

私は何を今日を回しについての話の多くを聞いたことがあるが、のいずれかのの行列の数学の問題ではなく、だけでグラフィックス処理で使用するために、より汎用的な「配列proceesor単位」へのGPUのです。私はずっとまだかかわらず、それを見ていない来ています。

理論は、アレイプロセッサは、おおよそ浮動小数点プロセッサは、数十年前のカップルに従っていることと同じ軌跡をたどるかもしれませんでした。もともと浮動小数点プロセッサは、高価なアドオンPCのためのオプションの人々のないたくさん購入する気にすることをしました。結局、彼らはCPU自体の中に入れたように不可欠となっています。

私は与えた答えを繰り返します。

長期私は、汎用プロセッサは、これらの機能を引き継ぐために進化するようGPUは、存在しなくなると思います。 インテルのララビーには、最初のステップです。歴史は、x86に対して賭けることは悪い考えであることを示しています。

(マイクロソフトリサーチのために働く)

GHC(ハスケル)の研究者は、汎用プログラミング言語に直接ネストされたデータの並列のサポートを追加しています。アイデアはまだかかわらず(シングルCPU代替またはシリアル)に並列にコードを実行するランタイムの、言語のネイティブ型としてデータの並列アレイを露出バックエンドに複数のコア及び/又はGPUのを使用することです。

http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskellする

今後数年間で、このの成功によって、私は他の言語(C#、具体的には)より多くの主流の聴衆に能力のこれらの種類を持って来ることができるという考え、上拾う見ることを期待します。おそらく、その時によってCPU-GPUの帯域幅およびドライバの問題が解決されます。

GPU技術の大きな問題は、あなたがにデータを取得し、そこに計算機能の多くを持っている一方で(とそれのうち)(パフォーマンス的に)ひどいということです。そして、任意の比較ベンチマークを慎重に見て...彼らは多くの場合、GPUにシングルプロセッサシステム上で(最小限の最適化、なしベクトルを持つ)のgccを比較します。

GPUの持つもう一つの大きな問題は、慎重にデータの編成方法について考えていない場合、あなたは(GPUに)内部的にヒット本当のパフォーマンスを被るということです。これは、多くの場合、ゴミの山に複雑非常に簡単なコードを書き直す必要ます。

私はこの技術について非常に興奮しています。しかし、私はこれが唯一の大規模な並列タスク、帯域幅の1の本当の挑戦を悪化させるだろうと思います。複数のコアを追加するだけでメモリの競合が増加します。 OpenCLのと他のGPGPU抽象化ライブラリは、それを改善するための任意のツールを提供していません。

任意の高性能コンピューティング・ハードウェア・プラットフォームは、通常、スループット、遅延、キャッシュとコストのバランスをとる、慎重にハードウェアに計画された帯域幅の問題で設計されます。限り汎用ハードウェア、CPUとGPUの者として、唯一の自分のローカルメモリに最適化された帯域幅で、それを必要とするアルゴリズムのためにこれを改善することは非常に難しいだろう、互いの分離に設計されています。

ここでたくさん述べたようにGPUは、データレベルの並列状況で非常にハイパフォーマンスの数値を達成できること

その真。私はそれを見るように。しかし、今、ユーザー空間で、それへの多くの使用はありません。 私はこのすべてGPGPUの宣伝だけで新たな市場を見つけたいと自社製品に使用するGPUメーカー、から来ていることを感じて助け傾けます。し、[OK]をabsolutellyのthats。 、単にデータレベルparalelismのcapabiltiesを高めるために - あなたは今まで疑問に思っているなぜインテル/ AMDのdidntは(4つのx86コアと64のミニのx86コアを搭載したモデルを言うことができます)標準的なものに加えて、いくつかのミニのx86コアを含みますか?望んでいたなら、彼らは間違いなく、それを行うことができます。私の推測では、業界では普通のデスクトップ/サーバー・マシンの処理能力のようなものを必要といけないということです。

彼らが今しているようGPUはやなどの人気残らない場合がありますが、基本的な考え方は、高電力処理にかなり一般的なアプローチになってきています。今まで来ている一つの傾向は、大規模な浮動小数点ジョブでCPUを支援するために外部の「アクセル」です。 GPUは、加速器のただ一つのタイプである。

インテルは<のhref = "http://www.intel.com/content/www/us/en/architecture-and-technology/many-integrated-core/intel-many-と呼ばれる新しい促進剤を放出されます集積コアarchitecture.html」のrel = 『』 nofollowを>彼らはHPC促進剤としてGPUに挑戦することができます望んでいるのXeonファイに、。一般的なタスクを実行するための一つのメインCPUを備え、同様のアプローチを取っの Cellプロセッサ、そしていくつかの印象的なスピードを実現し、他のいくつかの処理要素への集中的なタスクを計算オフロードます。

一般的にアクセラレータは、現時点で興味があるように見えるので、彼らは、少なくともしばらくの間、前後になるはずです。か否かをGPUは、事実上、アクセルが見られることを残るように残る。

GPUはCPUをより高速であることをご認識はPS3、NVIDIAとATIハードウェアの同類に適用されるいくつかのembarassingly並列アプリケーションで作成された誤解に基づいています。

http://en.wikipedia.org/wiki/Embarrassingly_parallelする

ほとんどの現実世界の課題は、この種のタスクに簡単に分解可能ではありません。デスクトップCPUは、機能セットとパフォーマンスの観点の両方からの挑戦のこのタイプのために道適しています。

私は、CPUがために使用されるのと同じものを期待して?

私は、これは私には仕掛けのように思えるわけ。私はそれが技術に来るが、GPUの主な機能は、グラフィックスのレンダリングで、CPUの主な機能は、他のすべての処理であるとき、「それはどこにも行かないです」と言うのをためらいます。 GPUは、他に何も持つことは、単に奇抜ようです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top