int main(int argc, const char * argv[]) { int run; uint64_t inMax_outSum, i; volatile uint64_t serialSum; Remotery* rmt; rmt_CreateGlobalInstance(&rmt); pETS = enkiNewTaskScheduler(); enkiGetProfilerCallbacks( pETS )->threadStart = threadStartCallback; enkiGetProfilerCallbacks( pETS )->waitStart = waitStartCallback; enkiGetProfilerCallbacks( pETS )->waitStop = waitStopCallback; enkiInitTaskScheduler( pETS ); rmt_SetCurrentThreadName("Main"); pPSumTask = enkiCreateTaskSet( pETS, ParallelSumTaskSetFunc ); pPSumReductionTask = enkiCreateTaskSet( pETS, ParallelReductionSumTaskSet ); for (run = 0; run < RUNS; ++run) { rmt_BeginCPUSample(Run); printf("Run %d.....\n", run); rmt_BeginCPUSample(Parallel); inMax_outSum = SUMS; enkiAddTaskSetToPipe(pETS, pPSumReductionTask, &inMax_outSum, 1); enkiWaitForTaskSet(pETS, pPSumReductionTask); rmt_EndCPUSample(); rmt_BeginCPUSample(Serial); serialSum = 0; for (i = 0; i < SUMS; ++i) { serialSum += i + 1; } rmt_EndCPUSample(); rmt_EndCPUSample(); } enkiDeleteTaskScheduler( pETS ); }
int main(int _argc, char** _argv) { //DBG(BX_COMPILER_NAME " / " BX_CPU_NAME " / " BX_ARCH_NAME " / " BX_PLATFORM_NAME); if (BX_ENABLED(ENTRY_CONFIG_PROFILER) ) { rmtSettings* settings = rmt_Settings(); BX_WARN(NULL != settings, "Remotery is not enabled."); if (NULL != settings) { settings->malloc = rmtMalloc; settings->realloc = rmtRealloc; settings->free = rmtFree; rmtError err = rmt_CreateGlobalInstance(&s_rmt); BX_WARN(RMT_ERROR_NONE != err, "Remotery failed to create global instance."); if (RMT_ERROR_NONE == err) { rmt_SetCurrentThreadName("Main"); } else { s_rmt = NULL; } } } #if BX_CONFIG_CRT_FILE_READER_WRITER s_fileReader = new bx::CrtFileReader; s_fileWriter = new bx::CrtFileWriter; #endif // BX_CONFIG_CRT_FILE_READER_WRITER cmdInit(); cmdAdd("mouselock", cmdMouseLock); cmdAdd("graphics", cmdGraphics ); cmdAdd("exit", cmdExit ); inputInit(); inputAddBindings("bindings", s_bindings); entry::WindowHandle defaultWindow = { 0 }; entry::setWindowTitle(defaultWindow, bx::baseName(_argv[0]) ); setWindowSize(defaultWindow, ENTRY_DEFAULT_WIDTH, ENTRY_DEFAULT_HEIGHT); int32_t result = ::_main_(_argc, _argv); inputRemoveBindings("bindings"); inputShutdown(); cmdShutdown(); #if BX_CONFIG_CRT_FILE_READER_WRITER delete s_fileReader; s_fileReader = NULL; delete s_fileWriter; s_fileWriter = NULL; #endif // BX_CONFIG_CRT_FILE_READER_WRITER if (BX_ENABLED(ENTRY_CONFIG_PROFILER) && NULL != s_rmt) { rmt_DestroyGlobalInstance(s_rmt); } return result; }
void threadStartCallback( uint32_t threadnum_ ) { uint32_t nameNum = threadnum_; if( nameNum >= nameTableSize ) { nameNum = nameTableSize-1; } rmt_SetCurrentThreadName( nameTable[ nameNum ] ); }