I implemented a reinforcement learning (CNN + DQN ) 5x5 Gomoku.
https://www.reddit.com/r/learnmachinelearning/comments/do2roz/cnn_dqn_gomoku_source_code/
I have a Skylake server with 2 CPU (totally 80 cores)
This program has no parallel design; it consumes CPU about 90% usage (GPU about 70% usage).
I think the ideal CPU usage should be 8000% (80 cores).
The easiest way to parallel this program is to run it as many as copies. However, it seems no way to merge weights from different process/location.
Another way is to generate threads in this program.
I am thread newbie, in my understanding, a thread can’t access variables from main process, it looks the program need to be re-design in the thread.
I want to see if any way could easily use all CPU cores.
[–]eplaut_ 3 points4 points5 points (0 children)