高性能计算从广义上来说,已经不仅仅局限于使用高性能计算机来加速计算了,从底层的硬件架构,操作系统,中间件,到并行编程模型,再到上层的应用,都在高性能计算所关注的领域范围内。 从个人的理解来看,从事高性能计算的人员分类大致可以分为两类:一是高性能计算应用研发类,二是高性能计算系统运维类。 要胜任高性能计算研发类岗位,需具备以下的相关知识: 1:Linux系统基本操作,学习常用命令,vim,gcc编译器等。 2:能熟练运用C/C++/Fortran/python等语言中进行编程,会C最好。 3:常见软件编译安装,学习gmake/make/cmake等编译工具的使用方法。 4:如果做多核CPU应用程序开发,需要学习MPI,OpenMP等并行编程模型。 深度优化需要结合相应的体系结构,需要学习计算机的体系结构相关的知识,例如指令集,流水线,寄存器,高速缓存以及SIMD等知识。 5:如果做异构程序开发,需要学习异构编程模型,例如CUDA,OpenCL或者OpenACC等。也需要学习异构加速硬件的体系结构,例如GPU,DSP或者Intel MIC等 6:相对应领域的专业背景知识及算法,精通算法能让你在高性能计算应用研发领域走的更远。 高性能计算系统运维涉及的内容就更广泛了: 从普通的服务器,到集群,再到云计算等,虽然说运维行业需要的门槛较低,但需要学习的内容更为繁杂。以集群运维管理为例,需要学习的知识有: 1:Linux系统基本运维管理,例如不同版本的系统安装、用户管理、网络配置、权限控制以及安全控制等。 2:集群用户管理及目录协同管理,比如LDAP的配置与使用。 3:网络运维,包括常见交换机的配置与管理。常见高速网络的运维管理,例如IB网,OPA网络配置与使用等。 4:并行文件系统的运维管理,例如lustre或者bgfs等文件系统的配置与管理。 5:作业调度系统的运维管理,常用的有slurm和pbs,建议学习slurm的配置与管理。 6:软件部署与安装,学习常用的编译工具gmake/make/cmake等 7:环境快速部署与搭建,比如conda使用。容器技术,例如docker或者singularity。 GPU并行计算主要分为两大块,一类是图形计算,一类是做通用计算。 图形计算主要是做图像处理的,例如电影画面渲染、游戏画面渲染等,这一类GPU通常称之为显卡。要做这方面的应用工程师,需要掌握计算图形学的知识,例如图形硬件、图形标准、图形交互技术、光栅图形生成算法、图像纹理等,需要掌握通用图形计算API的相关使用方法及优化方法,例如OpenGL,Vulkan,GLSL等。 通用计算主要是用来加速基础学科研究的,例如理论物理、化学材料、金属加工、生物信息、航空航天、国防工业、深度学习、人工智能等方向。要做这类工作,需要具备相关专业的知识背景、基础算法以及常用GPU的开发环境,例如CUDA、Rocm、OpenCL等使用方法,当然也需要熟悉GPU的硬件体系结构。 现在图形计算和通用计算这两者有大统一的趋势,建议两者并重比较好。但是要学习的知识就更多了。 现在,猿代码科技(www.ydma.com)作为国内富有责任心和使命感的在线教育&互联网科技企业,是首家响应2023年4月科技部提出的超算互联网之超算/高性能计算人才培养的企业。 猿代码科技(www.ydma.com)率先研发出系统、实战、实用的高性能计算课程,内容涵盖CPU并行程序优化、GPU并行程序优化、超算运维三大块,为广大程序员、在校大学生群体提供实用性强、具有竞争力的技能训练。 猿代码科技(www.ydma.com)的高性能计算课程有以下4点优势: 1、国内知名超算专家导师团近距离指导,名师指点胜过自己摸索半年 2、价值超10亿元的天河超算实践平台上的真实项目实践 目前全球范围内公认的学习方法是任务式导向学习,猿代码科技(www.ydma.com)通过刻意训练以及结果导向的学训练考一体学习系统,帮助学员学有所成、考过就能胜任工作。 |
说点什么...