私は多くのプロセッサ間で特定の機能を分割できるJuliaにマクロを書いています。私は、次があります。Juliaの入力としての機能を持つマクロ
macro parallel_calc(N::Int,proc::Int=4)
n=round(Int,N/proc);
proc_sum = @parallel (+) for i=1:proc
f(n)
end
return proc_sum/proc
end
問題は、私は、自動的に私のプロセッサ間の仕事を分割することができるようになります
@parallel_calc f(n)
いるので、マクロを書きたいです。 Juliaに入力として機能するマクロを書く方法はありますか?私はオンラインで見てみましたが、助けになるものは見つかりませんでした。私も自分のプロセッサを追加した後
@everywhere f(n)
を使用して試してみたが、それは上記で定義されたマクロに比べてかなり時間がかかります。私は、異なるプロセッサ間で計算負荷を等しく(またはほぼ同じに)分割する新しいマクロを定義する必要があります。