問題タブ [multi-gpu]

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.

0 投票する
1 に答える
438 参照

cuda - GPUDirect 2.0 P2P 経由のリモート GPU-RAM で CUDA アトミック操作を使用できますか?

たとえば、グローバル メモリ (GPU-RAM) で CUDA アトミック操作、、... を使用できatomicAdd(ptr, val)ますatomicCAS(ptr, old, new)。CUDA 6.5 を使用。

しかし、これらのアトミック操作をGPUDirect 2.0 P2P経由でリモート グローバル メモリに使用できますか?

0 投票する
1 に答える
1557 参照

ubuntu - OpenCL 開発のための Ubuntu 14.04、64 ビットでの Nvidia* および* AMD GPU の使用

AMD と NVidia GPU を同じ Ubuntu 14.04 PC 内で実行して、両方で並列 OpenCL 開発を行おうとしています。Ubuntu 12.04 とここここで提供される情報を使用してこれを達成しました。残念ながら、私が当時行ったことはもう機能しません (実行中のシステムを決して変更しないでください...)。

私の質問は、誰かがこれを達成したかどうか、もしそうならどのように達成したかです。この問題に関する情報は非常に少ないです。問題は、両方を同時にインストールしようとすると、両方のライブラリとドライバーが衝突することです-個別に正常に動作します。package-dependency-hell になってしまうパッケージからのインストールと、両方からのバイナリ ドライバー インストーラーの使用は機能しませんでした。

私は基礎となる OpenCL の実装にあまり詳しくないので、少し「頭がいっぱい」です。

誰かが私を正しい方向に向けてくれることを願っています。システムは Ubuntu 14.04、64 ビットで、GPU は Geforce GTX 760 と Radeon HD 7970 です。

よろしくお願いします!

0 投票する
1 に答える
1235 参照

cuda - オンボード iGPU と Nvidia ディスクリート カードの両方を使用しようとすると、CUDA が失敗します。個別の nvidia と統合 (オンボード) インテル GPU の両方を使用するにはどうすればよいですか?

最近、PC (ivybridge) がオンボード GPU (intel igpu HD4000) を使用して通常の画面表示を使用する際に問題が発生しましたが、マシンにある個別の Nvidia GT 640 で計算用にCUDAプログラムを実行しています。問題は、iGPU ディスプレイでは、CUDA が nvidia カードを検出できず、nvidia ドライバーがまったくロードされないことでした。

ディスプレイ デバイスに nvidia Windows ドライバーを使用し、CUDA を使用する場合、確認済みの問題 (主に同時実行性に関する) があることに注意してください。 これらの問題は、Intel GPU をディスプレイとして使用すると (したがって、上記の Nvidia ドライバーの最小限の部分のみを読み込むと) 上書きされる可能性があり、多くの場合、Linux ディストリビューションの nvidia ドライバーには存在しません。

virtu mvp のような悪いソフトウェアで多くのトラブルに巻き込まれた後、私は解決策が本当にシンプルであることに気付きましたが、どこにも見つかりませんでした。

役立つことを願ってここに投稿します。一部のPC構成で失敗した場合でも、回答をより完全にするためにコメントを投稿してください。これにより、より幅広いシナリオの指示を明確にすることができます.

0 投票する
1 に答える
972 参照

multithreading - 異なるスレッドが異なる GPU を現在の CUDA デバイスとして設定できますか?

たとえば、2 つの GPU と 2 つのホスト スレッドがあります。multigpu PCが遠いので確認できません。最初のホスト スレッドを最初の GPU で動作させ、2 番目のホスト スレッドを 2 番目の GPU で動作させたいと考えています。すべてのホスト スレッドは、多くの cublas 呼び出しで構成されています。cudaSetDevice() 呼び出しによって、最初のホスト スレッドから最初の GPU を選択し、2 番目のホスト スレッドから 2 番目の GPU を選択することは可能ですか?

