同步与异步指令

各位先进,

请教如何知道一指令为同步(synchronous) 或异步(asynchronous)?
所谓同步即由 Host 端呼叫后, 当Device 完成后才会将控制权回给 Host 执行后面的程序
例如据小弟所知 cudaMemcpy 为同步, 而由 Host 端呼叫的 kernel function 为异步.
也就是说 kernel function 被呼叫后, 控制权立即回给 Host 执行后面的程序.

但是查询 nVidia 的 Programming Guide or Reference, 并没有明确定义哪些介于 Host and Device
之间的指令为 synchronous or asynchronous, 多为片段提及.

因此想要请教一下, 有哪些资料可以查询或如何分辨? 谢谢.

后面有async的都是异步的

device to device memcpy
kernel launch
和带有async后缀的host-device间memcpy是异步的

[
恩,是的!.

External Media

开源图形处理器体系结构论坛(OpenGPU论坛) http://www.opengpu.org/bbs/

OpenGPU Graphics Open Source community图形开源社区),聚焦领域(focus domain)包括:
* GPU Architecture(图形处理器体系结构).
* Graphics Algorithm(图形算法).
* GPGPU Programming (面向通用的图形处理器编程).
* Open Source Rendering Engine(开源渲染器).
* Open Source GPU Simulator/RTL Implement(开源GPU模拟器).

[ 本帖最后由 OpenGPU 于 2010-3-10 16:58 编辑 ]