octave 并行

octave是GNU的一个开源项目,你可以把他当作是小巧的,免费的matlab,绝大多数语法都能和matlab兼容。当然,当你开始搜索并行的问题的时候,你显然也不需要我再来介绍这些了。

首先是要安装parallel的包,其官方介绍页是octave.sourceforge.io/parallel/

安装方法也非常简单,在octave内输入,即可。

pkg install -forge parallel

当然,你也有着安装失败的可能,打开包的界面看一下,parallel对octave 和struct还有着版本要求,所以版本不够的升个级,没有struct的就下一个,下载命令和parallel的一样。

pkg install -forge struct

parallel包的介绍

可是这依旧有着下载失败的可能,原因也很简单,最初我安装octave的时候是这样安装的

yum install octave

但是我们还需要octave-devel,所以请没有安装的小伙伴安装一下,方法如下:

yum install octave-devel

这样我们就成功的安装好了parallel的包,如果你还没有安装好,那你就找其他的教程的,我就只遇到了这些问题(以我一向的经验,我遇到的问题一般都是最多的……)

安装好了下一步就是怎么用


并行用法

如果直接这么用,很可能你家可爱的octave告诉你没有parcellfun这个命令,所以第一步我们需要

pkg load parallel

在每一个octave的session中都加一句这个。

paracellfun的三个参数,第一个并行的数量,第二个要并行的函数,第三个,函数的参数。需要注意的是,参数需要是cell array

那么如何把普通数组转换为cell array呢?

C = num2cell(A, dim)

A是普通的数组,dim是分割的纬度,如果你想一一对应的话,直接写1就好了。

然后你就可以愉快的并行你的代码了,是不是很简单?虽然夏子要把自己蠢哭,整整一个下午都在弄这个,实在是资料太少QAQ

最后,温馨提示,如果并行的时候告诉你有什么unhandled error在在子进程中,记得看一看是不是你并行的函数当中有些参数在外面赋值,于是里面就直接未定义,然后就errror了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文是Medusa和Hydra快速入门手册的第二部分,第一部分的传送门这两篇也是后续爆破篇的一部分,至于字典,放在...
    LinuxSelf阅读 2,892评论 0 4
  • 五一长假历来就是婚庆旺季,无奈正好处于适婚年龄,所以周围结婚的人一波接着一波。 而说到婚礼,其实很多年轻人都有自己...
    Blue托阅读 411评论 0 50
  • 整个下午都这样静静的 我在桌边坐着 那枝笔筒耐心跟我对视 键盘安静的闭着嘴 一丝凉风从我背后经过 轻轻拂了下我的头...
    春笺素心阅读 286评论 0 0
  • 恋 山泉 舞白练 秋色劲染 坐看层林烟 似他山醉流连 流连万里他山牵 笑鸣蝉声慢声声咽 踏落叶香甘痴半 山间薄暮轻...
    老李探花阅读 286评论 0 0
  • 我一直相信,那些爱猫的孩子们都有一颗无比细腻的心,细腻的就像猫舌头上的倒刺儿,当然那些“伪爱猫”的人们除外,因为我...
    猫爪上的草履虫阅读 386评论 0 1