本文备注/经验分享:
这章节主要说了如何优化Host和Device间的数据传输。...首先章节说, 应当尽量尝试能减少传输量就要减少,例如一段数据如果原本需要从显存移动到内存, 然后CPU继续处理;那么如果通过代码改写, 将一些CPU上的代码改写成GPU版本, 这样就可以不用移动这些数据了...可以在kernel一边执行的同时, 一边自动从PCI-E传输过来. 这样kernel的计算指令实际上能和PCI-E传输overlap, 节省时间;
但也需要注意的是, 使用多次的数据不应当这样....总之本章节说, 能不传输就不传输, 例如对于可以改变数据处理代码的位置(从CPU到GPU); 或者不需要传输(集成或者TX2类的)就应当尽量不需要传输.然后还说了, 如果真的要传输, 尽量使用一次性大量传输...本章节还说了, 有的时候可以让kernel执行和数据传输在指令级overlap提高性能, 适合那些只读一次或者只写一次的数据(或者例如最终结果的回传, 可以直接集成在kernel中, 让kernel直接写内存