什么是高性能计算岗位

最近有小伙伴咨询什么是高性能计算岗位。

1、什么是高性能计算

高性能计算,在很多招聘信息中也会被标注为 HPC,是 High Performance Computing 的缩写。

目前很多 AI 公司或者从事 AI 的部门招聘都有这个岗位需求,我从某聘上截取了几个有代表性的公司的招聘信息,分别是某度、某跳动和某汤,大家可以感受一下。

总结一下该职位要做的事情就是:基于某一硬件平台(AI芯片加速器或某些指令集),完成一些算法的高性能计算实现和算法优化。

比如某汤的职位信息中可以看出,要求候选人有Graphcore、华为等公司的开发经验,也就是说,他们内部可能会针对很多家不同的硬件平台做算法实现和加速,提供更高效的加速算法包。

在比如某跳动的职位信息中,要求熟悉高通平台上的一些技术,说明他们用的是高通的芯片做的算法加速。

所以不同公司要求的熟悉的平台(芯片、指令集)不同,这主要看他们在使用谁家的平台。

这种要求我感觉也不是说一定要有招聘中要求的平台开发经验,有类似平台其实也可以,也是一种优势。

2、 这个岗位是做什么的(职责)?

此类岗位职责一般集中在两大部分。

第一部分内容是高性能计算库的研发和模型的优化,这是最主要的职责,比如某度中写的那样。

这些计算库是什么东西呢?

举个例子:我之前在CPU上写过一个卷积算法,性能很差,实际部署模型时肯定都希望有一个快速的算法来完成模型推理,这些计算库中可能就包含了一些高效的卷积算法实现。

类似于 C++ 标准库中的算法,别人写好封装好,我们直接调用就行,不光功能稳定,而且性能超好。

计算库的研发就是干这个事儿的,里面会实现并且封装各种各样神经网络的基础算法,来支持模型在某一平台上的加速运算。

基于这一部分工作内容,需要的技能如下:

  • 熟练的C/C++编程能力。这个很好理解,C/C++在底层运算上性能很好。
  • 熟悉一些加速库的实现和相关算法。

悉计算机体系结构和一些常见的并行技术。加速库的研发,不光要从算法上做,还要从芯片(计算机)本身来寻找突破点,并行技术(比如多线程/SIMT)可以成倍地提高计算性能。

很多公司希望有 CUDA 开发经验,因为 CUDA 编程也属于一种多线程技术,做的数据并行化计算。

第二部分内容是参与某新一代芯片的设计研发,比如某度和某汤所写的那样。

这一点有些小伙伴可能有点模糊:参与下一代某芯片的设计研发?难道我做软件开发还需要参与硬件设计吗?

当然不是这样的,这个职责的意思是:由于你在现在这一代芯片上做开发,是它的直接使用者,这一代芯片设计的如何、指令集完不完善、性能好不好、哪一块你用着不舒服还有待改进,都可以和硬件设计的同事沟通,指导他们对下一代硬件设计进行完善,使得公司产品不断迭代。

说白了,就是你作为软件研发者和硬件的直接使用者,给硬件研发提建议,然后一起探讨如何更高效地完成下一代的设计。

就是这么回事。

所以,对于这一点,对硬件架构有理解肯定是加分项,可以更好地给硬件同事提出你的建议。

当然理解不那么深刻也无关紧要,很多东西在实际工作中都会慢慢的熟悉起来的,毕竟每个公司的芯片架构和指令集设计可能都不一样。

3、薪资呢?

作为一种研发岗位,薪资也还可以,本科以上3-5年,30k-60k * 13-15不等, 直接贴图。也可去某聘上搜一下看看。

以上内容仅为个人观点,欢迎留言讨论。

原文首发:^拆解高性能计算岗位,欢迎关注。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Shopee买家号想要多开怎么解决?

拥有多个Shopee买家号有很多优势。多账号可以帮助卖家获得更多流量、还能帮助提供关键词排名、提高销量等。 但是要管理多个Shopee买家号并非易事。面对不同账号的登录、注销和切换,可能会花费大量的时间和精力。而且,Shopee平台对于使用同一IP地址同时登…

Android Termux SFTP如何实现远程文件传输

文章目录 1. 安装openSSH2. 安装cpolar3. 远程SFTP连接配置4. 远程SFTP访问4. 配置固定远程连接地址 SFTP(SSH File Transfer Protocol)是一种基于SSH(Secure Shell)安全协议的文件传输协议。与FTP协议相比,SFTP使用了…

微信api开发接口文档

简要描述: 搜索联系人 请求URL: http://域名地址/searchUser 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型说明wI…

通俗易懂的spring Cloud;业务场景介绍 二、Spring Cloud核心组件:Eureka 、Feign、Ribbon、Hystrix、zuul

文章目录 通俗易懂的spring Cloud一、业务场景介绍二、Spring Cloud核心组件:Eureka三、Spring Cloud核心组件:Feign四、Spring Cloud核心组件:Ribbon五、Spring Cloud核心组件:Hystrix六、Spring Cloud核心组件:Zuul七…

redisserver一闪而过 redis闪退解决版本

1.进入Redis根目录 2.输入redis-server 或 redis-server.exe redis.windows.conf 启动redis命令,看是否成功。 执 一闪而过的问题 可能是因为已启动或者其他问题,需要重启 先输入redis-cli.exe再输入shutdown再输入redis-server.exe redis.windows.c…

智能优化算法应用:基于被囊群算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于被囊群算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于被囊群算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.被囊群算法4.实验参数设定5.算法结果6.参考文献7.…

交换技术-电路交换-报文交换-分组交换

交换技术是指主机之间、通信设备之间或主机与通信设备之间为交换信息所采用的数据格式和交换装置的方式。按交换技术可分为:电路交换、报文交换和分组交换。 电路交换 交换(switching),就是按照某种方式动态地分配传输线路的资源。 电路交换是在源结点…

影响机器视觉测量精度的因素有哪些?

精度测量取决于分辨率 在机器视觉测量中提供高精度和低不确定度的决定性因素是获取的图像的分辨率。在这种情况下,术语分辨率 (或图像分辨率)意味着以实际单位的单个像素的大小。简而言之,如果一个摄像机传感器在水平方向上包含…

Python GUI 图形用户界面程序设计,Python自带 tkinter 库

文章目录 前言GUI介绍简单操作tkinter组件介绍向窗体中添加按钮控件使用文本框控件使用菜单控件使用标签控件使用单选按钮和复选按钮组件使用绘图组件关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集…

Redis深入理解-三次握手、槽位机制

Redis 节点之间的三次握手原理分析 比如多台 Redis 之间要建立集群,那么连接其中的一台 Redis 客户端,向其他 Redis 发送 meet 命令即可通知其他节点,那么发送 meet 命令给其他节点后,对方也会在内存中创建一个 ClusterNode 结构…

手摸手Element-ui路由VueRoute

后端WebAPI准备 https://router.vuejs.org/zh/guide/ https://v3.router.vuejs.org/zh/installation.html <template><el-table:data"tableData"style"width: 100%":row-class-name"tableRowClassName"><!-- <el-table-colum…

go atexit源码分析

文章目录 atexit源码解析UML类图样例一: 程序退出之前执行注册函数1.1 流程图1.2 代码分析 样例二&#xff1a;使用cancel取消注册函数2.1 cancel流程图2.2 代码分析 样例三&#xff1a;使用Fatal/Fatalln/Fatal执行注册函数3.1 Fatal/Fatalln/Fatal流程图3.2 代码分析 atexit源…