CUDA学习笔记-CPU与GPU交互
本节来解决这三个问题,第一个锁页主机的内存,可以说一语道破天机了.
锁页的意思就是一块内存地址不在操作系统的统一管理之内,使用权移交给别的设备
所以对于写CUDA的程序来说,无时不刻不在构建并发程序
这个图是GPU通过锁页内存直接访问CPU的内存空间
这个东西我有点不太明白
好像是这么个意思,就是CPU和GPU调试想操作这快内存该怎么办.缓存区的内在运行方式是如何的?我看了很久的书也没有看懂.先GPU把要操作内存的这些命令(有很多)先存储起来.CPU将这些GPU的这些命令写入到一个供GPU命令消耗的缓冲区.在这个区域里面.GPU先运行以前缓存进来的命令.这个命令缓存区内的命令的状态都不太一样,命令的前缘由CPU 构建此时没有准备好供GPU来执行.中间的命令已经Ok了.直接GPU就可以执行.
而且CUDA可以重用已经执行过程序的内存
就好像是循环的,前面用,后面补.
然后在一个CUDA的程序运行的期间,CPU要执行几千个机器周期
上面的图是说了两种程序的受限的情况.就是CPU等GPU还是GPU等CPU.在未来写程序的时候,如果知道是什么受限型的程序未来的优化空间就很大~
以上的说明都是CPU和GPU按照并发运行的
在下节我会讲到加速比等问题~会有一点学术的味道哦!
赞 (0)