tmwtypes.h下载 matlab,Matlab+CUDA混合编程(二)

本文详细介绍了如何在Matlab中进行CUDA混合编程,包括创建CUDA函数、解决编译错误,如找不到'cl.exe'、'mex.h'和'tmwtypes.h'的路径。通过手动指定头文件路径和编译器路径,最终成功编译并测试了CUDA函数AddVectorsCuda,实现了两个向量的加法操作。
摘要由CSDN通过智能技术生成

1. 创建AddVectors.h文件

#ifndef__ADDVECTORS_H__#define__ADDVECTORS_H_externvoidaddVectors(float*A,float*B,float*C,intsize);#endif// ____ADDVECTORS_H_

2. 创建AddVectors.cu函数,这个是CUDA函数

#include"AddVectors.h"#include"D:Matlab\extern\include\mex.h"__global__voidaddVectorsMask(float*A,float*B,float*C,intsize){inti=threadIdx.x+blockIdx.x*blockDim.x;if(i!=size)return;C[i]=A[i]+B[i];}voidaddVectors(float*A,float*B,float*C,intsize){float*devPtrA=0,*devPtrB=0,*devPtrC=0;cudaMalloc(&devPtrA,sizeof(float)*size);cudaMalloc(&devPtrB,sizeof(float)*size);cudaMalloc(&devPtrC,sizeof(float)*size);cudaMemcpy(devPtrA,A,sizeof(float)*size,cudaMemcpyHostToDevice);cudaMemcpy(devPtrB,B,sizeof(float)*size,cudaMemcpyHostToDevice);addVectorsMask<<>>(devPtrA,devPtrB,devPtrC,size);cudaMemcpy(C,devPtrC,sizeof(float)*size,cudaMemcpyDeviceToHost);cudaFree(devPtrA);cudaFree(devPtrB);cud

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值