parallel_computing_for_scientist

作者:cpplinklist
链接:https://www.nowcoder.com/discuss/326852?toCommentId=5021340
来源:牛客网
联系方式:412012558@qq.com

parallel_computing_for_scientist

对于科研工作者来说,并行计算应该是以应用为主,以最小的代价获取最大的收益。对于一些复杂的并行计算原理和细节不应该是研究的重点。
首先要强调的一点是:一定要在LINUX下写程序(推荐安装ubuntu16.04),不要在WINDOWS下写程序!无论是各种环境的支持还有生态,windows的发展和支持都是慢了不止一拍的,而且经常出现一些不能理解的bug,而这些bug和你没有任何关系,只是因为生态不好。

并行计算主要针对的环节就是for循环,如果一个for循环有10000个。我们可以同时启动4个CPU核心,分别计算2500个。这就是最朴素的并行计算思想了。
并行程序设计包括两种,一种是多核并行,另一种是异构并行(典型的是GPU并行加速)

一. 多核并行

推荐使用的并行编程语言是openmp和MPI(CPU并行)
openmp是共享内存的并行语言(所有核心公用内存),MPI是独立内存的,也就是在MPI开始的时候,把现有的东西在内存中复制多份,然后每个线程有自己的内存空间,如果A线程想用B线程的东西,需要A线程发送给B线程,B线程接收后才能拿到数据。
openmp只能在一个服务器上运行程序,而MPI可以在多个服务器之间通过网络布置一个集群,共同运行一个程序。

openmp教程:
1)自行百度可以百度出来很多
这是官方的教程:
2)https://docs.microsoft.com/en-us/cpp/parallel/openmp/openmp-in-visual-cpp?redirectedfrom=MSDN&view=vs-2019

MPI教程:
1)https://mpitutorial.com/tutorials/

我曾经做过一个小例子,就是使用MPI布置一个集群,在上面跑一个简单的小程序,教程如下,还是很有意思的。
https://blog.csdn.net/lusongno1/article/details/82854669

二.GPU并行

GPU并行强烈不推荐使用CUDA。
强烈推荐使用openacc。
openacc有一本非常经典的教材,作者何沧平,openacc并行编程实战。这本书是经典中的经典。非常简单而且贴近中文阅读者的习惯。(强烈推荐买纸质正版,这本书会来回翻阅。电子版看着不方便)

nv推出了一款叫pgi的编译器,使用的是openacc。其中含有pgcc。pgc++ pgfortran等等。
网站上的视频教程的话,百度搜索pgi,第一条,
下面包含:
Documentation
Porting and Tuning Guides
Tutorials
PGI User Forums
那个论坛,你遇到什么问题都可以在论坛里面问。

其中文档就是官方文档,教程里面有视频教程,对应课件,不过是英文的。不含字幕,如果需要字母需要去油管搜索对应视频。油管有自动字幕。

其实NV这一套东西最痛苦的是配环境,如果你把环境配好了,那么你就相当于成功百分之60了,安装显卡驱动+CUDA+PGI耗费几天乃至一周的时间都是很正常的。(反正NVIDIA的东西都这么难受,但是有一点是可以确定的,虽然他难用,但是一定是可以成功的)。

全部评论
不推荐cuda嘛
点赞 回复 分享
发布于 2023-03-27 21:07 北京

相关推荐

今天提了离职,领导说让我离职前请几位正式工吃饭……我本来是有请客的打算的,因为感觉这几个同事人还挺好,想以后维持一下关系。但我第一次听领导主动说让实习生请客的……(只因为一个请客,倒不至于发个帖子。主要是这个公司的离谱事情太多了,跟之前的实习感受完全不同)之前几段实习,在实习结束前,mentor或领导会请客欢送,无论是私下吃个便饭也好,还是全部门的奶茶也好。这几位正式工既不是我的mentor,也不是我的领导。而且我异地实习生活很拮据,这家公司给得很少。当然了,这也算意料之外,情理之中。这家公司一直对实习生很不友好。经常让实习生加班,总是跟实习生说“辛苦一下”。你也没给我那个辛苦钱啊!晚上干到12点,周末加班干,要么是领导要看,要么是客户着急。之前的公司,我主动加班,mentor都会跟我说,实习生不用加班,到点下班就行。加班就算了,我安慰自己就当学东西了,锻炼抗压能力。但辛苦完了,节日的福利,竟然只有正式员工才有?!我之前实习,实习生的节日福利一点也不比正式工少啊……有的正式工还会把福利分给实习生一部分。挺心寒的……而且,我觉得这家公司对实习生很不负责,纯拿你当廉价劳动力。可以让刚毕业才工作三个月的人带实习生,实习生不会的,正式员工也不会,俩人就一起探索。还真就那个“和公司共同成长”😅避雷某GJ级专精特新小巨人企业,六百多人,整体氛围挺离谱的,跟我去过的其他公司完全不一样。领导都是些老东西,喜欢PUA,爹味十足。流程混乱、管理混乱、代码混乱、职责混乱,技术领导不懂技术,总说出一些可笑的畅想。虽然技术不咋地,但是把产品技术路线吹上天的本事倒是有,而且很大!什么xx系统、xx模型、xx工具,名字一个比一个高大上,其实可能就是调用Qwen、DeepSeek、Doubao……还声称这两年要上市,我祝你们成功吧😄
不知道怎么取名字_:实习的能有多少钱,为啥要请客
点赞 评论 收藏
分享
狸猫换offer:埋点都出来了
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务