由于OpenCL在异构系统上进行计算,需要管理并调度多个设备,就需要在设备之间内部或外部进行数据交互以及同步。
计算设备计算后返回。但是宿主机需要管理多个计算设备,多个命令队列。那么宿主机是如何管理、调度这些对象的呢。没错,就是事件(event)。
OPenCL作为开放性的异构计算的标准,支持的平台有CPU、GPU、DSP、FPGA。支持的设备如此不同,那么需要对它们有一个统一的分层、模型划分,才能让各家更好的实现--平台模型、执行模型、内存模型、编程模型。
目前而言,intel、Nvidia、ARM、AMD、QUALCOMM、Apple都有其对应的OpenCL实现。在这个系列中,我们着眼于OpenCL的语法以及编程概念。不去深究各家实现的异同。
将图像处理的算法转换为FPGA系统设计的过程称为算法映射,CPU并行算法的实现与FPGA并行算法的实现是有一定区别的。
介绍Linux基础概念
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号