示例#1
0
 def handle(self):
     global pars
     global comm
     global logger
     data = cPickle.loads(self.request[0])
     if isinstance(data, dict):
         print('{} wrote: {}'.format(self.client_address[0], data))
         comm.Barrier()
         master.process(pars, data)
     elif isinstance(data, str):
         if data.strip() == 'ping':
             logger.pong()
示例#2
0
文件: main.py 项目: KeithWM/mosaic
status = MPI.Status

int_pars = {'NScrapers': 1, 'NPlacers': 1, 'iters': 2, 'per_page': 10, 'MaxTilesVert': 8, 'fidelity': 1, 'poolSize': 20, 'UsedPenalty': 0, 'useDB' : False}
string_pars = {'savepath' : './imgs/'}

# update default parameters with given values
for i in range(len(sys.argv[:])):
    name = sys.argv[i]
    if name in int_pars:
        int_pars[name] = int(sys.argv[i+1])
#if pars['per_page'] > 500:
#    pars['per_page'] = 500

# merge the two parameter dicts into a single dict
# Keys should be distinct!
pars = dict(int_pars.items() + string_pars.items())
    
assert size == 1+pars['NScrapers']+pars['NPlacers']   
if rank == 0:
    master.process(pars)
elif rank < 1+pars['NScrapers']:
    scraper.process(pars)
elif rank < 1+pars['NScrapers']+pars['NPlacers']:
    placer_obj = placer.MinDistPlacer(pars)
    placer_obj.process()
    del placer_obj
else:
    comm.barrier()

MPI.Finalize()