6

cublasに関する一般的な質問です。シングルスレッドの場合、GPUからCPUへのメモリ転送(例:cublasGetVector)がない場合、cublasカーネル関数(例:cublasDgemm)は自動的にホストと同期されますか?

    cublasDgemm();
//cublasGetVector();
    host_functions()

さらに、2つの隣接するカーネル呼び出しの間はどうですか?

cublasDgemm();
cublasDgemm();

また、以前のカーネルで使用されていたグローバルメモリを含まない同期転送についてはどうでしょうか。

cublasDgemm(...gA...gB...gC);
cublasGetVector(...gD...D...);
4

1 に答える 1

9

いいえ、CUBLAS APIは、スカラー値を返すいくつかのレベル1ルーチンを除いて、非同期です。

cublasDgemmホストをブロックしないなどのレベル3ルーチンでは、同期メモリ転送や明示的なホスト-GPU同期呼び出しなどのブロックAPIルーチンを呼び出して、CUBLAS呼び出しが完了していることを確認する必要があります。

于 2012-12-02T12:02:43.173 に答える