如何在使用 CUDA 和 Matlab 时将矩阵作为参数
How to have a matrix as paramater when working with CUDA and Matlab
我正在尝试弄清楚如何将矩阵从 Matlab 传递到C++ CUDA 文件 (*.ptx)。我想在每个线程中以不同的方式处理矩阵!我绝对不想将矩阵拆分为不同的线程!我希望每个线程都有相同的矩阵!
Matlab 和 CUDA (C++)
我尝试过类似的东西:
_global_ void radialAverage(int* image[][]) {
...
}
但它没有用。我收到以下错误:
kernel.cu(8): error: an array may not have elements of this type
1 error detected in the compilation of "C:/Users/ADMINI~1/AppData/Loca/Temp/tmpxft_00000c44_00000000-8_kernel.cpp1.ii".
你能想到任何方法吗?还是可能?
顺便说一句:我没有使用任何库进行C++,只有CUDA-API。
定义内核以从 Matlab 传递矩阵的正确方法清楚地显示在您在问题中链接到的页面上(多次)。
总之,像这样定义内核(Matlab gpuArray
作为指向内核的设备指针自动传递):
__global__ void radialAverage(int* image) {
...
}
使用工具箱中的CUDAKernel
检索内核后,从 Matlab 矩阵创建一个整数gpuArray
,并将其传递给内核函数。
相关文章:
- 如何反转整数参数包
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 如何使用默认参数等选择模板专业化
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 函数调用中参数的顺序重要吗
- 部分定义/别名模板模板参数
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- 提供变量作为 MATLAB 系统命令的输入参数,以便C++可执行文件
- 将C++中的多个参数传递给MatLab共享库函数
- 使用 MATLAB 语法的 c++ 函数参数?
- 从MATLAB到C 导出权重和参数
- 传递用于在 C++ 中调用 MATLAB 函数的参数
- 如何在使用 CUDA 和 Matlab 时将矩阵作为参数
- 通过MEX将C 链接到MATLAB:通过参数
- 从C 调用的编译MATLAB函数的输入参数结构
- 使用c++ mex函数从matlab中获取输入参数