問題タブ [cusp-library]
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 - CUSP カーネル コード
CUSP ライブラリで spmv と変換のカーネル コードを見つけることができるかどうか疑問に思っていました。ライブラリ全体をスキャンしましたが、見つかりませんでした。それは独占的なものですか、それともそのようなものですか??
cuda - COO から圧縮疎行列への変換
OpenCLライブラリのマトリックスマーケットからCSRファイルが欲しかったので、CでCSRジェネレーターをたくさん検索しましたが、何も得られませんでした。読み取りと書き込みの関数が定義されているので、マトリックス マーケット形式は快適だと思います。また、CUDA C の CUSP ライブラリが .mtx ファイルから COO マトリックスを読み取り、それを CSR 形式に変換する方法にも興味があります。前もって感謝します
c++ - Windows7 の CUDA カスプ
Windows7 x64 および Visual Studio 2008 でCUSP (バージョン 0.2) ライブラリを実行するのに問題があります。たとえば、以下を含める場合:
次のエラーが表示されます。
誰もこのエラーに遭遇したことがありますか、それを実行する方法を知っていますか?
c++ - CUDA での疎行列演算
大規模な Matlab コードを C++ および CUDA に変換する作業を行っています。次のような疎行列演算の変換に問題があります。
CUSPARSE を使用して 2 を、CUSP を使用して 3 を解決できましたが、要素ごとの行列の乗算または問題 1 に CUSP (または CUSPARSE) を使用できませんでした。
上記のすべての操作を実装するCUDAライブラリがあるかどうかに興味があります(できればオープンソースのもの)。
cuda - CUSPまたはcuSPARSEでのmxArrayの読み取り
matlabからカスタムメイドの.cuファイルにmxArrayを読み込もうとしています。操作するスパース行列が2つあります。演算を実行してmatlabに戻すことができるように、AとBなどのカスプスパース行列内(またはcuSPARSE行列内)でそれらを読み取るにはどうすればよいですか。私が思いついたアイデアの1つは、mxArrayを.mtxファイルに書き込んでから、そこから読み取ることです。しかし、繰り返しますが、代替手段はありますか?
さらに、ウェブサイトに掲載されている例を使って、さまざまなCUSPメカニズムを理解しようとしていますが、例をコンパイルして実行しようとすると、次のエラーが発生します。
これが私が使用しているマシンにインストールされているものです。
自分のマシンでLinuxx86_64でGTX480を使用しています。不思議なことに、デバイスクエリのコードもこの出力を返しています。
ドライバーとSDKを数日更新しました。何が悪いのかわからない。
私は1つの質問で多くのことを尋ねていますが、かなり前からこの問題に直面しており、ドライバーのアップグレードとダウングレードは解決されていないようです。
乾杯
c - C の構造体で使用される cusp 疎行列
スパース行列を使用するために、CUDA でcuspライブラリを使用しています。struct
次のような Cで使用できませんか。
エラーが発生しています:
struct
そのような構造の配列を持つことができるように、それを使用する正しい方法は何ですか?
c++ - device_memory 内に cusp::coo_matrix の Thrust::host_vector を作成できませんか?
のベクトルを作成しようとしていますが、この方法でcusp::coo_matrix
は使用できないようです。thrust::host_vector
次のコードを検討してください。
からこのエラー メッセージが表示されますnvcc
。
興味深いのは、代わりにまったく同じエラーが発生することですcusp::host_memory
(まあ、ほぼ同じです):
それで、私の質問は、それは本当に欠点ですか、それとも私が何か間違ったことをしているのですか? どんな助けでも大歓迎です。
さらに、std::vector
代わりにテストしましたがthrust::host_vector
、正常に動作します。私は Thrust ライブラリの大ファンというわけではありませんが、興味があるだけです。thrust::host_vector
さらに、適切でない場合 (thrust::find
および他の関数が使用されている場合)に備えて、少しコードを書き直す必要があります。
また、カスプ行列の配列を作成する他の方法はありますか? 私は生のポインターとは思わず、new/delete
とにかく よりも優れていますstd::vector
、そうですか?
cuda - カスプスパース行列変数をスラストポインターでラップします
スパース行列の乗算にcuspを使用しています。結果の行列から、行列をデバイスメモリからホストメモリにコピーせずに最大値が必要になります。結果の行列を推力デバイスポインターでラップし、関数thrust::max_elementを使用して最大要素を取得することを計画しています。行列はcoo形式です。Cが結果のスパース行列の場合、
C.row_indices []:行番号
を含みますC.column_indices []:列番号を含みます
C.values []:実際の値を含みます
したがって、基本的には、C.values配列から最も高い値が必要です。
使用する
エラーが発生しています
結果のマトリックスをスラストライブラリで使用するためにラップするにはどうすればよいですか?
c - 行列Aをスパース形式のCSR、COOなどに変換します
少し問題があります。CSRまたはCOOのスパース行列/形式で行列10*10を変換したいと思います。マトリックスは次のとおりです。
「CUSP」関数を使用していますが、機能しませんでした。行列Aを取得したら、他の形式に変換したいだけです。手伝って頂けますか?
さて、私はまた、 bicgstabを使用して、システムAx=bを解くためにこの行列を使用したいと思います。
このための私のコードは次のとおりです。
Octaveを使用した結果は、次のようになります。
しかし、負の数でもあるので、間違っています。
cuda - CUDA でのスパース コレスキー分解
CUDA プログラミング モデルが成熟するにつれて、NVIDIA GPU でスパース コレスキー分解を実装する利用可能な研究コードまたはオープンソース ライブラリを誰かが知っているのではないかと思います。
2012 年 5 月、私は V. Volkov による次の文献を指摘されました。
[1] Christen ら、2007 年、NVIDIA CUDA テクノロジ プラットフォームを使用した汎用疎行列ビルディング ブロック、http://www.cs.jhu.edu/~misha/ReadingSeminar/Papers/Christen07.pdf
[2] Krawezik と Poole、2009 年、GPU による ANSYS Direct Sparse Solver の高速化、http: //saahpc.ncsa.illinois.edu/09/papers/Krawezik_paper.pdf
[3] Yu et al., 2011, A CPU-GPU Hybrid approach for the unsymmetric multifrontal method, http://www.sciencedirect.com/science/article/pii/S0167819111001293
[4] George 他、2011 年、GPU 上のスパース SPD 行列のマルチフロント因数分解、http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber= 6012808
[5] Lucas et al., 2012, グラフィックス プロセッシング ユニットでのマルチフロント スパース マトリックス因数分解, ftp://ftp.isi.edu/isi-pubs/tr-677.pdf