CUDA/PTX 32位与64位

 形同陌路2502906543 发布于 2023-02-10 00:22

CUDA编译器可以选择生成32位或64位PTX.这些有什么区别?对于x86来说,NVidia GPU实际上有32位和64位ISA吗?或者它只与主机代码有关?

1 个回答
  • 指针肯定是最明显的区别.64位机器模型启用64位指针.64位指针可以实现各种功能,例如大于4GB的地址空间和统一的虚拟寻址.统一虚拟寻址反过来启用其他功能,例如GPUDirect Peer-to-Peer.在CUDA IPC API还取决于64位机型.

    x64 ISA 与x86 ISA并没有完全不同,它主要是它的扩展.那些熟悉x86 ISA的人会发现x64 ISA很熟悉,在需要时可以自然扩展64位.同样,64位机器模型是PTX ISA功能扩展到64位.大多数PTX指令的工作方式完全相同.

    32位机器模型能够处理64种数据类型(如doublelong long),所以经常出现不需要是正确写入CUDA C/C++源代码编译为32位机器模型或64位计算机模型的任何变化.如果直接在PTX中编程,则可能必须至少考虑指针大小差异.

    2023-02-10 00:52 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有