Matlab 使用Scilab或倍频程进行并行计算

Matlab 使用Scilab或倍频程进行并行计算,matlab,parallel-processing,octave,hpc,scilab,Matlab,Parallel Processing,Octave,Hpc,Scilab,我有大量数据要处理[40000x50]值。 我在笔记本电脑上使用Matlab,但这需要很长时间。 最近我访问了一个HPC工作站,理论上我可以处理并行计算。那我该怎么做呢?我想如果没有合适的云计算工具箱,我就无法使用Matlab,所以我尝试了Scilab和octave,但事情对我来说非常复杂。 我的主要目标是: -处理数据并优化模型。 因此,我的问题是: -我必须在Linux上工作才能执行并行计算吗?我使用windows -如何使用Scilab或Octave等自由软件执行并行计算我对Scilab有

我有大量数据要处理[40000x50]值。 我在笔记本电脑上使用Matlab,但这需要很长时间。 最近我访问了一个HPC工作站,理论上我可以处理并行计算。那我该怎么做呢?我想如果没有合适的云计算工具箱,我就无法使用Matlab,所以我尝试了Scilab和octave,但事情对我来说非常复杂。 我的主要目标是: -处理数据并优化模型。 因此,我的问题是: -我必须在Linux上工作才能执行并行计算吗?我使用windows -如何使用Scilab或Octave等自由软件执行并行计算我对Scilab有点熟悉。
致以最诚挚的问候。

Scilab为并行计算提供了多种方法。一个很好的起点是

以下是一个简单的示例:


但是请注意,这不会在Windows上进行多进程。

是的,a确实使用并行_运行编写了代码,但如何将Scilab与HPC工作站连接?您可以在其上安装Scilab,并使用Scilab adv cli通过cli执行任何脚本-f my_parallel_script.sci-自版本6以来,Scilab中不再提供并行_运行。
function [r_min, r_med, r_max]=min_med_max(a, b, c)
  r_min=min(a,b,c); r_med=median([a,b,c]); r_max=max(a,b,c);
endfunction

N=10;
A=rand(1:N);B=rand(1:N);C=rand(1:N);

[Min,Med,Max]=parallel_run(A,B,C,"min_med_max");