Tag: 传递参考

Nim:具有变异状态的并行循环

我是Nim语言的新手。 我想通过实现一个简单的遗传算法来演变字符串(整数atm),通过将工作分配给CPU核心来学习: https://github.com/peheje/nim_genetic 我已经成功地并行化了“代理”的创建,但是却无法调用必须改变传入状态的函数“生命”: … type Agent* = ref object data*: seq[int] fitness*: float … var pool: seq[Agent] = newAgentsParallel(POPULATION_SIZE) # Run generations for gen in 0..<N_GENERATIONS: let wheel = createWheel(pool) let partitions: seq[seq[Agent]] = partition(pool, N_THREADS) parallel: for part in partitions: echo "spawning" spawn life(part, pool, wheel) pool = createPool(pool, wheel) … proc life(part: […]