c++ float*释放 包括cuda内存

本文介绍了在CUDA中使用cudaMallocHost和cudaFreeHost进行设备内存的动态申请和释放,以及在C++中利用new和delete操作符管理二维数组内存的方法。示例代码详细展示了如何为一维和二维数组分配及释放内存。
摘要由CSDN通过智能技术生成

cuda内存申请与释放

	float* input_data_host = nullptr;
	//cudaMallocHost(&input_data_host, batch_size * sizeof(float));
	cudaMallocHost(&input_data_host, batch_size * 3 * this->INPUT_H *  this->INPUT_W * sizeof(float));
	checkRuntime(cudaFreeHost(input_data_host));

用new运算符动态的分配内存,用delete运算符释放这些内存

1、以int*为例:
1.1、动态创建

int *channelLen;
channelLen = new int[3];



1.2、动态释放

delete []channelLen;
channelLen = NULL;



2、以float**为例:
2.1、动态创建:

float** Info = NULL;
Info = new float*[10];

for(int i=0;i<10;i++)
{
    Info[i]=new float[300];
    memset(Info[i],0,300*sizeof(float));
}



2.2、动态释放

for(int i=0; i<10; i++)
{
    delete []Info[i];
    Info[i] = NULL;
}

delete []Info;
Info = NULL;


-----------------------------------
C++ 二维数组的动态创建和释放(new和delete)
https://blog.51cto.com/u_15127553/4234201

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值