Ignore:
Timestamp:
Oct 1, 2015, 4:09:25 PM (9 years ago)
Author:
alain
Message:

Adapt the following application to the POSIX threads API

  • convol
  • classif
  • raycast
  • coproc
  • display
  • gameoflife
  • transpose
  • shell
File:
1 edited

Legend:

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

    r683 r708  
    1010#  This file describes the mapping of the multi-threaded "raycast" application
    1111#  on a multi-clusters, multi-processors architecture.
    12 #  The mapping of tasks on processors is the following:
    13 #    - one "main" task on (0,0,0)
    14 #    - one "render" task per processor but (0,0,0)
     12#  The mapping of threads on processors is the following:
     13#    - one "main" thread on (0,0,0)
     14#    - one "render" thread per processor but (0,0,0)
    1515#  The mapping of virtual segments is the following:
    1616#    - There is one shared data vseg in cluster[0][0]
     
    8989                mapping.addVseg( vspace, 'raycast_heap_%d_%d' %(x,y), base , size,
    9090                                 'C_WU', vtype = 'HEAP', x = x, y = y, pseg = 'RAM',
    91                                  local = False )
     91                                 local = False, big = True )
    9292
    93     # distributed tasks / one task per processor
     93    # distributed threads / one thread per processor
    9494    for x in xrange (x_size):
    9595        for y in xrange (y_size):
     
    9898                for p in xrange( nprocs ):
    9999                    trdid = (((x * y_size) + y) * nprocs) + p
    100                     if  ( x == 0 and y == 0 and p == 0 ):       # main task
    101                         task_index = 1
    102                         task_name  = 'main_%d_%d_%d' %(x,y,p)
    103                     else:                                       # render task
    104                         task_index = 0
    105                         task_name  = 'render_%d_%d_%d' % (x,y,p)
     100                    if  ( x == 0 and y == 0 and p == 0 ):       # main thread
     101                        start_id = 1
     102                        is_main  = True
     103                    else:                                       # render thread
     104                        start_id = 0
     105                        is_main  = False
    106106
    107                     mapping.addTask( vspace, task_name, trdid, x, y, p,
    108                                      'raycast_stack_%d_%d_%d' % (x,y,p),
    109                                      'raycast_heap_%d_%d' % (x,y),
    110                                      task_index )
     107                    mapping.addThread( vspace,
     108                                       'raycast_%d_%d_%d' % (x,y,p),
     109                                       is_main,
     110                                       x, y, p,
     111                                       'raycast_stack_%d_%d_%d' % (x,y,p),
     112                                       'raycast_heap_%d_%d' % (x,y),
     113                                       start_id )
    111114
    112115    # extend mapping name
Note: See TracChangeset for help on using the changeset viewer.