晚上听XBD讲怎么把GNU Make用在科学数据处理中。思想比较straightforward,就是把从数据到最后画图的过程分解,利用make进行流程管理。核心方法是:模块化和流程化,对大过程进行数据分割成为多个小过程。这样做的好处主要是:可以并行处理,便于中断与恢复,粘合多种语言,实现多人协作。甚至可以粘合多种计算环境,比如与高性能计算集群结合。
目前在科学研究领域,大部分人对于数据的处理还比较原始,主要是计算机水平太低。用make来有效进行管理确实是一个比较不错的思路。
按惯例记一下学到的东西:
make
加-n
参数可以显示将要进行的命令但不执行。不过并不是所有的命令都不执行的,比如order-only依赖就得执行。之前看到过这个不过一直没用过,感觉查错的时候比较好用。- GNU Make 4开始引入了Guile,这玩意是把Scheme变成嵌入式的东西。这样可以在make中写Scheme。
- 用
parallel
可以并行执行多个任务,而且会等待所有任务执行完成。(这个是bash中的) aptitude
,Debian的包管理器,特点是会把不需要用到的包删掉以保证系统的清洁,带个GUI。总感觉听说过只是没用过,主要是如果不是把Linux当日常使用环境的话确实没有太大的必要用。
UPDATE: WXC表示这个
aptitude
没用,如果有用早就跟我说了:)WXC: 是以前apt的依赖管理有点问题,现在apt早完美了,要真好debian早换成默认包管理器了。
我表示有理!
Comments
注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。