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

14
NVIDIA NVMLドライバー/ライブラリバージョンの不一致
実行するnvidia-smiと、次のメッセージが表示されます。 Failed to initialize NVML: Driver/library version mismatch 1時間前に同じメッセージを受け取り、cudaライブラリをアンインストールしたところ、を実行できnvidia-smi、次の結果が得られました。 その後、NVIDIAの公式ページcuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.debからダウンロードし、次のように簡単に説明します。 sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb sudo apt-get update sudo apt-get install cuda export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}} これでcudaがインストールされましたが、上記の不一致エラーが発生します。 いくつかの潜在的に有用な情報: 実行しcat /proc/driver/nvidia/versionている: NVRM version: NVIDIA UNIX x86_64 Kernel Module 378.13 Tue Feb 7 20:10:06 PST 2017 GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) Ubuntu …
226 cuda  driver  gpu  nvidia 

2
CUDAグリッドの寸法、ブロックの寸法、スレッドの構成について(簡単な説明)[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 この質問を改善する スレッドはGPUによって実行されるようにどのように編成されていますか?
161 cuda  nvidia 


2
CUDAブロック/ワープ/スレッドはどのようにCUDAコアにマッピングしますか?
私は数週間CUDAを使用していますが、ブロック/ワープ/スレッドの割り当てに疑問があります。 私は教訓的な観点から大学を研究しているので(大学のプロジェクト)、ピークパフォーマンスに到達することは私の関心事ではありません。 まず最初に、これらの事実を正直に理解したかどうかを理解したいと思います。 プログラマーはカーネルを作成し、その実行をスレッドブロックのグリッドに編成します。 各ブロックは、ストリーミングマルチプロセッサ(SM)に割り当てられます。いったん割り当てられると、別のSMに移行できません。 各SMは独自のブロックをワープに分割します(現在、最大サイズは32スレッドです)。ワープ内のすべてのスレッドは、SMのリソース上で同時に実行されます。 スレッドの実際の実行は、SMに含まれるCUDAコアによって実行されます。スレッドとコアの間に特定のマッピングはありません。 ワープに20スレッドが含まれているが、現在は16コアしか使用できない場合、ワープは実行されません。 一方、ブロックに48個のスレッドが含まれている場合、十分なメモリが利用可能であれば、2つのワープに分割され、並列に実行されます。 スレッドがコアで開始されると、メモリアクセスまたは長い浮動小数点演算のためにスレッドが停止し、別のコアで実行が再開される可能性があります。 彼らは正しいですか? 現在、私はGeForce 560 Tiを持っているので、仕様によると、それぞれに48個のCUDAコア(合計384個のコア)を含む8つのSMが搭載されています。 私の目標は、アーキテクチャのすべてのコアが同じ命令を実行することを確認することです。私のコードが各SMで利用可能なものよりも多くのレジスターを必要としないと仮定して、私は異なるアプローチを想像しました: 各SMが実行する1つのブロックを持つように、それぞれ48スレッドの8ブロックを作成します。この場合、48スレッドはSMで並列に実行されますか(それらに使用可能な48コアすべてを利用します)? 6スレッドの64ブロックを起動しても違いはありますか?(それらがSM間で均等にマッピングされると仮定) スケジュールされた作業でGPUを「サブマージ」する場合(たとえば、1024スレッドの1024ブロックを作成する場合)、すべてのコアが特定の時点で使用され、同じ計算を実行すると想定するのが妥当です(スレッドがストールしないでください)? プロファイラーを使用してこれらの状況を確認する方法はありますか? このものへの参照はありますか?「大規模並列プロセッサのプログラミング」と「CUDAアプリケーションの設計と開発」で、CUDAプログラミングガイドとハードウェアアーキテクチャ専用の章を読みました。正確な答えは得られませんでした。

3
CUDAカーネルのグリッドとブロックの次元を選択するにはどうすればよいですか?
これは、CUDAグリッド、ブロック、およびスレッドのサイズを決定する方法に関する質問です。これは、ここに投稿された質問に対する追加の質問です。 このリンクをたどると、talonmiesからの回答にコードスニペットが含まれます(以下を参照)。「チューニングとハードウェアの制約によって通常選択される値」というコメントを理解できません。 CUDAのドキュメントで、これを説明する適切な説明や説明が見つかりませんでした。要約すると、私の質問はblocksize、次のコードが与えられたときに最適な(スレッドの数)を決定する方法です。 const int n = 128 * 1024; int blocksize = 512; // value usually chosen by tuning and hardware constraints int nblocks = n / nthreads; // value determine by block size and total work madd<<<nblocks,blocksize>>>mAdd(A,B,C,n);

10
NVIDIA vs AMD:GPGPUパフォーマンス
両方のコーディングの経験がある人から聞いてください。私自身、NVIDIAの経験しかありません。 NVIDIA CUDAは、競合他社よりもはるかに人気があるようです。(このフォーラムの質問タグを数えると、「cuda」は「opencl」3:1を上回り、「nvidia」は「ati」15:1を上回り、「ati-stream」のタグはまったくありません)。 一方、ウィキペディアによると、ATI / AMDカードは、特に1ドルあたりの可能性がはるかに大きいはずです。現在の市場で最速のNVIDIAカードであるGeForce 580($ 500)は、1.6の単精度TFlopsと評価されています。AMD Radeon 6970の価格は370ドルで、定格は2.7 TFlopsです。580には、772 MHzで512の実行ユニットがあります。6970には、880 MHzで1536の実行ユニットがあります。 NVIDIAに対するAMDの紙の利点はどれほど現実的ですか、そしてほとんどのGPGPUタスクで実現される可能性がありますか?整数タスクはどうなりますか?
105 cuda  opencl  gpgpu  nvidia  ati 

5
銀行間紛争とは何ですか?(Cuda / OpenCLプログラミングを行う)
私はCUDAとOpenCLのプログラミングガイドを読んでいますが、銀行の競合とは何なのかわかりません。彼らは、主題そのものについて詳しく説明することなく、問題を解決する方法を説明します。誰かがそれを理解するのを手伝ってくれる?ヘルプがCUDA / OpenCLのコンテキストにあるのか、コンピュータサイエンスにおける一般的な銀行の紛争にすぎないのかは、私には好みがありません。

9
2つの画面のいずれかでのDataGridViewのひどい再描画パフォーマンス
私は実際にこれを解決しましたが、後世のために投稿しています。 デュアルモニターシステムのDataGridViewで非常に奇妙な問題が発生しました。この問題は、コントロールの再描画が非常に遅い(完全な再描画の場合は30秒など)として現れますが、それが私の画面の1つにある場合に限ります。一方、再描画速度は問題ありません。 私は最新の非ベータドライバー(175.何か)を搭載したNvidia 8800GTを持っています。ドライバーのバグですか?私はこの特定の構成で生きなければならないので、それを空中に残しておきます。(ただし、ATIカードでは発生しません...) ペイント速度はセルの内容とは関係ありません。カスタム描画では、塗りつぶされた長方形をペイントするだけでも、パフォーマンスはまったく向上しません。 後で、(System.Windows.Forms.Integration名前空間からの)ElementHostをフォームに配置すると問題が修正されることがわかりました。それを台無しにする必要はありません。DataGridViewもオンになっているフォームの子である必要があります。Visibleプロパティがtrueである限り、サイズを(0、0)に変更できます。 .NET 3 /3.5の依存関係をアプリケーションに明示的に追加したくありません。リフレクションを使用して、実行時に(可能であれば)このコントロールを作成するメソッドを作成します。それは機能し、少なくとも必要なライブラリがないマシンでは正常に失敗します-ただ遅い状態に戻ります。 この方法では、アプリの実行中に修正を適用することもでき、フォームでWPFライブラリがどのように変更されているかを簡単に確認できます(Spy ++を使用)。 多くの試行錯誤の末、(フォームだけでなく)コントロール自体でダブルバッファリングを有効にすると問題が修正されることに気付きました。 したがって、DataGridViewに基づいてカスタムクラスを作成するだけで、DoubleBufferingを有効にできます。それでおしまい! class CustomDataGridView: DataGridView { public CustomDataGridView() { DoubleBuffered = true; } } グリッドのすべてのインスタンスがこのカスタムバージョンを使用している限り、すべて問題ありません。これが原因でサブクラスソリューションを使用できない状況に遭遇した場合(コードがない場合)、そのコントロールをフォームに挿入しようと試みることができると思います:)(私はリフレクションを使用して、DoubleBufferedプロパティを外部から強制的にオンにして、依存関係をもう一度回避しようとする可能性が高くなります)。 こんなに単純なことが私の時間の多くを食い尽くしたのは悲しいことです...

