Пример #1
0

# 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()
Пример #2
0
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()