Parallel processing 修复在Julia中使用pmap时的参数
我在Parallel processing 修复在Julia中使用pmap时的参数,parallel-processing,julia,pmap,Parallel Processing,Julia,Pmap,我在Julia中定义了一个函数f(x,y,z),我想对x的许多值并行计算f,保持y和z固定。使用pmap“最佳做法”是什么 如果它类似于pmap(f,x,y=5,z=8),那就太好了,apply家族就是这样处理R中的固定参数的,但它似乎没有那么简单。我已经设计出了解决方案,但我发现它们不雅观,我怀疑它们是否能很好地概括我的目的 我可以在函数g中包装f,其中g(x)=f(x,y=5,z=8)。然后我只需调用pmap(g,x)。这并不像我希望的那样吝啬 当定义了f时,我可以将5和8设置为y和z的默
Julia
中定义了一个函数f(x,y,z)
,我想对x
的许多值并行计算f
,保持y
和z
固定。使用pmap
“最佳做法”是什么
如果它类似于pmap(f,x,y=5,z=8)
,那就太好了,apply
家族就是这样处理R
中的固定参数的,但它似乎没有那么简单。我已经设计出了解决方案,但我发现它们不雅观,我怀疑它们是否能很好地概括我的目的
- 我可以在函数
中包装g
,其中f
。然后我只需调用g(x)=f(x,y=5,z=8)
。这并不像我希望的那样吝啬pmap(g,x)
- 当定义了
时,我可以将5和8设置为f
和y
的默认值,然后调用z
。如果我想将pmap(f,x)
固定在某个变量y
的值上,而a
在定义a
时(出于正当理由)尚未定义,但将在调用f
时定义,这会让我感到不舒服。这很管用,但有点让我害怕李>f
- 一个很好的解决方案是使用匿名函数,例如
或者只是g(y, z) = x -> f(x, y, z) pmap(g(5, 8), x)
pmap(x -> f(x, 5, 8), x)
在Julia 0.4中,匿名函数有一个性能损失,但在0.5中这将消失。哦,是的,我期待着删除性能损失,我们已经讨论了一段时间了。