view TaskManager/Cell/spe/main.cc @ 672:3b6290c05f9f

add profiling code
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 05 Dec 2009 20:20:08 +0900
parents 5530fa36d42e
children b386522827ae
line wrap: on
line source

#include <stdio.h>
#include "CellScheduler.h"
#include "SpeTaskManagerImpl.h"
#include "spu_mfcio.h"
#include "error.h"
#include "SysFunc.h"

extern unsigned char _end[];

SchedExternTask(ShowTime);
SchedExternTask(StartProfile);


int
main(unsigned long long speid,
     unsigned long long argc, unsigned long long argv)
{
    CellScheduler *manager;

    //const unsigned ls_size   = (unsigned)&argc;
    //unsigned code_size = (unsigned)&_end;
    //unsigned heap_size = ls_size - code_size;

    __debug("  ls_size:%10d bytes\n", ls_size);
    __debug("code_size:%10d bytes\n", code_size);
    __debug("heap_size:%10d bytes\n", heap_size);

    TaskManagerImpl *tm = new SpeTaskManagerImpl();

    SchedRegister(ShowTime);
    SchedRegister(StartProfile);

    manager = new CellScheduler();
    manager->init(tm);
    manager->id = (int)argc;

    tm->set_scheduler(manager);

    manager->run();
    
    manager->finish();

    return 0;
}