异步计算
当使用#pragma offload target(mic) 方式分载时, cpu会等待offload的代码块执行完再继续往下执行, 如果不希望等待offload, 我们可以使用cpu和mic异步计算的方式. 具体方法为在offload的时候添加一个信号量, 如下面的形式:
1 | char signal_var; |
此时offload 的代码就会异步执行, 需要注意的一点是要制定mic的编号(如上面的target(mic:0)
), 如果需要等待offload执行完后在往下执行, 可以使用offload_wait
, 如下面的形式
1 |