See More

#include "../program/setup.h" #include "../neuralnet/nninterface.h" void Setup::initializeSession(ConfigParser& cfg) { string tensorflowGpuVisibleDeviceList; if(cfg.contains("tensorflowGpuVisibleDeviceList")) tensorflowGpuVisibleDeviceList = cfg.getString("tensorflowGpuVisibleDeviceList"); double tensorflowPerProcessGpuMemoryFraction = -1; if(cfg.contains("tensorflowPerProcessGpuMemoryFraction")) tensorflowPerProcessGpuMemoryFraction = cfg.getDouble("tensorflowPerProcessGpuMemoryFraction",0.0,1.0); NeuralNet::globalInitialize(tensorflowGpuVisibleDeviceList,tensorflowPerProcessGpuMemoryFraction); } vector Setup::initializeNNEvaluators( const vector& nnModelFiles, ConfigParser& cfg, Logger& logger, Rand& seedRand ) { vector nnEvals; for(size_t i = 0; i cudaGpuIdxByServerThread; for(int j = 0; jspawnServerThreads( numNNServerThreadsPerModel, nnRandomize, nnRandSeed, defaultSymmetry, logger, cudaGpuIdxByServerThread, cudaUseFP16, cudaUseNHWC ); nnEvals.push_back(nnEval); } return nnEvals; } vector Setup::loadParams( ConfigParser& cfg ) { vector paramss; int numBots = 1; if(cfg.contains("numBots")) numBots = cfg.getInt("numBots",1,1024); for(int i = 0; i