upper3=bsp.asNumpy('ind.upper3') lower2[0] = 5 lower2[1] = 3 upper2[0] = 6 upper2[1] = 7 lower3[0] = 15 lower3[1] = 10 lower3[2] = 6 upper3[0] = 20 upper3[1] = 12 upper3[2] = 12 inds1=bsp.createRegionSet(('ind.lower1','ind.upper1')) print('inds1 indcount = ', bsp.indexCount(inds1), ', regcount = ', bsp.regionCount(inds1)) inds2=bsp.createRegionSet(('ind.lower2','ind.upper2'),('ind.lower3','ind.upper3')) print('inds2 indcount = ', bsp.indexCount(inds2), ', regcount = ', bsp.regionCount(inds2)) inds3=bsp.createPointSet('ind.lower1') print('inds3 indcount = ', bsp.indexCount(inds3), ', regcount = ', bsp.regionCount(inds3)) inds4=bsp.createPointSet('ind.lower2','ind.lower3') print('inds4 indcount = ', bsp.indexCount(inds4), ', regcount = ', bsp.regionCount(inds4)) inds5=bsp.createRegionSet(('ind.lower2','ind.upper3'),('ind.lower3','ind.upper2')) print('inds5 indcount = ', bsp.indexCount(inds5), ', regcount = ', bsp.regionCount(inds5)) inds6=bsp.createRegionSet(([[5,5],[2,0]], [[14,14],[11,9]])) print('inds6 indcount = ', bsp.indexCount(inds6), ', regcount = ', bsp.regionCount(inds6)) inds7=bsp.createRegionSet(([5,3],[6,7]),([15,10,6],[20,12,12])) print('inds7 indcount = ', bsp.indexCount(inds7), ', regcount = ', bsp.regionCount(inds7)) inds8=bsp.createPointSet([[5,5],[2,0]]) print('inds8 indcount = ', bsp.indexCount(inds8), ', regcount = ', bsp.regionCount(inds8)) inds9=bsp.createPointSet([5,3],[15,10,6]) print('inds9 indcount = ', bsp.indexCount(inds9), ', regcount = ', bsp.regionCount(inds9))
upper2[0] = 6 upper2[1] = 7 lower3[0] = 15 lower3[1] = 10 lower3[2] = 6 upper3[0] = 20 upper3[1] = 12 upper3[2] = 12 inds1 = bsp.createRegionSet(('ind.lower1', 'ind.upper1')) print('inds1 indcount = ', bsp.indexCount(inds1), ', regcount = ', bsp.regionCount(inds1)) inds2 = bsp.createRegionSet(('ind.lower2', 'ind.upper2'), ('ind.lower3', 'ind.upper3')) print('inds2 indcount = ', bsp.indexCount(inds2), ', regcount = ', bsp.regionCount(inds2)) inds3 = bsp.createPointSet('ind.lower1') print('inds3 indcount = ', bsp.indexCount(inds3), ', regcount = ', bsp.regionCount(inds3)) inds4 = bsp.createPointSet('ind.lower2', 'ind.lower3') print('inds4 indcount = ', bsp.indexCount(inds4), ', regcount = ', bsp.regionCount(inds4)) inds5 = bsp.createRegionSet(('ind.lower2', 'ind.upper3'), ('ind.lower3', 'ind.upper2')) print('inds5 indcount = ', bsp.indexCount(inds5), ', regcount = ', bsp.regionCount(inds5)) inds6 = bsp.createRegionSet(([[5, 5], [2, 0]], [[14, 14], [11, 9]])) print('inds6 indcount = ', bsp.indexCount(inds6), ', regcount = ', bsp.regionCount(inds6)) inds7 = bsp.createRegionSet(([5, 3], [6, 7]), ([15, 10, 6], [20, 12, 12])) print('inds7 indcount = ', bsp.indexCount(inds7), ', regcount = ',
for i in range(1, nProcs): bsp.addWorker(i) bsp.setScheduler(10,5,8) bsp.createArray('iLocalBatch','i4',[nProcs]) bsp.share('iLocalBatch') bsp.sync('NOTHING') for r in range(nBatches): batch = bsp.async('to master', r == nBatches - 1 or (r + 1) % 100 == 0) rLocal = [] for i in batch: rLocal.append(bsp.asNumpy('iLocalBatch')[i]) print('%i: '%r,batch,rLocal) bsp.fromObject(r, 'iBatch') for i in batch: bsp.toProc(i, 'iBatch') bsp.async('from master') else: bsp.createArray('iLocalBatch','i4',[1]) bsp.share('iLocalBatch') bsp.sync('NOTHING') inds1=bsp.createPointSet([myProcID]) for s in range(nBatches): bsp.asNumpy('iLocalBatch')[0] = s bsp.updateFrom('iLocalBatch','=','iLocalBatch',inds1,0) bsp.async('to master') bsp.async('from master') r = bsp.toObject(bsp.fromProc(0)['iBatch']) if r == nBatches - 1: break
bsp.addWorker(i) bsp.setScheduler(10, 5, 8) bsp.createArray('iLocalBatch', 'i4', [nProcs]) bsp.share('iLocalBatch') bsp.sync('NOTHING') for r in range(nBatches): batch = bsp. async ('to master', r == nBatches - 1 or (r + 1) % 100 == 0) rLocal = [] for i in batch: rLocal.append(bsp.asNumpy('iLocalBatch')[i]) print('%i: ' % r, batch, rLocal) bsp.fromObject(r, 'iBatch') for i in batch: bsp.toProc(i, 'iBatch') bsp. async ('from master') else: bsp.createArray('iLocalBatch', 'i4', [1]) bsp.share('iLocalBatch') bsp.sync('NOTHING') inds1 = bsp.createPointSet([myProcID]) for s in range(nBatches): bsp.asNumpy('iLocalBatch')[0] = s bsp.updateFrom('iLocalBatch', '=', 'iLocalBatch', inds1, 0) bsp. async ('to master') bsp. async ('from master') r = bsp.toObject(bsp.fromProc(0)['iBatch']) if r == nBatches - 1: break