当前位置: 首页 > news >正文

CUDA锁页内存的使用

1.定义指针变量

float   *host_Weights;  // 锁页内存
float   *dev_Weights;  // 设备端内存

2.分配内存

cudaHostAlloc((void**)&host_Weights, numInputs * sizeof(float), cudaHostAllocDefault);  // 用锁页内存,可以有效加快数据传递速度
cudaMalloc((void**)& dev_Weights, numInputs* sizeof(float));  // 设备端内存

3.主机端内存的使用

for (int kk = 0; kk < numInputs; kk++)
{host_Weights[kk] = bpnn->mNeuronLayers[i]->mWeights[j][kk];
}

4.内存的拷贝(同步拷贝)

cudaMemcpy(dev_Weights,host_Weights,numInputs*sizeof(float),cudaMemcpyHostToDevice);     // dev_Weights是目标,host_Weights是源

5.核函数的使用

getNeuron << <1, 1>> > (dev_ Weights);   // dev_Weights是指针,所以前面不加位

6.核函数的形参

__global__ void getNeuron(float *dev_Weights)
{// dev_Weights使用时按照指针使用
}

7.内存的销毁

cudaFree(dev_Weights);
cudaFreeHost(host_Weights);
http://www.lryc.cn/news/259122.html

相关文章:

  • python常见代码用法
  • MTU TCP-MSS(转载)
  • 【ARM Trace32(劳特巴赫) 高级篇 20 -- SNOOPer 使用介绍】
  • MySQL笔记-第11章_数据处理之增删改
  • ANSYS常见error解答(转)
  • 【Let‘s Encrypt SSL】使用 acme.sh 给 Nginx 安装 Let’s Encrypt 提供的免费 SSL 证书
  • XML学习及应用
  • Docker部署Nacos集群并用nginx反向代理负载均衡
  • C++STL的stack和queue(超详解)
  • 【C语言实现windows环境下Socket编程TCP/IP协议】
  • CGAL的3D简单网格数据结构
  • 正则表达式(9):扩展正则表达式
  • 静态SOCKS5:了解基本概念和协议
  • 用23种设计模式打造一个cocos creator的游戏框架----(十二)状态模式
  • js 转换为数组并返回(Array.of())
  • git上传文件夹后打不开,有@.....
  • 31、应急响应——Windows
  • QT linux下使用Qt Creator调试附加进程,加快调试
  • IDEA Maven项目如何引用本地jar包,并打包发布
  • Unity中Batching优化的GPU实例化(3)
  • Web应用JSON数据保护(密码算法、密钥、数字签名和数据加密)
  • 【软件安装】VMware安装Centos7虚拟机并且设置静态IP,实现Windows和Centos7网络互相访问
  • 203. 移除链表元素
  • 最新鸿蒙HarmonyOS4.0开发登陆的界面1
  • 【模型训练】目标跟踪
  • zabbix——实现高效网络监控
  • LeetCode力扣每日一题(Java):58、最后一个单词的长度
  • 一、python requests爬虫[基础、上传文件、会话维持、代理设置]
  • ActiveMQ使用指南
  • 动态SQL学习及使用场景(简略)