hijkzzz / alpha-zero-gomoku

A Multi-threaded Implementation of AlphaZero (C++)
369 stars 48 forks source link

并行MCTS代码不理解 #39

Open huskyth opened 7 months ago

huskyth commented 7 months ago

大佬simulate的时候难道不会导致多个线程同时从while 中break,对同一个root执行inference吗

hijkzzz commented 7 months ago

有锁的

huskyth commented 7 months ago

有锁的

就是刚开始多个线程都进入simulate,但是还没到leaf的锁的时候,都从break跳出了,那同一个根节点是不是会计算多次啊,还是并行mcts只能尽量高地接近串行的mcts的性能

hijkzzz commented 7 months ago

有锁的

就是刚开始多个线程都进入simulate,但是还没到leaf的锁的时候,都从break跳出了,那同一个根节点是不是会计算多次啊,还是并行mcts只能尽量高地接近串行的mcts的性能

对的 所以我们有一个叫 virtual loss 的东西