Matlab でスパース Martix 形式を使用して、マトリックスを保存します。しかし、計算はcusparseライブラリが行います。mex ファイルを介して matlab と Cusparse を接続する例を検索します。
誰かアイデアはありますか?
ありがとうクリスチャン
あなたの質問を理解できれば、同様の問題があり、解決方法がわかりました。CUSPARSE を使用するプログラムを C で作成し、それを mex ファイルにコンパイルして、MATLAB で実行したいと考えていました。ここに私が見つけたいくつかの情報源があります。
MATLAB ドキュメンテーションには、C プログラムがどのように見えるべきかについての例がいくつかあります。
プログラムのセットアップおよびコンパイル方法に関するMATLAB ドキュメンテーションを次に示します。コードをコンパイルする前に、NVCC へのパスを設定する必要があることに注意してください。しかし、私はそれをこのように機能させることはできませんでした。
MATLAB の外部でコードをコンパイルすることを選択し、mex ファイルを次の行でコンパイルするだけです。
mex myFile.cu -L/path/to/your/cuda/libs -lcusparse -lcudart
そして、それは私にとってはうまくいきました。MATLAB のドキュメントには、これを適切にコンパイルするには、C ファイルに「.cu」サフィックスが必要であり、「MW_NVCC_PATH」環境変数を nvcc を指すように設定する必要があることが記載されていることに注意してください。