1
数分以上、DockerでJavaFXアプリを実行できません
別アプリの通信サービスとして利用するアプリを開発しました。Webアプリの「ドッキング」に問題はありませんでしたが、サービスが悪夢であることが判明しています。これはJavaFXに基づいており、ユーザーが設定ファイルで設定できるプロパティがあるため、アプリはウィンドウ、メニュー、コンテナなどを初期化しません。この「ヘッドレス」モード(本当にheadless ...)サービスアプリをバックグラウンドサービスに効果的に変換します。また、Windows 10マシンで実行するとアプリは完全に問題なく動作し、他のいくつかのマシン(すべてドッキングされていない)に問題なくデプロイしたと言って、これを前置きします。 ここに私が思いついたdockerfileがあります: FROM openjdk:13.0.1-slim RUN apt-get update && apt-get install libgtk-3-0 libglu1-mesa -y && apt-get update VOLUME /tmp ADD Some_Service-0.0.1-SNAPSHOT.jar Some_Service-0.0.1-SNAPSHOT.jar ADD lib lib ADD config.properties config.properties ENTRYPOINT ["java", "--module-path", "lib/javafx-sdk-13", "-jar", "Some_Service-0.0.1-SNAPSHOT.jar"] 次に、このコマンドを使用してコンテナーをビルドします。 docker run -t --name Some_Service -e DISPLAY=192.168.1.71:0.0 -e SERVICE_HOME= --link mySQLMD:mysql some_service PCでVcXsrvが実行されていると仮定すると、アプリは正しく起動しますが、最初の起動時に次の警告が表示されます。 libGL …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.