from util import *
from loadbalutil import lb
def determine_complexity(model):
cx = []
for gid in model.mitrals:
cx.append((lb.cell_complexity(model.mitrals[gid]), gid))
for gid in model.granules:
cx.append((lb.cell_complexity(sec=model.granules[gid].soma),gid))
return cx
def write_cx_file(name, cx):
for r in serialize():
if r == 0:
f = open(name, 'w')
else:
f = open(name, 'a')
for i in cx:
s = "%d %g\n"%(i[1], i[0])
f.write(s)
f.close()
def test():
elapsed('Before determine_complexity')
cx = determine_complexity(getmodel())
elapsed('determine_complexity')
cx.sort(key=lambda x:x[0], reverse=True)
write_cx_file('cx.dat', cx)
total_cx = 0
for i in cx:
total_cx += i[0]
total_cx = pc.allreduce(total_cx, 1)
if rank == 0: print 'total_cx=',total_cx
elapsed('write_cx_file')
if __name__ == '__main__':
test()
finish()