Changeset 434 for soft/giet_vm


Ignore:
Timestamp:
Oct 12, 2014, 6:53:54 PM (10 years ago)
Author:
cfuguet
Message:

sort: using big pages for code and data

File:
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/applications/sort/sort.py

    r432 r434  
    3333    # define vsegs base & size
    3434    code_base  = 0x10000000
    35     code_size  = 0x00010000     # 64 Kbytes (replicated in each cluster)
     35    code_size  = 0x00200000     # 2 Mbytes (replicated in each cluster)
    3636
    3737    data_base  = 0x20000000
    38     data_size  = 0x00010000     # 64 Kbytes (non replicated)
     38    data_size  = 0x00100000     # 1 Mbyte (non replicated)
    3939
    40     args_base  = 0x20010000
     40    args_base  = 0x20100000
    4141    args_size  = 0x00000004     # 4 bytes (non replicated)
    4242
     
    5454                     'C_WU', vtype = 'ELF', x = 0, y = 0, pseg = 'RAM',
    5555                     binpath = 'build/sort/sort.elf',
    56                      local = False )
     56                     local = False, big = True )
    5757
    5858    # args vseg : non local (only in cluster[0,0])
    59     mapping.addVseg( vspace, 'sort_args', args_base , args_size, 
    60                      'C_WU', vtype = 'CONST', x = 0, y = 0, pseg = 'RAM', 
     59    mapping.addVseg( vspace, 'sort_args', args_base , args_size,
     60                     'C_WU', vtype = 'CONST', x = 0, y = 0, pseg = 'RAM',
    6161                     init = ntasks,
    62                      local = False )
     62                     local = False, big = True )
    6363
    6464    # code vsegs : local (one copy per cluster)
    6565    for x in xrange (x_size):
    6666        for y in xrange (y_size):
    67             mapping.addVseg( vspace, 'sort_code', code_base , code_size, 
    68                              'CXWU', vtype = 'ELF', x = 0, y = 0, pseg = 'RAM',
     67            mapping.addVseg( vspace, 'sort_code', code_base , code_size,
     68                             'CXWU', vtype = 'ELF', x = x, y = y, pseg = 'RAM',
    6969                             binpath = 'build/sort/sort.elf',
    70                              local = True )
     70                             local = True, big = True )
    7171
    7272    # stacks vsegs : local (one stack per task)
    7373    for x in xrange (x_size):
    7474        for y in xrange (y_size):
    75             for p in xrange (nprocs)
     75            for p in xrange (nprocs):
    7676                proc_id = (((x * y_size) + y) * nprocs) + p
    7777                size    = stack_size / nprocs
    7878                base    = stack_base + (proc_id * size)
    79                 mapping.addVseg( vspace, 'sort_stack_%d_%d_%d' % (x,y,p), base, size
     79                mapping.addVseg( vspace, 'sort_stack_%d_%d_%d' % (x,y,p), base, size,
    8080                                 'C_WU', vtype = 'BUFFER', x = x, y = y, pseg = 'RAM',
    8181                                 local = True, big = True )
    8282
    83     # heap vsegs : distributed but non local (all tasks can access all heap vsegs)
    84     for x in xrange (x_size):
    85         for y in xrange (y_size):
     83            # heap vsegs : distributed but non local (all tasks can access all heap vsegs)
    8684            cluster_id = (x * y_size) + y
    8785            size       = heap_size
     
    9795                trdid = (((x * y_size) + y) * nprocs) + p
    9896                mapping.addTask( vspace, 'sort_%d_%d_%d' % (x,y,p), trdid, x, y, p,
    99                                  'trsp_stack_%d_%d_%d' % (x,y,p),
    100                                  'trsp_heap_%d_%d' % (x,y), 0 )
     97                                 'sort_stack_%d_%d_%d' % (x,y,p),
     98                                 'sort_heap_%d_%d' % (x,y), 0 )
    10199
    102100    # extend mapping name
Note: See TracChangeset for help on using the changeset viewer.