Ignore:
Timestamp:
Jun 10, 2014, 12:16:29 PM (10 years ago)
Author:
alain
Message:

Introduce the transpose.py file (mapping for the transpose application)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/transpose/main.c

    r307 r317  
    100100        }
    101101
    102         barrier_init( &barrier_0, ntasks );
    103         barrier_init( &barrier_1, ntasks );
    104         barrier_init( &barrier_2, ntasks );
    105         barrier_init( &barrier_3, ntasks );
    106         barrier_init( &barrier_4, ntasks );
    107 
    108         giet_shr_printf("\n*** Proc [%d,%d,%d] completes barrier init at cycle %d\n",
     102        if ( ntasks > 1 )
     103        {
     104            barrier_init( &barrier_0, ntasks );
     105            barrier_init( &barrier_1, ntasks );
     106            barrier_init( &barrier_2, ntasks );
     107            barrier_init( &barrier_3, ntasks );
     108            barrier_init( &barrier_4, ntasks );
     109        }
     110
     111        giet_shr_printf("\n[TRANSPOSE] Proc [%d,%d,%d] completes barrier init at cycle %d\n",
    109112                        0, 0, 0, giet_proctime() );
     113        giet_shr_printf(" - nclusters = %d\n", nclusters );
     114        giet_shr_printf(" - ntasks    = %d\n", ntasks );
    110115
    111116        init_ok = 0;
     
    124129        // get heap vaddr in cluster[0,0]
    125130        unsigned int heap_base;         
    126         giet_vobj_get_vbase( "transpose", "heap_0_0", &heap_base );
     131        giet_vobj_get_vbase( "transpose", "trsp_heap_0_0", &heap_base );
    127132 
    128133        // allocate buffers in cluster[x,y]
     
    130135        buf_out[cluster_id] = buf_in[cluster_id] + NN*NN/nclusters;
    131136
    132         giet_shr_printf("\n*** Proc [%d,%d,%d] completes buffer allocation at cycle %d\n"
     137        giet_shr_printf("\n[TRANSPOSE] Proc [%d,%d,%d] completes buffer allocation at cycle %d\n"
    133138                        " - buf_in  = %x\n"
    134139                        " - buf_out = %x\n",
     
    147152            giet_exit(" open() failure");
    148153        }
     154        else
     155        {
     156            giet_shr_printf("\n[TRANSPOSE] Processor[%d,%d,%d]"
     157                            " open file misc/images.raw\n",
     158                            x, y, lpid );
     159        }
    149160    }
    150161
    151     ///////////////////////////
    152     barrier_wait( &barrier_0 );
     162    /////////////////////////////////////////////
     163    if ( ntasks > 1 ) barrier_wait( &barrier_0 );
    153164
    154165    // Main loop (on images)
     
    167178                           ((image*nblocks) + ((nblocks*cluster_id)/nclusters)) );
    168179
    169             giet_shr_printf("\n*** Proc [%d,%d,0] completes load for image %d at cycle %d\n",
     180            giet_shr_printf("\n[TRANSPOSE] Proc [%d,%d,0] completes load"
     181                            "  for image %d at cycle %d\n",
    170182                            x, y, image, giet_proctime() );
    171183        }
     
    173185        LOAD_END[cluster_id][lpid] = giet_proctime();
    174186
    175         ///////////////////////////
    176         barrier_wait( &barrier_1 );
     187        /////////////////////////////////////////////
     188        if ( ntasks > 1 ) barrier_wait( &barrier_1 );
    177189
    178190        // parallel transpose from buf_in to buf_out
     
    221233        if ( lpid == 0 )
    222234        {
    223             giet_shr_printf("\n*** proc [%d,%d,0] completes transpose for image %d at cycle %d\n",
    224                         x, y, image, giet_proctime() );
     235            giet_shr_printf("\n[TRANSPOSE] proc [%d,%d,0] completes transpose"
     236                            " for image %d at cycle %d\n",
     237                            x, y, image, giet_proctime() );
    225238
    226239        }
    227240        TRSP_END[cluster_id][lpid] = giet_proctime();
    228241
    229         ///////////////////////////
    230         barrier_wait( &barrier_2 );
     242        /////////////////////////////////////////////
     243        if ( ntasks > 1 ) barrier_wait( &barrier_2 );
    231244
    232245        // optional parallel display from local buf_out to frame buffer
     
    245258            if ( lpid == 0 )
    246259            {
    247                 giet_shr_printf("\n*** Proc [%d,%d,0] completes display for image %d at cycle %d\n",
     260                giet_shr_printf("\n[TRANSPOSE] Proc [%d,%d,0] completes display"
     261                                " for image %d at cycle %d\n",
    248262                                x, y, image, giet_proctime() );
    249263            }
     
    251265            DISP_END[cluster_id][lpid] = giet_proctime();
    252266
    253             ///////////////////////////
    254             barrier_wait( &barrier_3 );
     267            /////////////////////////////////////////////
     268            if ( ntasks > 1 ) barrier_wait( &barrier_3 );
    255269        }
    256270
     
    283297            if ( success )
    284298            {
    285                 giet_shr_printf("\n*** proc [%d,%d,0] : checksum OK for image %d\n",
     299                giet_shr_printf("\n[TRANSPOSE] proc [%d,%d,0] checksum OK"
     300                                " for image %d\n",
    286301                                x, y, image );
    287302            }
    288303            else
    289304            {
    290                 giet_shr_printf("\n*** proc [%d,%d,0] : checksum KO for image %d\n",
     305                giet_shr_printf("\n[TRANSPOSE] proc [%d,%d,0] checksum KO"
     306                                " for image %d\n",
    291307                                x, y, image );
    292308            }
     
    360376        // all tasks wait instrumentation completion
    361377        //////////////////////////////////////////////////
    362         barrier_wait( &barrier_4 );
     378        if ( ntasks > 1 ) barrier_wait( &barrier_4 );
    363379
    364380    } // end while image     
Note: See TracChangeset for help on using the changeset viewer.