异构计算给我们带来了哪些思考?

虽然异构计算的快速发展给企业创新带来了更加强大的算力支撑,但真正推动异构计算的高速发展和应用落地,笔者认为还需要在以下三个方面做好功课。
从2022年火爆全球的元宇宙,到今年的ChatGPT,以人工智能为代表的科学技术正在创造出无限的可能,而这背后,离不开算力的强力支撑,这也成为异构计算如何火爆的原因之一。
在这里插入图片描述事实上,异构计算并非新的概念,其早在上世纪 80 年代中期就已经被提出,当时便被认为有着计算能力强、可扩展性好、资源利用率高等特点。随着数据处理技术的不断成熟,以及人工智能技术的飞速发展,异构计算已经成为当前和未来的主要计算方式。

2021年7月,工信部发布《新型数据中心发展三年行动计划》明确提出,推动CPU、GPU等异构算力提升,逐步提高自主研发算力的部署比例,推进新型数据中心算力供应多元化。

虽然异构计算的快速发展给企业创新带来了更加强大的算力支撑,但真正推动异构计算的高速发展和应用落地,笔者认为还需要在以下三个方面做好功课。

一要从底层出发,建立创新框架

目前的异构计算行业,处于群雄争霸的格局。除了诸如英特尔、AMD、NVIDIA等国外的CPU、GPU巨头企业之外,国内也如雨后春笋般的成长出一些DPU、TPU企业。目前,主流的CPU+GPU的异构计算方式虽然已经被应用于各种行业场景当中,但纵观整个异构计算,仍旧没有一家企业能够提供一套具备全套完整自主知识产权。

众所周知,一套具有完整自主知识产权的底层创新体系至关重要,尤其是对于国内企业而言,只有建立这样一套完整的自主知识产权体系,才能彻底摆脱行业巨头的专利限制。

因此,企业必须采用全新的理念来设计核心自主知识产权,建立全新的底层框架,才能在未来的竞争中处于不败之地。

二要软硬件并行,两条腿走路

提到异构计算,更多的人关注底层计算芯片,包括CPU、GPU、DPU等等。

的确,底层计算芯片在异构计算体系中扮演着十分重要的作用,但是,如果只关注底层硬件架构,而忽视软件开发,同样无法推动异构计算的发展。

众所周知,传统异构编程计算任务要在多个供应商提供的不同计算单元上运行,需要熟悉不同计算单元之间数据流的调度、交换和决策机制,这些对于异构计算系统开发者来说,都是门槛很高的难题。一个统一的编程环境可以大幅简化编程复杂度、大幅降低工作量并提升程序运行效率。

以英特尔为例,其不但在硬件上不断完善 CPU、GPU、ASIC、FPGA 领域的产品线, 同时在软件层面持续发力, 并推出了oneAPI软件编程架构,以此来最大化硬件性能。

NVIDIA同样特别注意软硬件的携同开发,不但推出了不同规格的GPU,还发布了CUDA并行计算平台和编程模型,以此来让用户通过利用图形处理器 (GPU) 的处理能力大幅提升计算性能。
在这里插入图片描述实际上,对于企业的开发者而言,由于异构计算改变了传统的以CPU为计算单元的开发模式,对应用的开发带来了不小的挑战。阿里云弹性计算产品经理吴天议在最近的一次技术公开课上就明确表示,从单核到多核,再到基于CPU、GPU、DPU等不同计算芯片的平台,应用开发的难度在不断提升,这就要求开发者在算法上进行精细化的设计,并行化拆分任务,更好的利用CPU与GPU,真正发挥CPU与GPU的性能。

吴天议表示,大规划分布式计算模型进一步降低了开发难度,让上层应用更加关注业务逻辑本身,通过底层的调度更好的利用CPU与GPU等不同的计算单元。

三要注重生态建设,建立健全生态体系

我们知道,异构计算是将CPU、DSP、GPU、ASIC、FPGA等不同制程架构、不同指令集、不同功能的计算单元,组合起来形成一个混合的计算系统。

