加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

直面多元计算架构编程难题

发布时间:2021-06-13 11:17:19 所属栏目:云计算 来源:互联网
导读:软件加速硬件指数级创新 毋庸置疑,英特尔在硬件层面的创新是有目共睹的。但是进入到超异构计算时代,计算力指数级上升的实现一定是基于硬件与软件的结合。所以英特尔借助软件先行的战略,推进硬件和软件的共同创新,来引领异构计算的整合和创新,实现计算

软件加速硬件指数级创新

 

毋庸置疑,英特尔在硬件层面的创新是有目共睹的。但是进入到超异构计算时代,计算力指数级上升的实现一定是基于硬件与软件的结合。所以英特尔借助“软件先行”的战略,推进硬件和软件的共同创新,来引领异构计算的整合和创新,实现计算力指数级增长,满足未来多元化的计算需求。

 

在以数据为中心的战略指引下,英特尔不光在硬件层面进行创新,还在软件层面进行投入。因为整个计算架构不是原来的单一CPU架构,需要针对不同的架构和负载进行整合,软件在中间起了一个最关键的桥梁作用。

 

其实,英特尔在软件领域的投入是巨大。英特尔在全球大概十万到十一万人,软件工程师占到15%左右(15000名左右)。而在中国,英特尔亚太研发中心正式员工超过2000人,是涵盖英特尔各个产品部在中国最大的、最完整的综合性研发机构,拥有世界一流的工程研发能力。

 

英特尔通过软件实现软硬协同、生态共赢:提供简便可扩展的工具,来加速应用开发部署;坚持客户至上,针对不同类型的工作负载进行优化;秉承开放理念,推动开源、开放生态系统协作;产学研对接,培育面向未来的创新人才。

 

在软件生态构件中,开发者是重要一环。英特尔已经深入开发者生态领域超过20年,并有10000项与客户紧密合作的软件部署,是Linux Kernel最大的贡献者,每年修改的代码超过50万行,为100多个操作系统进行过优化,并且拥有超过两千万活跃开发者的生态,而这些只是英特尔庞大的软件实力的一部分。英特尔跨基础架构、网络、操作系统的开发经验,开发工具和SDK以及其所参与并影响的标准制定组织的数量在业界是无与伦比的。

 

基于这样深厚的积淀,英特尔希望通过“统一架构编程”,围绕架构创新进行扩展,并且让所做的一切都是简便和可扩展的。英特尔软件所做的事情使所有的硬件的每一个晶体管都能够能力充分发挥起来,使得开发者能够非常容易地把软硬件充分用起来。

 

oneAPI打造统一架构编程

 

跨架构(CPU、GPU、FPGA及其他加速器)开发能力对于处理数据密集型工作负载极为重要,因为这种工作负载需要多种架构,这也将成为未来的常态。不过多架构编程面临诸多挑战比如专用工作负载日益增多、尚无通用编程语言或 API、不一致的跨平台工具支持、每个平台需要单独的软件投资、需采用不同的以数据为中心的硬件等。

 

在今天,每一个硬件平台往往需要开发者维护独立的代码库,这些代码库需要使用不同的语言、库和软件工具进行编程。这是一项极其复杂和耗费时间的工作,会大大降低开发速度、抑制创新。

 

为了解决这样的业界难题,英特尔发布了一项全新软件行业计划oneAPI。oneAPI为异构计算提供了一个统一和简化的应用程序开发编程模型,这种统一性为开发者提供了一个统一的开发体验,因为其面对不同的异构硬件,他们不需要学习不同的编程方法。

 

具体来说,oneAPI基于标准的跨架构语言Data Parallel C++和SYCL功能强大的API,旨在加速特定领域的主要功能底层硬件接口,可为供应商提供硬件抽象层,支持针对不同的架构和供应商重复使用代码。也就是说oneAPI支持直接编程和API编程,并提供统一的语言和库,可以在包括CPU、GPU、FPGA和AI加速器等不同硬件架构上提供完整的本地代码性能。oneAPI的简单易用和高性能让开发者不再需要维护不同的代码库、多种编程语言以及不同的工具和工作流程。

 

英特尔对于未来计算的展望和承诺是:SVMS架构(S是Scalar标量,V是Vector向量,M是Matrix矩阵,S是Space空间),也就是我们前面提到的超异构计算。而在SVNS架构之上,英特尔构建oneAPI,对这些硬件进行了抽象。开发者针对的是这个抽象来写程序,而不是具体的硬件。在oneAPI是框架和中间件框架提供了更高一层的抽象和语义,开发者可以在上面快速开发,高效部署。

 

我们可以将oneAPI理解成英特尔的中间件层,上面有各种不同类型的行业应用,如果你要调英特尔底层的硬件,就统一用oneAPI进行研发。比如面向视觉计算的OpenVINO就是构建在oneAPI之上,支持CPU、FPGA、Movidius、GPU等,编写一次以后可以通过异构的接口支撑跑在其他的硬件平台之上。

(编辑:大连站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!