问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

OpenCL是什么,查了半天没看懂,能简单明了的告诉我是干什么的有什么功能...

发布网友 发布时间:2022-04-24 20:57

我来回答

7个回答

热心网友 时间:2022-04-11 23:24

OpenCL是GPU通用运算API。是显卡作通用浮点运算的API。比如视频转码,原来这个工作都是CPU来做的。现在显卡运算能力比较强,这个工作完全可以交给显卡来做。

要调用显卡,这个工作不需要再由程序员考虑了,因为已经有一个现成的接口了,程序员只要管好转码的算法,然后直接调用OpenCL中现成的指令,这个工作就自动由CPU转交到GPU了。

OpenCL是一个为异构平台编写程序的框架,此异构平台可由CPU,GPU或其他类型的处理器形成。OpenCL由一门用于编写kernels (在OpenCL设备上运行的函数)的语言(基于C99)和一组用于定义并控制平台的API组成。OpenCL提供了基于任务分割和数据分割的并行计算机制。

OpenCL类似于另外两个开放的工业标准OpenGL和OpenAL,这两个标准分别用于三维图形和计算机音频方面。OpenCL扩展了GPU用于图形生成之外的能力。OpenCL由非盈利性技术组织Khronos Group掌管。

扩展资料

API之主要目的是提供应用程序与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。提供API所定义的功能的软件称作此API的实现。API是一种接口,故而是一种抽象。