在这生态体系中,有着不同的厂商参与,彼此之间即是竞争关系,又是合作关系,只有通过多方的合作,才能不断优化算力架构,提高计算效率,因此建立健全生态体系,对异构计算的发展至关重要。

可以说,生态体系决定了对于产业的吸引力和发展前景,谁掌握了生态谁就有发展的主动权,可以主导产业的发展方向,同时获取丰厚的商业利益。

四要让专业的人干最专业的事情

随着人工智能的大爆炸,数据量的飞速增长,传统以CPU为主要计算单元的算力构成方式,显然已经无法满足当前企业对于算力的需求,也不符合企业绿色可持续发展的要求。只有将CPU、GPU、FPGA、DPU等计算芯片组合在一起,才能真正给企业带来高性价比的算力。

当然,异构计算的发展需要从底层创新开始,不断优化软硬件,并建立强大的生态体系,与全产业链的共同协作,才能真正迎来大爆发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/7718.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Unity Animation -- 改进动画效果

使用曲线(Curves)改善动画 在上一篇笔记中(Unity Animation -- Overview_亦枫Leonlew的博客-CSDN博客),我们制作了简单的小球弹跳的动画,但这个动画看起来很不自然,小球的弹跳看起来就像是不受…

Vue3信息提示(Modal)

Vue2信息提示(Modal) 可自定义设置以下属性: 标题描述(title),类型:string,默认 Title 内容描述(content),类型:string,…

盲盒经济下与社交电商结合,打造电商卖货新模式

如今,盲盒经济正在从线下延伸到线上,从潮流玩具扩展到美妆、食品、服装、数码等领域,形成了一种新的电商生态。 什么是盲盒电商? 盲盒电商是一种电商行业的营销模式,通过发起盲盒活动或拆盲盒,让参与者不…

MongoDB 查询文档(3)

我们之前讲解过,查询文档的语法: db.collection.find(query, projection, options) 其中 query 代表的是查询过滤器,projection 代表的是文档返回的字段,options 代表的是用于查询的其他选项; 我们已经对query进行了…

Ubuntu16.04虚拟机下安装Qt5.10.0

首先安装虚拟机Vmware,具体参见: Win10安装Vmware+Ubuntu16.04_芯片-嵌入式的博客-CSDN博客 安装完成后,下载qt-opensource-linux-x64-5.10.0.run,使用U盘来实现win10和ubuntu虚拟机之间的文件传输,cp到一个目录后,sudo ./qt-opensource-linux-x64-5.10.0.run进行运行,…

I/O多路转接之select

初识select 系统提供select函数来实现多路复用输入/输出模型.* select系统调用是用来让我们的程序监视多个文件描述符的状态变化的; * 程序会停在select这里等待,直到被监视的文件描述符有一个或多个发生了状态改变;select函数原型 select的函数原型如下: #include …

SpringCloud 使用sentinel

一、添加依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency> 二、配置文件配置地址 spring:cloud:sentinel:transport:dashboard: localhost:8080三…

【CSS】课程网站 网格商品展示 模块制作 ① ( 网格商品展示模块盒子模型测量及样式 | 顶部文本标题盒子测量及样式 | 代码示例 )

文章目录一、网格商品展示模块盒子模型测量及样式1、盒子尺寸测量2、标题盒子尺寸测量和样式3、左侧文本盒子尺寸测量和样式4、右侧文本盒子尺寸测量和样式二、顶部文本标题盒子代码示例1、HTML 标签结构2、CSS 样式3、展示效果绘制矩形框中的部分 : 一、网格商品展示模块盒子…

【服务器数据恢复】NTFS分区被格式化如何恢复数据?

服务器数据恢复环境&故障&#xff1a; 误操作格式化服务器RAID5磁盘阵列下的分区&#xff08;NTFS文件系统&#xff09;。 服务器数据恢复过程&#xff1a; 1、将故障服务器连接到北亚企安备份服务器上&#xff0c;将故障服务器的所有硬盘设置为脱机状态&#xff0c;然后以…

什么是中间件?

