問題タブ [magma]

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 に答える
314 参照

c - Fortran インターフェイスを使用して、ユーザー定義型を含む C 関数を呼び出す方法

実は、fortran から magma を呼び出したいのです。そこで、magma.lib を追加し、magma の C 関数を使用するインターフェイスを作成します。

ただし、パラメーター uplo はユーザー定義型です。C コードでは (magma_uplo_t uplo):

magma_int_t = int, インターフェースの作成方法を知っている人はいますか? 前もって感謝します

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

matrix - ホストに転送せずに、「magma_dgeqrf2_gpu」の結果 (一般的な行列) から上三角行列を抽出します。

私は、とりわけ Magma 関数 magma_dgeqrf2_gpu を使用して QR 因数分解を実行するカーネルを構築しています。これにより、上三角行列 R が GPU デバイス上の一般行列 d_A に出力されます。

d_A をホストに転送せずに (さらなる操作に GPU が必要なため)、デバイス上で d_A を上三角行列 R に縮小または抽出する lib 方法はありますか?

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

cuda - MAGMA: 関数 "magma_dgels_gpu" --> エラー "magma_trans_t"

MAGMA Library の「magma_dgels_gpu()」関数で最小二乗問題を解こうとしています。私の GPU は「Tesla C2050 / C2075」で、MAGMA をインストールしています。

以下のコード「testMagmaDGELS.cu」をコンパイルしようとしていますが、エラーが発生します:

私は次のようにコンパイルします:

nvcc -arch=sm_20 testMagmaDGELS.cu -o testMagmaDGELS -lcublas -I/opt/magma/1.7.0/openblas/gcc/include

そして、私はこれらのエラーを受け取ります:

誰でも私を助けることができますか?

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

c - cuda マグマ 行列 - 行列加算カーネル

magmablas_sgeadd_q カーネルと同様の形式を使用してみましたが、適切な出力が得られず、実行するたびに異なる出力が得られます。私が使用したコードを以下に示します。

私が得た出力:

4 行 2 列の行列加算 ホスト メモリから CUDA デバイスに入力データをコピー 2 スレッドの 4 ブロックで CUDA カーネルを起動 CUDA デバイスからホスト メモリに出力データをコピー Aは 0.000000、B は 0.364784、C は 0.364784 Aは0.000000、Bは0.952230、Cは0.952230 Aは0.000000、Bは0.000000、Cは0.000000、Cは0.000000 Aは0.000000、Bは0.000000、Cは 0.840188、Bは0.394383、Cは1.234571 Aです 0.798440、C は 1.581539 Aは 0.911647、B は 0.197551、C は 1.109199 Aは 0.335223、B は 0.768230、C は 1.103452

マトリックス A

0.840188 0.783099 0.911647 0.335223 0.277775 0.477397 0.364784 0.952230

マトリックス B

0.394383 0.798440 0.197551 0.768230 0.553970 0.628871 0.000000 0.000000

マトリックス C

0.0000000.000000 0.0000000.000000 0.0000000.000000 0.0000000.000000

コードに問題がある場合はお知らせください。

ありがとうございました

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

c - Magma 2.0 エラー: CUDA ドライバーのバージョンが CUDA ランタイム バージョンに対して不十分です

プログラムを実行して2つの単純な行列を追加すると、次のエラーが発生します

CUDA ランタイム エラー: CUDA ドライバー バージョンは、interface_cuda/interface.cpp:547 の magma_getdevice の CUDA ランタイム バージョン (35) に対して不十分です。

疎行列計算や固有値関数などの他のプログラムが機能していることを確認しましたが、2 つの行列の追加で問題が発生しています。エラーで言及されている magma_init() も使用しました。次の関数を使用します。

Magma 2.0でCuda 7.5バージョンを使用しています。

誰かがエラーについて考えている場合は、答えてください。それを解決するのは本当に役に立ちます。

0 投票する
0 に答える
105 参照

gpu - magma_dgetri が複数の GPU を使用する方法

マグマをインストールしたところ、いくつかのルーチンにはバージョンがあり、いくつかのバージョンがないことに気付きました_mgpu。たとえば、LU 逆の場合、次の 4 つの関数があります。

LU 逆の関数はありません_mgpu。また、これらの gpu 関数には、使用する GPU の数を示す関連する入力パラメーターもありません。これは、「_mpu」サフィックスのない関数が複数の GPU を使用できないことを意味しますか? 答えが「いいえ」の場合、どうすればよいですか?

ドキュメントへのリンクは次のとおりです。 http://icl.cs.utk.edu/projectsfiles/magma/doxygen/group__magma__getri.html

どうもありがとうございました!

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

blas - GPU 上の matlab による行列の最大化

Nvidia GPU で実行するために、Matlab からいくつかのコードを移植しています。次のことを行う方法がわかりません。

ここで、A と B は行列です。つまり、マトリックス内の負の値をゼロに置き換える必要があります。カーネル関数の書き方は知っていますが、できれば cuBLAS または magma 呼び出しを使い続けたいと思います (ビルド プロセスに nvcc を追加しないようにするため)。