Example #1
0
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()
Example #2
0
#!/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)
Example #3
0
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(' ')
Example #4
0
        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)
Example #5
0
#!/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