たとえば、2 番目のホスト スレッドには を呼び出しcudaSetDevice(1)、最初のスレッドには を呼び出しますcudaSetDevice(0)

0 投票する
2 に答える
1395 参照

c++ - マルチ GPU マシンで CUDA プログラムの複数のインスタンスを実行することは可能ですか?

バックグラウンド:

一連のシンボルを処理する CUDA プログラムを作成しました。プログラムは、すべてのシーケンスが同じ長さであるという規定に従って、シンボルのすべてのシーケンスを並行して処理します。データをグループに分類しています。各グループは完全に同じ長さのシーケンスで構成されています。プログラムは一度に 1 つのグループを処理します。

質問:

4 つの GPU を搭載した Linux マシンでコードを実行しており、プログラムの 4 つのインスタンス (GPU ごとに 1 つ) を実行して 4 つの GPU すべてを利用したいと考えています。別の CUDA アプリケーションで使用されていない GPU をプログラムで選択して実行することは可能ですか? GPU の数が多い、または少ない別のハードウェアでプログラムを実行したときに、後で問題を引き起こす可能性のあるものをハードコーディングしたくありません。

0 投票する
1 に答える
693 参照

c - マルチ GPU システムで CUDA を使用して 1D 配列を反復処理する

ここ数か月、並列プログラミングについて勉強してきましたが、今は自分のアプリケーションをマルチ GPU プラットフォームに適応させようとしています。問題は、複数の GPU を使用して配列を反復処理する方法をまだよく理解していないことです。

メイン配列を小さなサブ配列に分割し、それぞれを各 GPU に送信する必要がありますか、または配列のフラグメントで各 GPU を反復させる方法がありますか? このアプリケーションのシリアルおよびシングル GPU バージョンが動作しており、さまざまな方法を使用してこの問題を解決し、マルチ GPU に適応させようとしましたが、いずれも以前の 2 つのバージョンと同じ結果を返しません。これ以上何ができるかわからないので、マルチ GPU システムで配列を反復処理する方法を理解していないというのが私の結論です。誰か助けてくれませんか?

私のコードは N 回の反復を実行し、各反復で (グリッドを表す) 配列の各値を調べて、新しい値を計算します。

これは、私のコードが現在どのように見えるかのスケッチです。

前もって感謝します。

0 投票する
2 に答える
1577 参照

cuda - CUDA ストリームはデバイスに関連付けられていますか? また、ストリームのデバイスを取得するにはどうすればよいですか?

誰かが私に渡したCUDAストリームがあります-cudaStream_t値。CUDA ランタイム APIは、このストリームが関連付けられているデバイスのインデックスを取得する方法を示していないようです。

これは、ドライバー レベルのストリーム構造への単なるポインターであることはわかっていcudaStream_tますが、ドライバーについて深く掘り下げることはためらっています。これを行う慣用的な方法はありますか?または、やりたくない正当な理由はありますか?

編集:この質問のもう 1 つの側面は、ストリームが本当にデバイスに関連付けられているかどうかです。これにより、CUDA ドライバー自体が、指定された構造からそのデバイスの ID を特定できます。

0 投票する
3 に答える
11095 参照

gpu - マルチ GPU プログラミングは Vulkan でどのように機能しますか?

Vulkan でマルチ GPU を使用することは、多くのコマンド キューを作成し、それらの間でコマンド バッファーを分割するようなものでしょうか?

2 つの問題があります。

  1. OpenGL では、GLEW を使用して関数を取得します。複数の GPU がある場合、各 GPU には独自のドライバーがあります。Vulkan の使用方法
  2. フレームの一部は GPU で生成され、他の GPU は Intel GPU を使用して UI をレンダリングし、AMD または Nvidia GPU を使用してラボトップでゲーム画面をレンダリングしますか? それとも、GPU でフレームが生成され、別の GPU で次のフレームが生成されますか?