gpt4 book ai didi

c++ - 从简单的 arrayfire 构造函数中获取段错误

转载 作者:行者123 更新时间:2023-11-28 00:00:09 27 4
gpt4 key购买 nike

我通过调用简单的 arrayfire 构造函数遇到了段错误。

#include <arrayfire.h>
int main(){
af_array a;
int N = 10;
dim_t dims = 10;
af_randu(&a, N, &dims, f32);
af::array b(a);
return 0;
}

最佳答案

af_randu 是 ArrayFire 中的 C-API 函数。理想情况下,用户无需直接调用这些函数。

您需要调用的电话是 af::randu() .所以你对 randu 的调用是:

af:array b = af::randu(N, f32);

下面只是回答问题,af_randu的C-API是

AFAPI af_err af_randu(af_array *out,
const unsigned ndims,
const dim_t *const dims,
const af_dtype type
)

因此第二个参数是 ndims(维数),在您的情况下是 1。因此您对 af_randu 的调用是:

af_randu(&a, 1, &dims, f32);

如果你正在做一个矩阵,比如说 10x10,那么你会做

dim_t dims[] = {10, 10}
af_randu(&a, 2, dims, f32);

全面披露:我是 ArrayFire 的开发人员。

关于c++ - 从简单的 arrayfire 构造函数中获取段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39801733/

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