gpt4 book ai didi

c - MKL CBlas 错误

转载 作者:行者123 更新时间:2023-11-30 16:01:42 25 4
gpt4 key购买 nike

我尝试使用英特尔 MKL 提供的 cblas 将两个矩阵(例如 A 和 B)的乘积转换为 C。有什么原因会导致错误吗?

double * A, *B, *C;

A = (double *) calloc(20 * 200, sizeof (double));
B = (double *) calloc(200 * 200, sizeof (double));
C = (double *) calloc(20 * 200, sizeof (double));

cblas_dgemm(CblasColMajor, CblasNoTrans, CblasNoTrans,
20, 200, 200,
1.0, A, 20,
B, 200,
0.0, C, 20);

最佳答案

仔细检查 cblas_dgemm 的所有参数。如果出现错误,该函数可能会读取超出数组范围的内容。对于不会触发故障的小尺寸,因为错误地址仍然会落在单个内存页内。 (但是数学会错误,你应该检查一下。)但是 200x200 矩阵是 2.5 MB 的数据,传递错误的大小肯定会触发段错误。

关于c - MKL CBlas 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6213014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com