# Make sure the game is properly defined validate(src.utils.game_module) # For debugging with heapy. if args.debug: src.debug.init_debug(comm.Get_rank()) send = src.debug.debug_send(comm.send) recv = src.debug.debug_recv(comm.recv) abort = src.debug.debug_abort(comm.Abort) initial_position = src.utils.game_module.initial_position() process = Process(comm.Get_rank(), comm.Get_size(), comm, send, recv, abort, stats_dir=args.statsdir) if process.rank == process.root: initial_gamestate = GameState(GameState.INITIAL_POS) initial_job = Job(Job.LOOK_UP, initial_gamestate, process.rank, Job.INITIAL_JOB_ID) process.add_job(initial_job) process.run() comm.Barrier()
def validate(mod): try: getattr(mod, 'initial_position') getattr(mod, 'do_move') getattr(mod, 'gen_moves') getattr(mod, 'primitive') except AttributeError as e: print "Could not find method", e.args[0] raise # Make sure the game is properly defined validate(src.utils.game_module) # Set up our logging system lvl = logging.CRITICAL if args.debug: lvl = logging.DEBUG logging.basicConfig(filename='logs/solver_log' + str(comm.Get_rank()) + '.log', filemode='w', level=lvl) initial_position = src.utils.game_module.initial_position() process = Process(comm.Get_rank(), comm.Get_size(), comm, NP=args.numpy) if process.rank == process.root: initial_gamestate = GameState(GameState.INITIAL_POS) initial_job = Job(Job.LOOK_UP, initial_gamestate, process.rank, Job.INITIAL_JOB_ID) process.add_job(initial_job) process.run()