問題タブ [thrust]
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.
cuda - CUDA のリンク ディレクトリを変更するには?
私はしばらくCUDA 4.0を使用しています。最近、CUDA 4.1 の新しい API をダウンロードしてコピーしました (Thrust のラムダ式のサポートが必要です) が、私のソリューションのプロパティはまだ古い 4.0 API にリンクされています。動的に変更するにはどうすればよいですか? $(CudaToolkitLibDir)
変数を変更する必要があると思いますが、正確にはどうすればよいでしょうか?
編集:私は推力::プレースホルダーを使用しようとしているので、私はこれを求めています
cuda - 推力::device_vector エラー
私はスラストが初めてです。thrust::host_vector
a からaにコピーしようとしていますがthrust::device_vector
、どちらもSequence
既に実装したクラスです。
ただし、「無効なデバイス機能」というエラーが表示されます。GeForce GT 540 で CUDA 4.0 VS2010 を使用しています。
誰でも助けてもらえますか?
cuda - 推力は、推力::最小を使用して期待される結果を提供しません
p が GPU 側に割り当てられたポインターである場合、次のコードを検討してください。
CPU側に同じことを適用した後。
私はその最小を取得します!= fRes. 私はここで何が間違っていますか?
cuda - 推力:アクティブアレイ要素のインデックスを返す方法
推力を使用してアクティブな配列要素のインデックスを返すにはどうすればよいですか?つまり、配列要素が1に等しいインデックスのベクトルを返しますか?
これを拡張すると、配列の次元が与えられた多次元インデックスの場合、これはどのように機能しますか?
編集:現在、関数は次のようになっています
エラーを引き起こしている
cuda - すべてのThrustヘッダーを一度に含めることは可能ですか?
個別に行うのではなく、すべてのThrustファイルを含める方法はありますか?たとえば、今私は次のことをしなければなりません:
私はただのようなものを使いたい
これは可能ですか?
gpu - キーごとの推力ソートと推力のステップの複雑さ
私は推力でソートと独自のキー機能を使用しています。スラストのソート機能のステップの複雑さと、ユニークなキー機能の作業とステップの複雑さとは何かと思っていました。
私の知る限り、ソートの作業量は O(NlogN) だと思います。しかし、unique_by_key 操作が何であるかはわかりません
cuda - 推力::min_elementインプレース
プロファイリングの結果を見ると、thrust::min_element()
呼び出しcudaMalloc()
が追加のメモリを使用していることがわかります。縮小後は配列データは必要ないので、最小限の要素をインプレースで見つけたいと思います。出来ますか?
iterator - CUDA は、キーがカスタム比較述語を持つ zip_iterator によって処理されるタプルである場合、sort_by_key をスローします。
私はここで似たようなものについて多くの質問を調べました.1つの小さな変更はありますが、かなりの数があります. 複合キーとして zip_iterator を使用して値を並べ替えようとしています。
具体的には、次の機能があります。
そして、このカスタム述語:
私が得ているエラーは次のとおりです。
これを引き起こす可能性のあるアイデア/実際に機能する述語を作成するにはどうすればよいですか?
前もって感謝します、 ネイサン
cuda - スラスト ファンクター:「起動に要求されたリソースが多すぎます」
私はCUDAでこのようなものを実装しようとしています:
要素ごとに
ここfloor
で、 およびz
は、テストの開始時に構成された定数です。
そのように実装しようとしましたが、「起動に要求されたリソースが多すぎます」というエラーが表示されます
ファンクタ:
変換で使用:
ファンクターのメンバーの 1 つを削除し、floorVal
メンバー変数が 1 つだけのファンクターを使用すると、正常に動作します。
これがなぜなのか、どうすれば修正できるのか誰か知っていますか?
追加情報:
私の配列は 786432 要素の長さです。
私の GPU は GeForce GTX590 です
私はコマンドで構築しています:
私のcudaバージョンは4.0です:
ブロックあたりのスレッドの最大数は 1024 です (deviceQuery によって報告されます)。
アップデート::
問題の修正方法を見つけましたが、理解できません。ファンクターの名前を「floor_functor」から基本的に他の名前に変更すると、機能します! なぜこれが事実なのかはわかりませんが、これについて誰かの考えを聞くことに興味があります.
cuda - デバイス内のアレイを使用したCUDAの並列削減
CUDAデバイス上の配列の最小値または最大値を見つけるために、並列削減を実行する必要があります。これに適したThrustというライブラリを見つけました。ホストメモリ内のアレイに対してのみ並列削減を実行できるようです。私のデータはデバイスメモリにあります。デバイスメモリ内のデータを削減することはできますか?これを行う方法がわかりません。Thrustのドキュメントは次のとおりです:http ://code.google.com/p/thrust/wiki/QuickStartGuide#Reductions 。みなさん、ありがとうございました。