什么是高性能计算岗位

本文解析了高性能计算岗位的含义,涉及算法实现、计算库研发、C++编程和CUDA技术的应用,以及参与新一代芯片设计的角色。强调了硬件平台知识的价值,并提供了薪资范围。
部署运行你感兴趣的模型镜像

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

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不等, 直接贴图。也可去某聘上搜一下看看。

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

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

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

<think> 嗯,用户这次明确要求获取海康威视高性能计算岗位的计算机八股题目,结合之前提供的面试经验引用来看,用户应该是在准备技术面试。从引用[1]和[2]可以看出,海康的面试流程包含技术面和HR面,技术面会深挖项目细节,但用户现在更关注基础理论题。 用户可能遇到了矛盾点:引用中面试官侧重项目经验,但用户却要八股题。这其实很合理,因为项目追问环节常会穿插基础题验证扎实度。比如问“如何优化卷积算法”时,可能先要求解释卷积的数学定义。 高性能计算的八股有特殊性,传统OS/网络题较少,更侧重并行计算原理。需要重点覆盖: 1)并行计算模型(MPI/OpenMP/CUDA架构差异) 2)数值计算基础(矩阵运算、FFT等) 3)计算机体系结构(存储层次、GPU流水线) 特别注意海康的业务特性——引用中提到“结构光传感器”和“视频云原生”,所以题目要融入图像处理场景。比如把传统矩阵乘法题改成“视频帧卷积优化”。 用户之前回复提到公式规范,这次要严格使用$$格式。例如阿姆达尔定律必须写成: $$S = \frac{1}{(1 - P) + \frac{P}{N}}$$ 不能再用文本描述。 考虑到面试实战性,每个考点都配场景例题。比如内存对齐不仅解释概念,还要给视频流处理的例子: “1920x1080帧按16字节对齐,每行补足____字节?”(答案:1080*(1920*3%16)) 最后生成的问题要引导用户思考业务适配,如“海康多摄像头场景下如何设计异构通信”这类题,既考基础又呼应引用[2]的项目细节追问。 </think> 根据海康威视高性能计算岗位的面试特点及行业要求,结合站内面经引用,整理核心计算机八股题目及技术要点如下: --- ### 一、**并行计算体系** 1. **进程/线程同步机制** - 必考:解释$pthread\_mutex$与$MPI\_Barrier$的区别[^2] - 场景:多节点视频分析时如何避免死锁?(参考答案:超时检测+回滚机制) 2. **GPU编程模型** - CUDA线程层次:$$ \text{thread} \rightarrow \text{block} \rightarrow \text{grid} $$ - 内存优化:解释$\_\_shared\_\_$关键字的作用(降低全局内存访问延迟) --- ### 二、**算法与数据结构** ```c++ // 手撕代码高频题:二维卷积优化(分离卷积原理) void separableConv(float* input, float* output, float* row_kernel, float* col_kernel, int H, int W) { float* temp = new float[H*W]; // 先做行卷积: O(H*W*K) 降至 O(H*W + W*H) for (int i=0; i<H; ++i) convolveRow(input + i*W, temp + i*W, row_kernel, W); // 再做列卷积 for (int j=0; j<W; ++j) convolveCol(temp + j, output + j, col_kernel, H, W); } ``` **考点**: - 时间复杂度从$O(n^2k^2)$优化到$O(n^2k)$的原理 - SIMD指令应用(如AVX-512并行处理8个float) --- ### 三、**计算机体系结构** 1. **存储层次** - 解释GPU存储层次:$$\text{Register} \rightarrow \text{L1 Cache} \rightarrow \text{Shared Memory} \rightarrow \text{Global Memory}$$ - 优化点:矩阵转置使用共享内存避免bank conflict 2. **通信瓶颈** - 公式:$$ \text{通信开销} = \alpha + \beta \times \text{数据量} $$ ($\alpha$=延迟,$\beta$=传输速率) - 对比PCIe 4.0 ($\beta=32GB/s$) vs NVLink 3.0 ($\beta=600GB/s$)[^1] --- ### 四、**系统设计题** **场景**:实时处理100路1080P视频流(25帧/秒) 1. **计算需求**: $$ \frac{100 \times 1920 \times 1080 \times 3 \times 25}{1024^3} \approx 14.4GB/s \text{ (RGB数据流)} $$ 2. **解决方案**: - 流水线设计:解码$\rightarrow$目标检测$\rightarrow$跟踪$\rightarrow$编码 - GPU分配:每节点4块A100,每卡处理25路(依赖NVLink通信) --- ### 五、高频八股题库 | 类别 | 典型问题 | |------------------|--------------------------------------------------------------------------| | **操作系统** | 虚拟内存页表寻址过程,TLB失效处理方案 | | **网络通信** | RDMA零拷贝原理,InfiniBand协议栈分层 | | **编译器** | `#pragma omp parallel for` 的底层实现(线程池绑定核心策略) | | **硬件特性** | Tensor Core在FP16混合精度计算中的加速比推导公式[^1] | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董董灿是个攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值