opencl初步基本理解

来源:互联网 发布:软件开发的薪酬 编辑:程序博客网 时间:2024/05/16 08:30


目录(?)
[+]

介绍

对于OpenCL来说,它的执行过程可以这样理解:一段代码,.cpp的那个是在host上面执行的,也就是那段非kernel的代码。而kernel的那段代码来说,是在设备上执行的。对于平台,设备,上下文什么的都是一些比较抽象的概念。

首先要想执行一段代码,首先就是在host上找一个可用的平台,然后找一个可用的设备。通过设备去建立上下文。通过上下文来创建命令队列。要是想执行程序的话是要在这个抽象的设备里面执行kernel之后把执行的结果在放回到host里面。

总结

1. 在平台模型中,一个主机协调在一个或多个OpenCL设备上的程序执行,平台可以看作是厂商特定的API实现的。因此,平台是上的设备只局限于厂商知晓如何进行交互的设备。如果选择A公司的平台是无法与B公司的GPU进行通信的。

2. AMD的平台不仅支持AMD自己的设备,还支持Intel的CPU。

3. host和设备之间是通过内存进行转换的。

0 0
原创粉丝点击