1

cblas_dcopy 与 dcopy 有什么区别?我主要使用 dcopy,因为英特尔的官方手册中提供了它来复制我的矩阵。

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() 用于 C,如MLK 参考手册中所示。

由于 Fortran 和 C 的相似性,您可以通过提供每个参数的指针在 C 代码中调用 Fortran 函数,就像您所做的那样。

当然,使用 C 接口对 C++ 更好。

于 2013-07-13T07:16:52.627 回答