問題タブ [opencl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
concurrency - 並行プログラミングに関する本が常にデータ並列処理を無視するのはなぜですか?
ここ数年で、OpenCL や CUDA などのシステムを介したデータ並列プログラミングへの大きな変化がありましたが、過去 6 か月以内に出版された書籍でも、データ並列プログラミングのトピックについて言及することはありません。
すべての問題に適しているわけではありませんが、対処されていない大きなギャップがあるようです。
c++ - OpenCLを使用するには、どのような種類のアプリケーションを書き直す必要がありますか?
Mac OS X 10.6にはOpenCLが付属していますが、OpenCLを使用するように書き直した場合、パフォーマンスが向上するアプリケーションはいくつありますか?OpenCLを使用するには、どのような種類のアプリケーションを書き直す必要がありますか?
delphi - Delphi を使用して GPGPU テクノロジを活用していますか?
GPGPU は、ビデオ カードで並列プロセッサを使用してパフォーマンスを大幅に向上させるという原則です。
OpenCL または CUDA のいずれかを使用して、Delphi で GPGPU を使用することについて何か考えがある人はいますか? CUDA は以前は NVidia のみでしたが、OpenCL の「標準」も採用しています。
Google 検索からいくつかの Delphi サンプルを見つけましたが、クラッシュするか、コンパイル/実行されません。
最終的な指示のサンプルは次のようになります。
- ここから OpenCL DLL をダウンロードしてインストールします。
- ここから OpenCL SDK をダウンロードします。
- このサンプル Delphi プロジェクトをここからダウンロードします。
- Delphi プロジェクトを開いてコンパイルします。すべてが計画どおりに進めば、「やるべきことは何でも」実行する
その段階で、OpenCL SDK の調査と、任意の Delphi アプリから呼び出す DLL の作成とコンパイルを開始できます。
この種のものは本当に離陸し始めています。Embarcadero は、この段階で自分で何もする必要はありませんが (希望しない限り)、Delphi のチュートリアルとサンプルが利用可能であれば、それは素晴らしいことです。他の言語用の多くのサンプルを利用できますが、GPGPU アプリで Delphi を使用することがいかに簡単かを示すために、優れた単純な Delphi の例も必要です。
optimization - OpenCLテクスチャメモリ
私はOpenCLにかなり慣れていないので、ご容赦ください。
コードの最初の反復では、大規模なデータセットに基本的なメモリバッファーを使用し、それらをグローバルとして宣言しました。しかし、タイミングを改善しようとしているので、これにはテクスチャメモリを使用したいと思いました。CUDAバージョンでは、cudaBindTextureとtex1Dfetchを使用して、大きな1Dフロート配列のデータを取得します。私の仕様の理解からすると、テクスチャメモリは画像メモリと同じものです。ただし、最大の高さと幅を持つ2Dおよび3Dの画像オブジェクトしかないため、いくつかの問題が発生します。配列が最大の高さ/幅よりも大きいが、最大の高さ*最大の幅ではない。1D配列を2Dに変換する必要がありますか?それともそれを行うためのより良い方法はありますか?
それとも私は完全にオフですか?
http://forums.nvidia.com/index.php?showtopic=151743とhttp://forums.nvidia.com/index.php?showtopic=150454を読みましたが、テクスチャメモリかどうかについては正確には決定的ではありませんでした。ベストプラクティスとプログラミングガイドで言及されているのは、実際には画像オブジェクトでした。
ありがとう、そしてどんな助け/提案も大歓迎です!
macos - MacにリモートでログインしたときにGPUでOpenCLをテストするにはどうすればよいですか?
OpenCLプログラムは、コンソールにログインしているときはGPUデバイスを見つけることができますが、sshを使用してリモートでログインしているときは見つけることができません。さらに、sshセッションでrootとしてプログラムを実行すると、プログラムはGPUを見つけることができます。
コンピューターは、GeForce9400GPUを搭載したSnowLeopardMacです。
コンソールから、またはルートとしてプログラム(以下を参照)を実行すると、出力は次のようになります(「GeForce9400」行に注意してください)。
しかし、それが私だけの場合、sshを介して、GeForce9400エントリはありません。
ルートでなくてもGPUでコードをテストしたいと思います。それは可能ですか?以下の簡略化されたGPU検索プログラム:
編集:私はnvidiaのフォーラムで尋ねられているのと本質的に同じ質問を見つけました。残念ながら、唯一の答えは「これは間違ったフォーラムです」という形式でした。
opencl - OpenCL でローカル メモリを使用すると奇妙な動作が発生する
現在、NVIDIA Tesla C1060 (ドライバー バージョン 195.17) で OpenCL を訴えるプロジェクトに取り組んでいます。しかし、私は本当に説明できない奇妙な振る舞いをしています。これが私を困惑させるコードです(明確さとテスト目的のために縮小されています):
このコードは、各ワークグループのオフセットをローカル メモリにロードし、それを読み戻して、対応する outputvector エントリに書き込む必要があります。ほとんどのワークアイテムではこれは機能していますが、各ワークグループでは、ローカル ID が 1 から 31 のワークアイテムが誤った値を読み取ります。私の出力ベクトル (workgroupsize=128 の場合) は次のとおりです。
私が期待した出力は
奇妙なことに、この問題は、itemcount 未満の作業項目を使用した場合にのみ発生します (そのため、globalsize>=itemcount の場合、すべての作業項目が 1 つのエントリのみを処理することを意味し、期待どおりに動作します)。だから私はそれがループと関係があると推測しています。私が間違っていることと、それを修正する方法を誰かが知っていますか?
更新:変更するとうまくいくようだということがわかりました
に
これにはさらに驚かされるので、問題は解決するかもしれませんが、この方法で修正するのは気が進まない (別の機会に壊れる可能性があるため)。さらに、Geforce 8xxx クラスのハードウェアで実行しているときに、追加の (私が理解している限り、そのハードウェアでは統合されていない) メモリ アクセスが原因でパフォーマンスが低下することは避けたいと考えています。ですから、疑問はまだ残っています。
driver - 開発者以外のマシンに配布するアプリケーションで openCL を使用できますか?
最近、openCL を使用してコードの一部を高速化する方法を学び始めました。これまでのところ、速度の向上は印象的です。あるケースでは、コードは CPU よりも最大 50 倍速く実行されました。ただし、このコードを本番環境で使用できるかどうかは疑問です。その理由は、サンプル コードを初めて実行しようとしたときに、何も機能しなかったためです。Nvidia openCL SDK ダウンロード ページ (私は Geforce GTX260 を持っています) でドライバーをダウンロードすることで、それを実行することができました。インストール中にブルーになりましたが、その後、サンプル プログラムを実行して独自のコードを作成することができました。
私にとって「箱から出して」動作しなかったという事実は、ドライバーのダウンロードページで具体的に書かれているという事実にもかかわらず、主流のドライバーがまだそれをサポートしていないことを意味しますか? ATI のサポートはどうですか? インストール時にブルー スクリーンが表示された特別なドライバーを全員がダウンロードする必要がありますか?
要するに、openCL は製品コードの準備ができていますか?
誰かが私に詳細を教えてくれるなら、知りたいです。SDK関連のものを何もインストールせずに、多くの異なるデバイスで簡単なプログラムを実行できた人はいますか?
opencl - OpenCLのデバッガー
私はOpenCLに取り組んでいます。OpenCLコードにステップインしてトレースできるように、OpenCL用の優れたデバッガーを知っている人はいますか?
types - OpenCL カーネルのカスタム型
gmp 型 (mpz_t、mpq_t、…) のようなカスタム型を OpenCL カーネルで使用することは可能ですか?
このようなものを作成するには (このカーネルは という理由だけでビルドされません#include <gmp.h>) :
おそらく、 ?の 4 番目のパラメーター ( options ) に異なる引数を追加することによってclBuildProgram
または、OpenCL には既に大きな数を処理できる型がありますか?