MKL中cblas_dcopy和dcopy之间的区别?

时间:2013-07-02 18:08:42

标签: c++ visual-c++ matrix intel-mkl

cblas_dcopy与dcopy有什么区别?我主要使用dcopy,因为它出现在official manual from 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);

这是错的吗?我最近以online guide形式遇到了另一种方式:

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

如果我使用C ++,我应该使用哪种差异?

1 个答案:

答案 0 :(得分:2)

dcopy()是Fortran的函数原型,而cblas_dcopy()用于C MLK ref manual中所示。

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

使用C接口更适合C ++。