gpt4 book ai didi

java - 自动并行化友好编程实践

转载 作者:太空宇宙 更新时间:2023-11-04 04:06:46 24 4
gpt4 key购买 nike

来自 this paper :避免不必要的序列化算法:算法如随机必须将种子传递给下一个生成器调用序列化的数字生成器如果生成器将被执行的次数无法准确预测线程内的调用。这些算法应该替换为更多分布式版本。

问:谁能解释一下“如果生成器在一个线程中被调用的次数无法准确预测,那么就不必要地序列化算法。”至于随机数一代人必须传一粒种子。那么如何避免序列化。

最佳答案

如果你的 RNG 依赖于它之前的值(最多),你可以这样写:

r = Random.new();
for(int i=0; i<100*usersInput; i++)
r.rand();
}

即使是智能编译器也无法自动并行化。但是,如果你这样写:

for(int i=0; i<usersInput; i++) {
r = Random.new();
[for(int j=0; j<100; j++) {
r.rand();
}] fork
}

一个非常聪明的编译器可以让程序在 usersInput-number-of-threads 中运行,每个线程只需运行 100 次迭代而不是 usersInput*100。

关于java - 自动并行化友好编程实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5202738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com