应用程序接口(英语:Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。[1]

参考资料来源 OpenCL_百度百科

热心网友 时间:2022-04-12 00:42

全称Open Computing Language,开放运算语言,是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境。

用于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码。

广泛适用于多核心处理器(CPU)、图形处理器(GPU)、Cell类型架构以及数字信号处理器(DSP)等其他并行处理器,在游戏、娱乐、科研、医疗等各种领域都有广阔的发展前景。

你可以这样理解,把写程序当成做饭,你需要做蛋炒饭,OpenCL就相当于鸡蛋,炒饭。你不必把母鸡养大,然后等它下蛋,你也不必去种地,等大米成熟。无论你想做蛋炒饭,西红柿炒鸡蛋,直接拿来用就好了。

程序员在写程序时,会遇见写重复代码的情况,一段代码比较常见,需要经常用到它,那就把它单独拿出来,用的时候,直接放进去就好了,不用再重新写,大大减少了工作量。

扩展资料

在这里汇总一些OpenCL的基本概念,包括设备、核函数、主机、平台等,把这些概念跟CUDA类比,理解起来就很容易了。

设备(Device): GPU及其显存组成的计算系统。

核函数(Kernel): 是在设备程序上执行运算的入口函数,在主机上调用。

SIMT(Single Instruction Multi Thread): 单指令多线程,GPU并行运算的主要方式,很多个多线程同时执行相同的运算指令,当然可能每个线程的数据有所不同,但执行的操作一致。

工作项(Work-item): 跟CUDA中的线程(Threads)是同一个概念,N多个工作项(线程)执行同样的核函数,每个Work-item都有一个唯一固定的ID号,一般通过这个ID号来区分需要处理的数据。

工作组(Work-group):跟CUDA中的线程块(Block)是同一个概念,N多个工作项组成一个工作组,Work-group内的这些Work-item之间可以通信和协作。

ND-Range: 跟CUDA中的网格是同一个概念,定义了Work-group的组织形式。

主机(Host): CPU及其内存组成的计算系统。

品台(Platform): 主机和OpenCL管理框架下的若干个设备构成了一个品台,所有GPU操作都限定这这个选择的Platform上运行。OpenCL编程的第一步就是选择并初始化一个平台。

上下文(Context): 定义了整个OpenCL的运行环境,包括Kernel、Device、内存管理和指令队列等。

指令队列(Command-Queue): 一些需要在设备上执行的OpenCL指令的集合。

参考资料来源:百度百科-OpenCL

热心网友 时间:2022-04-12 02:16

OpenCL和OpenGL是两个不同的API。
OpenGL是3D API。
OpenCL是GPU通用运算API。

要理解什么是OpenCL,首先要明确一下什么叫API(应用程序接口)。

API是已经开发好的一些函数。

举个简单的例子。

比如编写一个程序,其中有一个步骤要将运算的内容输出到打印机上。那么为了这个步骤,得写一大堆程序,包括如何调用打印机的驱动,为硬件分配I/O地址等等。相当繁锁。

OK,现在这个程序写好了,要开发第二个程序了。结果发现,第二个程序中,也有一个步骤是要把内容打印出来的。那么就没必要再把程序重新写一遍了,直接把第一个程序中这个函数复制过来就好了。

久而久之,大家干脆把一些常用的函数给独立出来,就是API。这样,所有软件,无论是WORD、WPS、PHOTOSHOP还是其他软件,都不需要费事单独去写这段代码了,直接从API里调用就好。这样一来,不仅开发过程简化了,程序本身也更精练了。

那么OpenGL或DirectX是什么呢?是负责3D图形处理的API,包括各种光照、纹理、烟雾、阴影等效果。程序员在开发游戏的时候,只要考虑什么时候、在哪个位置,加上什么样的烟雾,就可以了。而不必考虑究竟要怎样去编写代码,才能实现烟雾效果的问题。

OpenCL呢?是显卡作通用浮点运算的API。比如视频转码,原来这个工作都是CPU来做的。现在显卡运算能力比较强,这个工作完全可以交给显卡来做。那究竟怎样调用显卡呢?这个工作不需要再由程序员考虑了,因为已经有一个现成的接口了,程序员只要管好转码的算法,然后直接调用OpenCL中现成的指令,这个工作就自动由CPU转交到GPU了。

说得有点复杂,也不是很严谨,但大概意思就是这样的,不知道题主看明白了没。

热心网友 时间:2022-04-12 04:08

做异构计算的。你可以把异构理解为对设备进行抽象。就像我们编程会对类和方法进行封装抽象一样。这个东西可以对设备进行抽象,就是说不管你是gpu啦,cpu啦,还是说你接入了一些fpga、dsp这样的设备;他都可以通过标准化配置,把他们视为一个组(group),然后给其中一个设备分配控制权(通常是cpu来担任此角色),协同一起进行计算。
也就是说,你用不在意“cpu应该怎么做”、也不用关心“gpu又该怎么做”,更不用在意“如果我想让cpu和gpu‘交火’,他们应该如何协调”。OpenCL帮你搞定这些细节。
更通俗点讲,就是它为你提供方法组件你的“智囊团”,但你不用过于关心里面成员各自的特性。
题外话:这东西我记得最早可以说是从OpenGL延伸来的,那个时候CPU的算力有限,一些先驱探索者们,尝试用一些小把戏,通过OpenGL的接口,达到“让它帮我计算,但却不需要渲染图形”的目的。久而久之,这样的需求促使了这个标准的诞生和发展。(不知道有没有记错。。。)所以现在你看到了,我们不仅可以“让GPU帮我计算,但不用渲染”,还可以“让各种不同特性不同风格的设备联合在一起帮我计算”,而你不用关心他们内部如何协作。——如果要让你亲自来协调多种设备高效协作计算,那对开发者而言门槛无疑是很高的;因为光是在一个CPU以外的设备上好好执行计算已经颇有难度了,更别提还有一些开发者可能在CPU上用多线程都会出各种问题。

热心网友 时间:2022-04-12 06:16

最直白就是英伟达是cuda加速,AMD可以用opencl加速,opencl出来之前,win平台a卡渲染视频基本就是费,就是cpu累死,显卡也只能围观

热心网友 时间:2022-04-12 08:40

OpenGL吧. 图形运算接口 和DirectX类似。 但是现在大部分游戏都是用DirectX来渲染的. OpenGL现在更多用于专业绘图 图形站。 一部分游戏还是会用到 . 目前DirectX是民用主流就是了.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
vivo闪电手柄没法一键连招 vivo闪电游戏手柄如何设置最佳_vivo闪电游戏手柄设置教程 switch跳舞的游戏叫什么 量子特攻怎么使用灌木 量子特攻量子魔方有什么用 量子技能介绍 量子特攻怎么换技能介绍_量子特攻怎么换技能是什么 量子特攻战斗中更换时装和机仆技能方法介绍 量子特攻如何设置快捷机仆技能_量子特攻设置快捷机仆技能方法介绍_百度... 换新显卡,显示器不亮!DVI-D无信号 怎么回事大佬棒棒忙? 求大佬带飞,电脑相关问题 NVIDIA GEFORCE GT 730 怎么打开OPENCL? cuda比opencl 快多少 防护工业面罩注册商标属于哪一类? 支持OpenCL的显卡 防护帽用品注册商标属于哪一类? 电脑主机的网线连接处一直闪黄灯的原因是什么? 安全头盔垫注册商标属于哪一类? 头盔锁注册商标属于哪一类? 摩托车帽盔注册商标属于哪一类? 摩托雪橇头盔注册商标属于哪一类? 上海从什么时候开始有的? 微信好友被删了,自己又不知道他的了。怎么找回? 删除微信好友不记得怎么加回来? 微信删除好友怎么才能加回来我不知道他 怎么样找回已删除的微信好友,没有了 微信删除好友,不记得,任何联系方式都没有,怎么找回来 书包在权创商标注册那注册属于第几类? 缝纫机商标注册属于第几类? 把微信好友删除了!我怎么找回他的微信!没有记住,也没有手机号 交通工具商标注册属于第几类? 显卡无法开启OPENCL,求助 显卡opencl是什么 opencl选择AMD还是NVIDIA,哪个的显卡更适合openCL ATI显卡纯OpenCL版驱动是什么意思? 怎样让显卡支持opencl驱动 nvid RTX2070显卡opencl怎么开启? 求助,Nvidia显卡如何安装配置OPENCL 锐距集成显卡支持opencl1.2么? 为什么我的显卡不支持opencl CUDA和opencl的显卡渲染有什么不同吗? 怎么开启A卡的opencl,我要用ps啊。这是怎么回事啊? 玩游戏如果要显卡加速需要支持opencl,显卡是HD5650,怎么办? 英伟达的显卡,哪些型号支持OpenCL?哪里可以查到N卡支不支持OpenCL? 请介绍下支持opencl 1.2 的N卡列表 记账凭证封面,自己用A4纸打印的可以使用吗 记账凭证封面可以自己直接a4纸打印装订吗? 凭证封面到哪里可以弄到?财务软件上带吗? 记账凭证封面的填写部分可以打印吗 A4记帐凭证怎么装订,左侧打孔吗?用什么穿?怎么订起来? 一张A4纸上可以打几张凭证?封面的格式?怎么打 金蝶凭证打印出来宽度怎么调啊?就是我原先的凭证封面比较窄,现在的比较宽,怎么调整打印的凭证以适应封