問題タブ [gpgpu]
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.
.net-4.0 - .net 4.0のparallel-forはGPUコンピューティングの特権を自動的に取得しますか?
.net 4.0のparallel-forはGPUコンピューティングの特権を自動的に取得しますか?または、GPUを使用するようにいくつかのドライバーで構成する必要があります。
cuda - Cuda 最適化手法
NP-Complete の問題を解決するために CUDA コードを作成しましたが、パフォーマンスは思ったほどではありませんでした。
「いくつかの」最適化手法について知っています(共有メモリ、テクスチャ、ゼロコピーを使用...)
CUDA プログラマーが知っておくべき最も重要な最適化手法は何ですか?
matrix - グローバル ワーク サイズは OpenCL のワーク グループ サイズの倍数である必要がありますか?
こんにちは: グローバル ワーク サイズ (ディメンション) は、OpenCL のワーク グループ サイズ (ディメンション) の倍数である必要がありますか?
もしそうなら、作業グループの次元の倍数ではなく、マトリックスを処理する標準的な方法はありますか? 次の 2 つの可能性が考えられます。
作業グループ ディメンションのサイズをグローバル作業ディメンションの係数に動的に設定します。(これにより、要素を見つけるオーバーヘッドが発生し、ワーク グループが最適でないサイズに設定される可能性があります。)
グローバル作業の次元を作業グループの次元の最も近い倍数に増やし、すべての入力および出力バッファーを同じに保ちますが、セグメンテーション違反を回避するためにカーネルの境界をチェックします。つまり、目的の出力の境界外の作業項目に対しては何もしません。 . (これはより良い方法のようです。)
2番目の方法は機能しますか?より良い方法はありますか?(または、作業グループのディメンションはグローバルな作業ディメンションを分割する必要がないため、必要ないのでしょうか?)
ありがとう!
frameworks - CUDAおよびOpenCLの前のGPGPU
私はCUDAとOpenCLについて読んでいて、これらのフレームワークが登場する前は、開発者はOPENGLやD3Dなどの低レベルのAPIしか使用できなかったことを学びました。残念ながら、私はそれについて多くの情報を見つけることができませんでした。
それは広く普及した、または商業的な慣行でしたか、それとも彼らが研究室や軍事研究所で使用したものでしたか?ここの誰かが以前のGPGPUプログラミングの経験があると確信しています。
cuda - How can I programmatically determine a GPU's memory bus width and clock rate?
How can I programmatically determine a GPU's memory bus width and memory clock rate? I want to use these numbers to compute the maximum theoretical memory bandwidth. I'm mostly interested in NVIDIA GPUs.
opencl - CPU と GPU で同時に実行するために OpenCL カーネルをスパンすることが可能
マルチコア プロセッサと GPU を搭載したコンピュータを使用しているとします。プラットフォームのすべてのコアで実行される OpenCL プログラムを作成したいと考えています。これは可能ですか、それともカーネルを実行する単一のデバイスを選択する必要がありますか?
string - GPU の文字列の配列を並べ替えるアルゴリズムはありますか?
並べ替える配列には約 100 万個の文字列があり、各文字列の長さは最大 100 万文字です。
GPU の並べ替えアルゴリズムの実装を探しています。
サイズが約 1MB のデータ ブロックがあり、サフィックス arrayを構築する必要があります。これで、非常に少量のメモリ内に 100 万個の文字列を格納できることがわかりました。
php - WAMPを介したGPGPUプログラムの実行
特定の計算を実行するためにGPUを使用するプログラムがあります。コマンドラインを使用してプログラムを正しく実行することができます。しかし、PHPを介して同じステートメントを実行しようとすると、問題が発生します。
私はwamp2.0を使用しており、exec関数とproc_open関数を使用してプログラムを実行しようとしましたが、プロセスが正しく開始されていても、GPU部分に関しては、プログラム自体でエラーが発生します。シェーダーはハードウェアでサポートされていません。」プログラムは、使用されているグラフィックカードの種類も最初に検出しますが、これも発生していません。
明確にするために、私はGPUプログラムを作成していません。また、同じステートメントをコマンドラインから直接実行できますが、phpを介して実行することはできません。直接ではなくphpからコマンドを実行することの違いは何ですか?
NVIDIAGT8600グラフィックカードを使用しています。どんな助けでも素晴らしいでしょう。
プログラムでは、glGetString(GL_VENDOR)を使用してグラフィックカードベンダーをチェックすると、NVIDIAではなくMicrosoftCorporationを取得します。これがすべての問題を引き起こしていますが、phpから実行した場合にのみ問題が発生する理由はまだわかりません。
また、コマンドラインからスタンドアロンでphpスクリプトを実行しようとしましたが、この場合、グラフィックカードが正しく検出され、すべてが正常に機能します。ブラウザを使用した場合にのみ機能しません。
c - CUDA __global__ 関数からヘッダー ファイル内の「関数のようなマクロ」を呼び出すことはできますか?
これは私のヘッダーファイルの一部ですaes_locl.h
:
ファイルから関数.cu
を宣言し、__ global__
次のようなヘッダー ファイルをインクルードしました。
これにより、次のエラーメッセージが表示されます。
エラー: __ device__/__ global__ 関数からのホスト関数の呼び出しは、デバイス エミュレーション モードでのみ許可されます
プログラマーがその方法でマクロを正確に呼び出すサンプル コードがあります。
このように呼び出すことはできますか、それともまったく不可能ですか? そうでない場合は、マクロを書き直して目的の値を に割り当てる最善の方法についてのヒントをいただければ幸いS0
です。
事前にどうもありがとうございました!!!
opengl - DirectX/Cuda/OpenGL による合計/テクスチャ アクセス可能なメモリ
DirectX のコンテキストで使用されるテクスチャ メモリとは対照的に、Cuda のコンテキストで使用されるテクスチャ メモリの違いを説明してください。グラフィックス カードに 512 MB のアドバタイズ メモリがあるとします。定数メモリ/テクスチャ メモリとグローバル メモリにどのように分割されますか。
たとえば、totalConstMem が 64KB、totalGlobalMem が 4GB の tesla カードを cudaGetDeviceProperties でクエリしたところ、必要なテクスチャ メモリの量を示す変数がありません。
また、DirectX などのグラフィックス API 経由でアクセスした場合の「テクスチャ メモリ」はどれくらいですか。私はこれらの API でプログラミングした経験がないので、どのようなメモリにどのようにアクセスできるのかわかりません。しかし、私の知る限り、すべてのメモリへのアクセスはハードウェアキャッシュです。私が間違っている場合は、私を修正してください。
KoppeKTop の回答の後:CUDA と DirectX の両方の場合、共有メモリはテクスチャ メモリの自動キャッシュとして機能しますか? とにかく、別のハードウェアキャッシュを持つことは意味がないと思います。また、カーネルで共有メモリ全体を使用している場合、テクスチャ メモリがキャッシュされないということですか?
ありがとう。