タグ付けされた質問 「cuda」

1
2013年後半のCUDAとOpenCL
プログラマーの観点から、2013年後半のCUDAとOpenCLはどのように比較されますか?私のグループは、GPUコンピューティングを利用しようと考えています。OpenCLのみをサポートし、CUDAはサポートしないハードウェアを選択することにより、自分自身を大幅に制限することになるでしょうか? もう少し具体的に言うと、次の仮定は正しいですか? CUDAで可能なことはすべてOpenCLでも可能です ライブラリを使用していない限り、特定のタスクはどちらのライブラリでも実行するのがそれほど簡単ではありません(またはより困難ではありません) CUDAの主な利点は、ライブラリの可用性です どちらも3つのメインプラットフォーム(Win / OSX / Linux)をすべてサポートしています。
34 hpc  gpu  cuda  opencl 

3
GPUでの制約のない非線形最適化問題の解決
GPU(CUDA)で制約のない非線形最適化問題を解決しようとしています。 目的関数は滑らかな非線形関数であり、その勾配は分析的に計算するのに比較的安価であるため、数値近似に煩わされる必要はありません。 ほとんどの場合、さまざまな理由でfp32数学演算を使用してこの問題を解決したいので、どの非線形最適化方法が丸め誤差に対してより堅牢であり、パフォーマンスが優れていますか?(共役共役/準ニュートン/信頼領域など)、GPUでBFGSを試して良い結果を得た人はいますか ところで、必要に応じてヘッセ行列は、私の場合は比較的小さい(通常は64x64未満)が、これらの小規模な最適化問題の数千を同時に解決する必要がある。

1
陰的時間離散化を用いたcudaおよび数値解法
(時間の離散化のために)IMPLICIT形式の有限体積法によって偏微分方程式(PDE)のセットを解決するコードを移植したいと考えています。 その結果、ADI / TDMAスキームで処理されるx、y、z方向の3重対角方程式系があります。 CUDAを使用したPDEの暗黙的な解決策については、何も見つからないようです。 ADI / TDMAスキームはCUDAで実装できますか?2D熱拡散方程式のような例はどこかにありますか? 私が見つけることができるのは、有限差分であるがEXPLICIT形式(ケンブリッジ大学)の2D熱拡散方程式のCUDAサンプルコードだけです。 ヒント/リファレンスをいただければ幸いです。

3
GPUプログラミングの推力
私はGPGPUプログラミングに非常に慣れていないので、質問が特に適切でない場合はご容赦ください。私が理解していることから、GPUプログラミングは、通常のCPUプログラミングと比較すると、非常に複雑なエンジニアリング作業です。分岐の問題、タイリング、固定されたメモリ割り当て、およびホストとデバイスの通信/デバイスの計算のオーバーラップについては、非常に注意する必要があります。 少し調べたところ、C ++ STLを模倣しようとしているように見えるスラストライブラリが見つかりました。これはかなりいいです。ただし、私の非常に限られた経験と、優れたパフォーマンスを得るために必要なすべてのマイクロ管理を見てきたので、私はパフォーマンスについて少し懐疑的です。推力は、すべての複雑なプログラミング部分を内部で効率的に処理できますか?PETScなどのいくつかの非常に有名なライブラリは、このパッケージを使用しているようです。 低レベルのCUDAプログラミングと比較した場合、CUDAの経験が豊富で推力のある人がパッケージのパフォーマンスについて一言、または二言言うことができるかと思いました。いつ推力を使用できますか?いつCUDAに戻す必要がありますか?

1
Runge Kutta Fehlbergソルバーでエラーが発生するのはなぜですか?
私の現在のプロジェクトは、C ++での何千ものODEのソリューションを含むタンパク質フォールディングモデルの再プログラミングです。完全にGPUで実行するソルバーを作成しているので、私はいくつかの停止と開始を進めてきました。ようやく統合しましたが、固定ステップサイズh = .001のRKF45アルゴリズムの5次解を使用してdC / dt = -Cを解こうとすると、e ^ {-tの計算値から決定が得られます}は、10 ^ {-12}程度のグローバルエラーが予想される場合、10 ^ {-4}程度です。 これが発生しているのは、適応ステップサイズと4次と5次の両方のソリューションを使用したエラー制御を使用していないためですか?私の考えは、適応アルゴリズムは4次と5次の違いを推測し、基本的には5次を「正しい答え」として扱うため、その答えを使用してインテグレーターを試してみるというものでした。 編集: それ以来 グローバルエラー=(ポイント数)*(ローカルエラー) そして ローカルエラー= h ^ O ここで、hはステップサイズ、Oは次数です、私は計算します O = ln(グローバルエラー/ポイント数)/ ln h 私が正しいと思う方法と回答で提案された方法の両方で次数分析を行うと、次の結果が得られます。 Number of Points h Global Error My Way The Answer's Way 10 0.1 2.89E-06 6.539E+00 20 0.05 7.09E-08 6.495E+00 5.350E+00 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.