load_file("nrngui.hoc")
create acell_home_
access acell_home_
load_file("netparmpi.hoc")
objref pnm
load_file("perfrun.hoc")
ncell = 528
pnm = new ParallelNetManager(ncell)
objref wf
proc metis() {
if (pnm.nhost == 24) {
wf = new File("soltesz.graph.part.24")
wf.ropen()
for i=0, ncell-1 {
pnm.set_gid2node(i, wf.scanvar)
}
wf.close()
}
}
//metis()
pnm.round_robin()
objref con_mat
con_mat = new Matrix(ncell, ncell, 2)
cells_count = 0
obfunc createcell() {
cells_count += 1
return pnm.create_cell(cells_count-1, $s1)
}
proc nc_append() {
con_mat.x[$1][$2] += 1
pnm.nc_append($1, $2, $3, $4, $5)
}
func is_connected() {local c
c = con_mat.getval($3+$4, $1+$2)
return (c != 0)
}
load_file("parRI10sp.hoc")
nclist = pnm.nclist
setuptime = startsw()
pnm.want_all_spikes()
initNet()
setuptime = startsw() - setuptime
//if (pnm.nhost == 1) { saveNet() }
objref mxhist
mxhist = new Vector(25)
pnm.pc.max_histogram(mxhist)
//tstop = 10
if (pnm.myid == 0) {print "SetupTime: ", setuptime}
if (name_declared("mosinit")) { stop }
quit()
prun()
if (pnm.myid == 0) {print "RunTime: ", runtime}
//if (pnm.nhost == 1) { SpkMx() }
pnm.pc.runworker()
pnm.prstat(1)
{pnm.gatherspikes()}
getstat()
pnm.pc.done()
for i=0, mxhist.size-1 {
printf("%d\t %d\n", i, mxhist.x[i])
}
spike2file()
perf2file()
quit()