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

CUDA原子操作

代码

#include <cuda_runtime.h>
#include <stdio.h>__global__ void atomicAddAndGet(int *result, int *valueToAdd) {// 原子加法int addedValue = atomicAdd(result, *valueToAdd);// 通过原子操作后读取值,确保是加法后的值addedValue += *valueToAdd;printf("Thread %d: Added value: %d\n", threadIdx.x, addedValue);
}int main() {int result = 0;int valueToAdd = 5;int *d_result, *d_valueToAdd;// 在GPU上分配内存cudaMalloc((void**)&d_result, sizeof(int));cudaMalloc((void**)&d_valueToAdd, sizeof(int));// 将数据从主机内存复制到GPU内存cudaMemcpy(d_result, &result, sizeof(int), cudaMemcpyHostToDevice);cudaMemcpy(d_valueToAdd, &valueToAdd, sizeof(int), cudaMemcpyHostToDevice);// 启动CUDA核函数atomicAddAndGet << <1, 32 >> > (d_result, d_valueToAdd);// 将结果从GPU内存复制回主机内存cudaMemcpy(&result, d_result, sizeof(int), cudaMemcpyDeviceToHost);// 输出结果printf("Result after atomic addition: %d\n", result);// 释放GPU上的内存cudaFree(d_result);cudaFree(d_valueToAdd);return 0;
}

结果
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • uniapp 表格,动态表头表格封装渲染
  • 柯桥小语种学习外语培训|法语学习法语浪漫的话有哪些,来看看吧~
  • 【2024_CUMCM】Matlab快速入门
  • eMMC规范 - 寻址/信息寄存器/总线协议/时序图/速度模式
  • 【YOLO格式的数据标签,目标检测】
  • Onnx 1-深度学习-概述1
  • SpringCloudAlibaba基础五 Nacos配置中心
  • LabVIEW平台从离散光子到连续光子的光子计数技术
  • Redis的配置和优化
  • 【Selenium配置】WebDriver安装浏览器驱动(ChromeEdge)
  • 大数据面试题之GreenPlum(1)
  • DP讨论——简单工厂模式
  • 【web]-信息收集-空白页面
  • 如何调整Oracle SGA的大小
  • MongoDB 全文检索
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • 03Go 类型总结
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • Git的一些常用操作
  • Java IO学习笔记一
  • Mysql优化
  • Python中eval与exec的使用及区别
  • React-flux杂记
  • springboot_database项目介绍
  • Vim Clutch | 面向脚踏板编程……
  • Vue学习第二天
  • 编写符合Python风格的对象
  • 大快搜索数据爬虫技术实例安装教学篇
  • 大数据与云计算学习:数据分析(二)
  • 今年的LC3大会没了?
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 如何设计一个比特币钱包服务
  • 如何实现 font-size 的响应式
  • 实战|智能家居行业移动应用性能分析
  • 使用putty远程连接linux
  • 学习ES6 变量的解构赋值
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 在weex里面使用chart图表
  • 责任链模式的两种实现
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​批处理文件中的errorlevel用法
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • ​字​节​一​面​
  • # windows 运行框输入mrt提示错误:Windows 找不到文件‘mrt‘。请确定文件名是否正确后,再试一次
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #DBA杂记1
  • #if等命令的学习
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)