matlab调用cuda,Matlab 调用CUDA的总结(Windows、Ubuntu)
出于加速计算的目的项目里需要用CUDA实现matlab部分计算然后使用matlab调用
由于计算部分需要的参数太多,往CUDA里一一传送太麻烦,所以先利用Matlab将这些参数存入到mat文件中,在CUDA c++代码中读取mat文件。
最终实现效果是在Matlab 代码中像调用函数一样调用mexw64文件(本质上是dll,linux平台拓展名是mexa64)来使用。
由于使用了CUDA无法直接用mex编译成mexw64,所以首先要使用nvcc将cu文件编译成obj文件以供mex链接。
项目总体结构
Ø matlabfunction.m——调用CUDA的matlab主程序
Ø mexmain.cpp——定义mexFunction的C++文件,并在内部读取mat文件,将参数传入CUDA以计算
Ø kernel.cu——CUDA文件,有kernel函数的定义以及一个C++函数接收参数并调用kernel函数进行计算得到计算结果
代码结构
matlab.m
%matlab进行一些数据的处理
%.........
%调用编译出的mexw64/mexa64文件,将参数传入,得到计算结果
[result1,result2]=MexMain(arg1,arg2)
%计算结果的处理
%............
mexmain.cpp
#include "mat.h"
#include "mex.h"
extern int CUDAFunction(double* arg1,double*arg2);//kernel.cu文件中实现,主要功能是将参数传入CUDA kernel函数中利用GPU进行计算
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{//...
}
matlab调用cuda,Matlab 调用CUDA的总结(Windows、Ubuntu)相关推荐
- c 使用matlab引擎,[转载]C与MATLAB混合编程之调用MATLAB引擎
Visual Studio调用MATLAB需要的配置已经在<Visual Studio调用MATLAB的配置>一文中给出了详细的步骤,本文将介绍混合编程的示例. 在C中调用MATLAB,据 ...
- Matlab.NET混合编程调用Figure窗体
原文:[原创]Matlab.NET混合编程调用Figure窗体 1.前言 做Matlab.NET混合编程好几年了,虽然Matlab很多函数忘记得差不多了,但基本的东西还是能熟练使用.特别是在C#调用M ...
- quad8是matlab中调用那个,Matlab 数值积分
MATLAB数值积分与微分 8.1 数值积分 8.1.1 数值积分基本原理 求解定积分的数值方法多种多样,如简单的梯形法.辛普生(Simpson)法.牛顿-柯特斯(Newton-Cotes)法等都是经 ...
- matlab常用工具箱的调用指令
转自:http://blog.sina.com.cn/s/blog_86186c970102va9g.html Matlab常用工具箱的调用命令 1. 优化工具箱 用途:优化问题 调用命令:在Co ...
- fortran调用matlab画图,[转载]Matlab与Fortran的交互--基本概念
如果需要进行Matlab环绕Fortran语言的交互,必须通过Matlab提供的应用编程接口(API)来实现与外部的接口,从而可以在Matlab环境中实现调用Fortran程序.输入或输出数据以及和其 ...
- c 与matlab混编,C与MATLAB混合编程之调用MATLAB引擎
Visual Studio调用MATLAB需要的配置已经在<Visual Studio调用MATLAB的配置>一文中给出了详细的步骤,本文将介绍混合编程的示例. 在C中调用MATLAB,据 ...
- C++ 接口 函数导出_Matlab与C/C++混合编程、Visual C++与Matlab封装库互相调用相关要点...
[版本说明] Visual Studio 2010 Matlab2014a 64bit Windows7 64bit 以下是我安装的 Matlab2014a 支持的 C++混合编译器的SDK版本(为了 ...
- MATLAB 提取*.m 文件调用的所有函数
MATLAB 提取*.m 文件调用的所有函数 clc clear filename = 'processGRDECL.m'; %依赖父文件 dir_colections = [pwd '\collec ...
- [C#] 调用MATLAB(Matlab COM接口) (一)调用函数
目录 说明 一.Visual Studio 程序 1. Vs 新建项目 2. 编写 C# 程序 二.matlab.Execute() 1. MATLAB函数的输入输出 2. MATLAB Comman ...
- matlab 定义函数 调用,matlab 定义函数,matlab定义函数并调用
matlab 定义函数,matlab定义函数并调用,Matlab自定义函数详解 很久以前写的一篇Matlab自定义函数访问量很大,可惜没有点赞的,我感觉是我没讲清楚,这里又写了一篇笔记 Matlab函 ...
最新文章
- 禁用TwebBrowser右键
- ssm_layui_billmanagersystem账单管理系统(全栈开发)
- 好婚姻必定是灵魂佳偶
- GDC 2012]Epic Games谈在智能手机上制作和台式游戏机同等级的图形游戏的经验
- MySQL 四种链接
- ASA 防火墙 工作原理与配置实例
- final cut pro x怎样导入3D LUT调色预设?
- 手机号码校验、邮箱校验
- c语言是高级编程语言吗,C语言是高级编程语言吗?
- WPF 矢量字体图标
- 自动驾驶汽车传感器融合系统及多传感器数据融合算法浅析
- UVa12235: Help Bubu 题解
- 【18年北京网络赛】Tomb Raider【递归求所有子序列】
- apatch zipoutputstream 进行解压缩时提示:不可预料的压缩文件末端
- oracle 本地连接不上,为什么Guardium S-TAP无法抓取Oracle本地连接(Bequeath)流量
- 物流学哪方面计算机知识,物流说丨物流专业的毕业生应该具备的6大技能
- Codeforces Round #828 (Div. 3) E1. Divisible Numbers (easy version) 解题报告
- websocket 并发_1230万个并发WebSocket
- set.seed的作用
- Hector代码原理推导
热门文章
- CentOS7.9下实战安装MySQL5.7
- mysql 多级主从_mysql主从复制-二级主从
- springcloud eureka集群_SpringCloud入门学习之Eureka
- ft232r usb uart驱动_构建基于USB的高精度温度传感器电路
- mysql存储过程返回结果集_原来MySQL的存储过程也可以这么玩?
- cad直线和圆弧倒角不相切_建议收藏:史上最全CAD快捷键大全
- mysql8019zip安装_Eclipse+java+mysql8019实现数据库连接
- 技术支持和测试的区别_PlatON测试网升级至0.13.0版本并正式启用全新账户地址格式 | 云图双周报2020.07.0107.15...
- Elastic-jobQuartz定时任务
- Dart教程(二):基本语法