1

cblas_dcopy と dcopy の違いは何ですか? 私は主に dcopy を使用しています。これは、Intel の公式マニュアルでマトリックスをコピーするために提示されているためです。

double* a = (double*)mkl_malloc(4 * 4 * sizeof(double), 64);
double* b = (double*)mkl_malloc(4 * 4 * sizeof(double), 64);
... calculations/operations ...
int one = 1;
int sxtn = 16;

dcopy(&sxtn, a, &one, b, &one);

これは間違っていますか?最近、次のオンラインガイド形式で別の方法に出くわしました。

cblas_dcopy(16, a, 1, b, 1);

C++ を使用している場合、どのような違いがあり、どちらを使用すればよいですか?

4

1 に答える 1

2

dcopy() は Fortran の関数プロトタイプですが、cblas_dcopy() はMLK ref manualに示されているように C 用です。

Fortran と C の類似性により、C コードで各パラメーターのポインターを提供することで、これまでと同じように Fortran 関数を呼び出すことができます。

もちろん、C インターフェイスを使用する方が C++ の方が適しています。

于 2013-07-13T07:16:52.627 に答える