TypechoJoeTheme

MetMan's Blog

网站页面
搜索到 2 篇与 的结果 ———
2024-05-21

GNU Parallel并行加速脚本运行

GNU Parallel并行加速脚本运行
GNU Parallel是xargs和shell循环的替代品,可以利用多核CPU并行执行任务(jobs),加快命令行脚本的运行速度。这里的任务(job)可以是单个命令或者一个shell小脚本。并行执行有一个任务池,将任务池中任务分发给每个进程单独执行,这里的任务池指输入源列表。一般输入源包括文件列表、主机列表、用户列表等等,每一个列表项就是一个任务的参数。本质上,parallel工具是一个perl脚本。安装如果机器上没有parallel命令,可以自行安装。$ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \ fetch -o - http://pi.dk/3 ) > install.sh $ bash install.sh并行执行paralle可以替代xargs -P功能# sleep 1+2+3+4+5 = 15秒 $ time echo {1..5} | xargs -n 1 sleep #使用5个进程,最长的需要5秒 $ time echo {1..5} | xargs -n 1 -P ...
2024年05月21日
183 阅读
0 评论
2023-11-13

MPI是一个库

MPI是一个库
MPI是消息通信标准,其实现是一个第三方库(library),但我们用比如Intel MPI的mpiifort命令编译链接源代码,这给人一种错觉就是MPI是一门编程语言,mpiifort是一个编译器。下面我们通过对mpiifort深入分析来说明MPI实际上是一个第三库的事实。mpiifort是shell脚本Intel MPI的编译链接命令mpiifort实际上是一个封装的shell脚本,用于封装查找mpi头文件/模块文件和链接相应库文件细节。$ file `which mpiifort` /opt/compiler/intel/2018_update1/compilers_and_libraries_2018.1.163/linux/mpi/intel64/bin/mpiifort: POSIX shell script, ASCII text executable打开这个shell脚本阅读脚本代码,脚本前面主要是环境变量、命令行参数处理部分,其最后核心部分是编译、链接处理,具体如下:if [ "$linking" = yes ] ; then cmd...
2023年11月13日
135 阅读
0 评论

互动读者

标签云

最新回复

暂无回复

登录
X
用户名
密码