使用 Scilab 或 Octave 进行并行计算
Parallel Computing with Scilab or Octave
我有大量数据要处理 [40000x50] 值。
我在我的笔记本电脑上使用 Matlab,但它需要很长时间。
最近我访问了一个 HPC 站,理论上我可以处理并行计算。那我该怎么做呢?我认为如果没有合适的 "Cloud computing" 工具箱我就无法使用 Matlab,所以我尝试了 Scilab 和 Octave,但事情对我来说非常复杂。
我的主要目标是:
- 处理数据和优化模型。
所以我的问题是:
- 我是否必须在 Linux 上工作才能执行并行计算? (我用的是windows)
- 如何使用 Scilab 或 Octave 等免费软件执行并行计算(我对 Scilab 有点熟悉)。
最好的问候。
Scilab 提供了几种并行计算的方法。一个好的起点是 parallel computing wiki..
使用parallel_run的简单示例:
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");
但是请注意,这不会在 Windows 上进行多进程处理。
我有大量数据要处理 [40000x50] 值。 我在我的笔记本电脑上使用 Matlab,但它需要很长时间。 最近我访问了一个 HPC 站,理论上我可以处理并行计算。那我该怎么做呢?我认为如果没有合适的 "Cloud computing" 工具箱我就无法使用 Matlab,所以我尝试了 Scilab 和 Octave,但事情对我来说非常复杂。 我的主要目标是: - 处理数据和优化模型。 所以我的问题是: - 我是否必须在 Linux 上工作才能执行并行计算? (我用的是windows) - 如何使用 Scilab 或 Octave 等免费软件执行并行计算(我对 Scilab 有点熟悉)。 最好的问候。
Scilab 提供了几种并行计算的方法。一个好的起点是 parallel computing wiki..
使用parallel_run的简单示例:
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");
但是请注意,这不会在 Windows 上进行多进程处理。