研究文章

优化数据传输基于OpenCL事件管理机制

清单1

一个简单的伪代码结合OpenCL和MPI。
( )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,);
( )}