Ignore:
Timestamp:
Jun 29, 2014, 1:23:18 PM (10 years ago)
Author:
alain
Message:

Introduce distribution of page tables, kernel code, and user code
in the convol application.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/convol/convol.py

    r334 r353  
    4848    vspace = mapping.addVspace( name = 'convol', startname = 'conv_data' )
    4949   
    50     # non replicated vsegs in cluster[0,0]
    51     mapping.addVseg( vspace, 'conv_code', code_base , code_size, 'CXWU', vtype = 'ELF',
    52                      x = 0, y = 0, pseg = 'RAM', binpath = 'build/convol/convol.elf' )
     50    # data vseg in cluster[0,0] : non local
     51    mapping.addVseg( vspace, 'conv_data', data_base , data_size, 'C_WU', vtype = 'ELF',
     52                     x = 0, y = 0, pseg = 'RAM', binpath = 'build/convol/convol.elf',
     53                     local = False )
    5354
    54     mapping.addVseg( vspace, 'conv_data', data_base , data_size, 'C_WU', vtype = 'ELF',
    55                      x = 0, y = 0, pseg = 'RAM', binpath = 'build/convol/convol.elf' )
     55    # code vsegs : local (one replicated vseg per cluster)
     56    for x in xrange (x_size):
     57        for y in xrange (y_size):
     58           
     59            size       = code_size
     60            base       = code_base
     61            mapping.addVseg( vspace, 'conv_code_%d_%d' % (x,y), base, size,
     62                             'CXWU', vtype = 'ELF', x = x , y = y , pseg = 'RAM',
     63                             binpath = 'build/convol/convol.elf',
     64                             local = True )
    5665
    57     mapping.addVseg( vspace, 'conv_ptab', ptab_base , ptab_size, 'C_WU', vtype = 'PTAB',
    58                      x = 0, y = 0, pseg = 'RAM', align = 13 )
    59 
    60     # distributed heaps: one heap per cluster : size = 16 Mbytes/NCLUSTERS
     66    # heap vsegs : non local (one communication buffer per cluster)
    6167    for x in xrange (x_size):
    6268        for y in xrange (y_size):
     
    6672            base       = heap_base + (cluster_id * size)
    6773            mapping.addVseg( vspace, 'conv_heap_%d_%d' % (x,y), base, size,
    68                              'C_WU', vtype = 'BUFFER', x = x , y = y , pseg = 'RAM' )
     74                             'C_WU', vtype = 'BUFFER', x = x , y = y , pseg = 'RAM',
     75                             local = False )
    6976
    70     # distributed stacks: one stack per processor : size = 32 Mbytes/(NCLUSTERS*NPROCS)
     77    # stack vsegs : local (one stack per processor)
    7178    for x in xrange (x_size):
    7279        for y in xrange (y_size):
     
    7784                base    = stack_base + (proc_id * size)
    7885                mapping.addVseg( vspace, 'conv_stack_%d_%d_%d' % (x,y,p), base, size,
    79                                  'C_WU', vtype = 'BUFFER', x = x , y = y , pseg = 'RAM' )
     86                                 'C_WU', vtype = 'BUFFER', x = x , y = y , pseg = 'RAM',
     87                                 local = True )
    8088           
    81     # distributed tasks / one task per processor
     89    # ptab vsegs : local (one ptab per cluster)
     90    for x in xrange (x_size):
     91        for y in xrange (y_size):
     92           
     93            size       = ptab_size
     94            base       = ptab_base
     95            mapping.addVseg( vspace, 'conv_ptab_%d_%d' %(x,y), base , size,
     96                             'C_WU', vtype = 'PTAB', x = x , y = y , pseg = 'RAM',
     97                             align = 13,
     98                             local = True )
     99
     100    # distributed tasks : one task per processor
    82101    for x in xrange (x_size):
    83102        for y in xrange (y_size):
Note: See TracChangeset for help on using the changeset viewer.