研究文章
优化数据传输基于OpenCL事件管理机制
| ()cl_command_queue cmd; |
| ()cl_kernel kern; |
| ()cl_event evt; |
| () |
| ()为(int(0);我< N;+ + i){ |
| ()/ /(1)计算设备上 |
| ()clEnqueueNDRangeKern埃尔(cmd,克恩,…0零evt); |
| () |
| ()/ /(2)从设备主机读取结果 |
| ()clEnqueueReadBuffer(cmd,…1 evt零); |
| ()clFinish(cmd);/ /主机线程被阻塞 |
| () |
| ()/ /(3)与其他节点交换数据 |
| ()MPI_Sendrecv(…);/ /阻塞函数调用 |
| () |
| ()/ /(4)将接收的数据写入设备内存 |
| ()clEnqueueWriteBuffer (cmd,…); |
| ()} |
|