def runtest(testnum): if testnum == 1: l = [] printCurrentMemUse() for i in range(2046): l.append(shmobj.SHMINT(i)) print 'Allocated 2046 SHMINTs' printCurrentMemUse() shmobj.add_shmem_pages(8) print 'Added 8 more pages of shared mem' printCurrentMemUse() for i in range(2047): l.append(shmobj.SHMDBL(i)) print 'Allocated 2047 SHMDBLs' printCurrentMemUse() for x in l: x.delete() print 'Deleted all shmobjs...' printCurrentMemUse()
#!/usr/bin/python import shmobj, time, random LENGTH = 10000 if __name__=='__main__': shmobj.add_shmem_pages(1000) print "Using %d bytes of memory" % shmobj.freecount() shmdict = shmobj.SHMDCT({}) locdict = {} #We first allocate all the SHMINT objects ahead of time #to minimize overhead from that allocation otherdict1 = {} otherdict2 = {} shmkeylist = [shmobj.SHMSTR(str(i)) for i in range(LENGTH)] lockeylist = [str(i) for i in range(LENGTH)] for i in range(LENGTH): otherdict1[shmkeylist[i]] = shmobj.SHMINT(i) otherdict2[lockeylist[i]] = i stime = time.time() for i in range(LENGTH): shmdict[shmkeylist[i]] = otherdict1[shmkeylist[i]] etime = time.time() print "shmdict create time (set):", (etime - stime)
def get_random_num_list(listsize): import random l = [] for i in range(listsize): l.append(random.randint(0, listsize)) return l if __name__ == "__main__": # if(len(argv) != 3): # print "Usage: %s [number of children (buckets)] [file]" % argv[0] # exit(-1) debug = 0 shmobj.add_shmem_pages(40) for i in range(0, len(argv)): if argv[i] == "-d": debug = 1 if len(argv) < 2: print "Usage: %s [-d] [number of children (buckets)]" % argv[0] sys.exit(-1) numchildren = int(argv[-1]) # f = open(argv[2]) # nums = [] # for line in f: # linenums = line.split(' ')
col = node['col'] rows = node['rows'] nqbranch(col,rows) node = getwork() if __name__ == '__main__': for i in range(len(sys.argv)): if sys.argv[i] == '-q': quiet = 1 elif sys.argv[i] == '-n': nqueens = int(sys.argv[i+1]) elif sys.argv[i] == '-p': nprocs = int(sys.argv[i+1]) # Add more pages of available shmem shmobj.add_shmem_pages(36) colstr = shmobj.SHMSTR('col') rowsstr = shmobj.SHMSTR('rows') wpool = shmobj.SHMLST([]) for i in range(nqueens): # make a new zerolist and rowsval each time zerolist = [] for j in range(nqueens): zeroval = shmobj.SHMINT(0) zerolist.append(zeroval) rowsval = shmobj.SHMLST( zerolist ) node = shmobj.SHMDCT( { colstr : zeroval, rowsstr : rowsval } ) node['rows'][0] = shmobj.SHMINT(i) wpool.append(node)
#!/usr/bin/python import shmobj, os, sys, time from shmobj import SHMLST, SHMDBL shmobj.add_shmem_pages(32000) print shmobj.freecount() MAX_PROC = 20 DIM = 10 a = [] b = [] c = SHMLST([]) def mm(rank, numprocs): i = rank while i < DIM: for j in range(DIM): sum = 0.0 for k in range(DIM): sum = sum + (a[i][k] * b[k][j]) c[i][j].set(sum) i = i + numprocs def checkmatrix(): errs = 0 for i in range(DIM): for j in range(DIM): e = 0.0