【发布时间】:2017-08-23 01:25:53
【问题描述】:
我需要在 matlab 中全局优化 fortran 程序的参数输入。该函数以下列方式接受输入:
z= fort_fun(X,str)
其中 X 是十进制数的向量,str 是字符串。我需要确定与 1020 个 str 中的每一个的最佳 X 对应的最小 z。我可以通过将 str 声明为全局变量并在父脚本末尾本地定义的函数来串行执行该过程。但是,为了更及时(
parfor i=1:n
%code to setupt global optomization problem....
z(i)=optimal output of --- fort_fun(X,str(i)) ---
end
...存储 z 的每个最终优化值。如果我将str声明为全局变量,parfor命令的每个线程都会同时优化同一个str(i)。
有谁知道我可以配置 parfor 命令的每个线程以优化"" fort_fun(X,str(i)) "" 的方法?我相信 OMP 模拟将使用应用于 str 输入的“私有”修饰符。
谢谢!
【问题讨论】:
标签: matlab parallel-processing fortran mathematical-optimization parfor