OpenCL学习,并简要与CUDA对比 您所在的位置:网站首页 opencl和cuda是什么意思 OpenCL学习,并简要与CUDA对比

OpenCL学习,并简要与CUDA对比

2024-07-11 08:10| 来源: 网络整理| 查看: 265

一、概述 当单核处理器因为功耗和指令级并行的问题导致其性能达到瓶颈,为了提供更高性能的处理器,多核和向量化的处理器开始发展。想要充分利用多核和向量化的计算能力,必须要写向量化和多线程的代码。C语言程序扩展——CUDA、OpenCL通过层次化的线程/编程模型是的一份代码同时支持向量化和多核。目前它们已经被应用于GPU的异构计算中,其中OpenCL还支持X86 CPU、ARM和部分移动端的处理器。 CUDA由NVIDIA推出,成为计算统一设备架构(Computing Unified Device Architecture)。CUDA由NVIDIA一家设计,未被Intel和AMD接受,所以CUDA目前只支持NVIDIA GPU。 OpenCL称为Open Computing Language,由Apple提出,是异构平台并行编程的开放的标准,也是一个编程框架。OpenCL包含两个部分,OpenCL C语言和主机端API、硬件架构的抽象。相比与CUDA,OpenCL的优点在于可以提供一种能在不同平台移植的编程方式。 二、什么是OpenCL

OpenCL是异构并行计算程序的工业标准,其异构并行计算框架可以划分为平台模型、存储器模型、执行模型和编程模型。

1.平台模型 关于OpenCL对硬件的抽象。

OpenCL的设备平台包含一个主机以及一个或多个OpenCL设备,每个OpenCL设备包含一个或多个计算单元,每个计算单元包含一个或多个处理单元。主机与OpenCL设备之间的信息传输主要通过PCIe总线。

2.执行模型

主机端程序运行在主机处理器上,主机端程序一命令



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有