1

CPU 最適化 BLAS ライブラリを使用した行列計算を行う既存の MFC アプリケーションがあります。自分のプロジェクトに CuBLAS 計算機能を追加することに興味がありますが、次の 2 つの質問があります。

1) この時点で、独自の CUDA カーネル、スレッド、およびブロック構成を指定するために何かをする必要があるかどうかはわかりません。もしそうなら、アルゴリズムを変更する際に、アーキテクチャのどのセクションに最も注意を払うことをお勧めしますか?

2) (a) プログラム内の CuBLAS 機能を使用して Visual Studio で新しいプロジェクトを作成するか、(b) CuBLAS 機能を既存の MFC プロジェクトに統合することに関心があります。ただし、Visual Studio プロジェクトを CUDA SDK で適切に動作するように構成するには、このようなガイドに従う以外に問題があります。これを既存のプロジェクトと統合しようとすると、うまくいかない可能性があります。これに関するあなたの推奨事項は何ですか?

コメントありがとうございます。

4

1 に答える 1

2

1) CUBLAS を使用するだけの場合は、わざわざ独自のカーネルを作成する必要はありません。CUBLAS は、ライブラリにパッケージ化されたカーネルと C ラッパーのコレクションであり、他のプログラムから簡単に呼び出せるように設計されています。CUBLAS を使用するために、CUDA スレッド、ブロックなどの詳細を理解する必要はありません。

2) 独自のカーネルを作成する必要がないため、CUDA SDK を使用して別の Visual Studio プロジェクトをビルドする必要はありません。既存のプロジェクトから cublas.dll (または静的リンクの場合は cublas.lib) に関数呼び出しを行うだけで済みます。CUDA ツールキットの第 1 章にCUBLAS_Library_2.3.pdfは、C から CUBLAS を呼び出す方法を示すサンプル プログラムが含まれています。

于 2009-10-12T14:43:25.983 に答える