我想自动缩放一些数据。所以,我想传递所有数据并找到数据的最大范围。然后我想查看数据,进行计算,并将结果发送到opengl进行渲染。在opencl中这种多通道事件是否可行?或者CPU是否必须指示“查找范围”计算结果,获取结果,然后用其指示其他计算?
答案 0 :(得分:0)
听起来你需要两个OpenCL内核,一个用于计算最小值和最大值,另一个用于实际扩展数据。使用OpenCL命令队列和事件,您可以按顺序排列这两个内核,并将第一个结果存储在全局内存中,在第二个内核中读取这些结果。 OpenCL命令队列和事件的语义(假设您没有启用无序执行)将确保一个在另一个之前完成,而不与主机应用程序进行任何交互(请参阅clEnqueueNDRangeKernel)。