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

CUDA(Compute Unified Device Architecture)は、NVIDIA GPU(グラフィックスプロセッシングユニット)の並列コンピューティングプラットフォームおよびプログラミングモデルです。CUDAは、さまざまなプログラミング言語、ライブラリ、APIを通じてNVIDIA GPUへのインターフェースを提供します。

21
CUDAがgccバージョンと互換性がない
CUDA SDKに同梱されているいくつかの例のコンパイルに問題があります。開発者ドライバー(バージョン270.41.19)とCUDAツールキットをインストールし、最後にSDK(4.0.17バージョン)をインストールしました。 最初はコンパイルできませんでした: error -- unsupported GNU version! gcc 4.5 and up are not supported! 81:/usr/local/cuda/include/host_config.hに責任がある行を見つけて、次のように変更しました。 //#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4) #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 6) その時点から、コンパイルするサンプルのほんの一部しか取得できませんでした。 In file included from /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr.h:162:0, from /usr/include/c++/4.6/ext/atomicity.h:34, from /usr/include/c++/4.6/bits/ios_base.h:41, …
102 gcc  cuda  debian 


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

8
JavaのGPGPU / CUDA / OpenCLに最適なアプローチは?
グラフィックスプロセッシングユニットでの汎用コンピューティング(GPGPU)でのは、あらゆる種類のコンピューティングにGPUの能力を活用するための非常に魅力的なコンセプトです。 画像処理、パーティクル、高速な幾何演算にGPGPUを使用したいです。 現在、この分野の2つの候補はCUDAとOpenCLのようです。知りたい: OpenCLはWindows / MacのJavaからまだ使用できますか? OpenCL / CUDAにインターフェースするライブラリーの方法は何ですか? JNAを直接使用することはオプションですか? 何か忘れてる? 実世界での経験、例、戦争の話は大歓迎です。
94 java  cuda  gpgpu  opencl 

4
Intelの統合グラフィックプロセッサでCUDAを実行できますか?
私はi3プロセッサを搭載した非常にシンプルな東芝のラップトップを持っています。また、高価なグラフィックカードは持っていません。ディスプレイ設定では、インテル(HD)グラフィックスがディスプレイアダプターとして表示されます。私はいくつかのcudaプログラミングを学ぶことを計画しています。しかし、nvidiaのcuda対応GPUがないため、ラップトップでそれを実行できるかどうかはわかりません。 実際、GPU o_oさえ持っていれば、私は疑っています。 したがって、現在の構成でCUDAプログラミングを実行できるかどうかを誰かに教えてもらえれば幸いです。可能であれば、Intel(HD)グラフィックスの意味も教えてください。

3
CUDAがメモリを固定するのはなぜそんなに速いのですか?
CUDAデータ転送にピン留めされたメモリを使用すると、データ転送が大幅に高速化されます。Linuxでは、これを実現するための基盤となるシステムコールはmlockです。mlockのmanページから、ページをロックするとスワップアウトされないことが示されています。 mlock()は、addrから始まり、lenバイトまで続くアドレス範囲のページをロックします。指定されたアドレス範囲の一部を含むすべてのページは、呼び出しが正常に戻ったときにRAMに常駐することが保証されています。 私のテストでは、システムに数ギガの空きメモリがあったため、メモリページがスワップアウトされるリスクはありませんでしたが、それでもスピードアップが見られました。誰かがここで実際に何が起こっているのか説明できますか?、洞察や情報は大歓迎です。
83 c++  c  linux  cuda 

1
異なるコンパイラーでのvoid **への変換
次のコードをさまざまなコンパイラで実行しています。 int main() { float **a; void **b; b = a; } 私が収集できたことから、汎用ポインタでvoid **はありません。これは、別のポインタからの変換がコンパイルされたり、少なくとも警告をスローしたりしないことを意味します。しかし、ここに私の結果があります(すべてWindowsで行われます): gcc-期待どおりに警告をスローします。 g ++ -予想どおりエラーをスローします(これは、C ++の型の許容度が低いためです)。 MSVC(cl.exe) -/ Wallが指定されていても、警告は一切表示されません。 私の質問は、全体について何か不足しているのですか?MSVCが警告を生成しない特定の理由はありますか?MSVC は、から void **への変換時に警告を生成しfloat **ます。 もう1つの注意点:a = b明示的な変換に置き換えた場合a = (void **)b、どのコンパイラも警告をスローしません。これは無効なキャストだと思ったので、なぜ警告がないのでしょうか? 私がこの質問をしているのは、CUDAと公式のプログラミングガイド(https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#device-memory)を学び始めていたからです。次のコードが見つかります: // Allocate vectors in device memory float* d_A; cudaMalloc(&d_A, size); の最初の引数は型であるvoid **ため&d_A、これはfor への暗黙の変換を実行する必要cudaMallocがありvoid **ます。同様のコードがドキュメント全体にあります。これはNVIDIAの終わりのずさんな作業ですか、それとも私は何か不足していますか?nvccはMSVCを使用しているため、コードは警告なしでコンパイルされます。
9 c++  c  cuda 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.