佛性SEO

 找回密码
立即注册
查看: 130|回复: 0

一文说透:高性能计算学习路线及教程!

[复制链接]

161

主题

161

帖子

214

积分

积分
214
发表于 2023-5-30 13:56:20 | 显示全部楼层 |阅读模式
高性能计算从广义上来说,已经不仅仅局限于使用高性能计算机来加速计算了,从底层的硬件架构,操作系统,中间件,到并行编程模型,再到上层的应用,都在高性能计算所关注的领域范围内。
从个人的理解来看,从事高性能计算的人员分类大致可以分为两类:一是高性能计算应用研发类,二是高性能计算系统运维类。

要胜任高性能计算研发类岗位,需具备以下的相关知识:
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的硬件体系结构。

现在图形计算和通用计算这两者有大统一的趋势,建议两者并重比较好。但是要学习的知识就更多了。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

  • 外链吧 | 雨住水巷 | 五金修配网 | 免费优化 | 全能百科 | 万能社区 | 链接购买
  • 在线咨询

  • 外链吧正规seo交流2群

    QQ|手机版|小黑屋|佛性SEO |网站地图|网站地图

    GMT+8, 2024-11-18 21:49 , Processed in 0.057533 second(s), 27 queries .

    快速回复 返回顶部 返回列表