热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

CUDA中的"register"关键字

如何解决《CUDA中的"register"关键字》经验,为你挑选了1个好方法。

我有一个大程序,它使用我为每个线程分配的所有寄存器(64)并溢出到本地内存.我希望能够告诉编译器哪些变量应该不惜一切代价保留在寄存器中,以及哪些变量我并不关心."注册"C/C++关键字是否在nvcc中有效?是否有不同的机制?

谢谢!



1> Robert Crove..:

register如果您愿意,可以在CUDA C/C++中使用.在任何上下文中,它只是编译器的提示.它可能会被忽略.没有声明保证它可以做任何事情.

我认为这些陈述对于大多数语言实现来说都是如此register.

我还认为编译器很可能比决定寄存器中的内容和适当的优先级做得更好.

用于控制寄存器使用的典型CUDA C/C++机制在更高级别工作,它们是:

    -maxrregcount 编译开关

    在推出边界指令.


PTX是一个中间代码.它没有以任何保证的方式规定注册用法.它仍然经历一个编译步骤(通过ptxas或驱动程序运行时等效).我不知道有任何方法可以锁定或规定特定的寄存器使用,并且无法使用任何NVIDIA提供的工具直接编写CUDA代码(SASS(GPU汇编代码)).
正如Roberr Crovella所述,当涉及寄存器分配时,任何现代C/C++工具链(包括基于CUDA的C++工具链)都会忽略`register`关键字,因为它们都内置了复杂的寄存器分配机制.编译器可能禁止使用`register`属性获取变量的地址.
推荐阅读
  • vb.net不用多线程如何同时运行两个过程?不用多线程?即使用多线程,也不会是“同时”执行,题主只要略懂一些计算机编译原理就能明白了。不用多线程更不可能让两个过程同步执行了。不过可 ... [详细]
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
  • css div中文字位置_超赞的 CSS 阴影技巧与细节
    本文的题目是CSS阴影技巧与细节。CSS阴影,却不一定是box-shadow与filter:drop-shadow,为啥?因为使用其他属性 ... [详细]
  • 安装Tensorflow-GPU文档第一步:通过Anaconda安装python从这个链接https:www.anaconda.comdownload#window ... [详细]
  • 程序分析与优化9附录XLA的缓冲区指派
    本章是系列文章的案例学习,不属于正篇,主要介绍了TensorFlow引入的XLA的优化算法。XLA也有很多局限性,XLA更多的是进行合并,但有时候如果参数特别多的场景下,也需要进行 ... [详细]
  • 本文讨论了在iOS平台中的Metal框架中,对于if语句中的判断条件的限制和处理方式。作者提到了在Metal shader中,判断条件不能写得太长太复杂,否则可能导致程序停留或没有响应。作者还分享了自己的经验,建议在CPU端进行处理,以避免出现问题。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文介绍了腾讯最近开源的BERT推理模型TurboTransformers,该模型在推理速度上比PyTorch快1~4倍。TurboTransformers采用了分层设计的思想,通过简化问题和加速开发,实现了快速推理能力。同时,文章还探讨了PyTorch在中间层延迟和深度神经网络中存在的问题,并提出了合并计算的解决方案。 ... [详细]
  • modulepaddle.fluidhasnoattributedata解决:pipinstallpaddlepaddle-gpu1.7.0.post107-ih ... [详细]
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • 部分转载自:http:blog.csdn.netliujiuxiaoshitouarticledetails69920917头文件#include<assert.h& ... [详细]
  • 美国制造工程协会(AmericanSocietyofManufacturingEngineers,ASME)机器视觉分会和美国机器人工业协会(RoboticIndustriesAs ... [详细]
  • 本文整理了Java中android.support.v7.app.ActionBarDrawerToggle.onDrawerStateChanged()方法的一些代码 ... [详细]
  • 1print过程procprint<data数据集名><选项>;*label指定打印输出标签noobs制定不显示观测序号*by变量名1< ... [详细]
  • 20189216 2018-2019-2 《密码与安全新技术专题》第二次作业
    201892162018-2019-2《密码与安全新技术专题》第二次作业课程:《密码与安全新技术专题》班级:1892班姓名:鲍政李学号:20189216上课教师:谢四江上课日期: ... [详细]
author-avatar
sdfasdfqg
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有