GPGPU-Sim(番外)-GPGPU-Sim的模拟机制

这是我本科毕设内容的一部分,内容是一篇论文中的一部分,仅供学习,欢迎拍砖

 CUDA程序的正常编译流程和GPGPU-Sim下CUDA程序的编译流程

如图,我们展示了CUDA应用程序在GPU和GPGPU-Sim下的编译运行过程。
CUDA应用程序分为device代码和host代码。当在GPU上编译CUDA应用程序时,nvcc编译器会将device代码和host代码区分开。device代码会被编译成ptx,再由ptxas编译成cubin.bin文件,最后再和host代码、libcuda.a一块由底层的C/C++编译器编译链接生成可执行文件。在运行CUDA应用程序时,通过调用libcuda内的接口从而在GPU上运行device代码。
GPGPU-Sim的模拟机制为通过编程语言自定义生成libcuda.a库文件,该库文件实行了CUDA Runtime函数库内大部分函数的重定义,用于替换CUDA应用程序编译链接时所需的libcuda.a。在执行CUDA应用程序时,就会通过libcuda调用GPGPU-Sim的内的模拟接口,从在实现在GPGPU-Sim上模拟实现CUDA应用程序。
根据GPGPU-Sim的模拟机制,我们就可以通过修改Sim的代码,实现我们的目的。比如,在CUDA应用程序输出自己需要的数据等等。

转载请注明出处!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值