一、什么是中间件&#xff1f; 1、百度百科 中间件是介于应用系统和系统软件之间的一类软件&#xff0c;它使用系统软件所提供的基础服务&#xff08;功能&#xff09;&#xff0c;衔接网络上应用系统的各个部分或不同的应用&#xff0c;能够达到资源共享、功能共享的目的。目…

手写简易 Spring(二)

文章目录手写简易 Spring&#xff08;二&#xff09;1. 扩展 BeanFactory 接口2. 实现资源加载器&#xff0c;从 Spring.xml 解析和注册 Bean 对象1. 核心实现类 XmlBeanDefinitionReader3. 实现应用上下文&#xff0c;自动识别、资源加载、扩展机制1. 应用上下文2. 核心实现类…

java基础之抽象类与接口

文章目录1.抽象方法和抽象类2.抽象类的作用3.接口4.接口和抽象类的异同5.面向接口编程1.抽象方法和抽象类 抽象方法和抽象类必须使用abstract修饰符来定义&#xff0c;有抽象方法的类只能被定义成抽象类&#xff0c;抽象类里可以没有抽象方法。 抽象类必须使用abstract修饰符来…

【Redis学习】Redis入门概述

Redis是什么 Redis:REmote Dictionary Server(远程字典服务器) 官网介绍&#xff1a;The open source, in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker.&#xff08;被数百万开发人员用作数据库、缓存、流…

在云服务部署前后端以及上传数据库

1.上传数据库(sql文件) 首先建立一个目录&#xff0c;用于存放要部署的sql文件&#xff0c;然后在此目录中进入mysql 进入后建立一个数据库&#xff0c;create database 数据库名 完成后&#xff0c;通过select * from 表名可以查到数据说明导入成功。 2.部署Maven后端 将Ma…

【预处理和程序环境】

预处理和程序环境一、程序的翻译环境和执行环境二、详解编译链接三、#define1. #define定义标识符2. #define定义宏3. #define的替换规则4. #和##4.1 #的使用4.2 ##的使用四、宏和函数对比五、条件编译一、程序的翻译环境和执行环境 我们的代码写完后称为源代码&#xff0c;源…

如何正确配置美国网络服务器?

在使用美国网络服务器时&#xff0c;充分注意其配置对于确保服务器和网络的性能、稳定性和安全性至关重要。网络服务器配置是指设置和配置网络服务器的硬件和软件以使其启动和运行的过程。它涉及多个步骤&#xff0c;包括配置操作系统、网络协议、安全设置、用户访问、共享资源…

linux驱动开发 - 01_字符设备驱动开发

文章目录字符设备驱动开发1. 字符设备驱动简介2 字符设备驱动开发步骤2.1 驱动模块的加载和卸载2.2 字符设备注册与注销2.3 实现设备的具体操作函数2.4 添加 LICENSE 和作者信息3 Linux 设备号3.1 设备号的组成3.2 设备号的分配4 chrdevbase 字符设备驱动开发实验4.1 实验程序编…

QT 之基础(一) 详解UI文件设计与运行机制

一、项目文件组成 1.1 创建一个项目文件 建立好项目如下 &#xff08;1&#xff09;项目组织文件【untitled.pro】 存储项目设置文件 QT core gui //表示项目中添加core gui模块 greaterThan(QT_MAJOR_VERSION, 4): QT widgets //条件执行语句&#xf…

【消息队列】聊一下如何避免消息的重复消费

什么是重复消费 一条消息在传输过程中&#xff0c;为了保证消息的不丢失&#xff0c;可能会多少量的消息进行重试&#xff0c;这样就可能导致Broker接受到的消息出现重复&#xff0c;如果说下游系统没有针对业务上的处理&#xff0c;那么可能导致同一笔借款或者支付订单出现重…

【Java多线程基础】Java线程的状态及主要转换方法

借鉴文献&#xff1a; 深入浅出Java多线程 注&#xff1a;《深入浅出Java多线程》是一本书&#xff0c;小编看的是它的 pdf&#xff0c;上面那个网页和书中内容是一致的。小编在起初学习多线程的时候是通过看视频的形式&#xff0c;学的模模糊糊的&#xff0c;这本书感觉很适合…