void start_process() { #ifdef USE_OPENCL LOGINFO("Starting sound using OpenCL!"); #else LOGINFO("Starting sound using CPU!"); #endif OPENSL_STREAM *p; int i; float outbuffer[VECSAMPS_STEREO]; p = android_OpenAudioDevice(SR,0,2,BUFFERFRAMES); if(p == NULL) return; on = 1; while(on) { calcBuffer(outbuffer, VECSAMPS_STEREO); #ifdef MEASURE_TIME if (tCount < MEASURE_TIME) { tDeltaSum += (t2 - t1) / MEASURE_TIME; tCount++; } else { print_exec_time(tDeltaSum, "gen-buffer"); tDeltaSum = 0; tCount = 0; } #endif android_AudioOut(p,outbuffer,VECSAMPS_STEREO); } android_CloseAudioDevice(p); }
void Power_Module::run(){ totalTime = GetSimTime(); channelWirePower=0; channelClkPower=0; channelDFFPower=0; channelLeakPower=0; inputReadPower=0; inputWritePower=0; inputLeakagePower=0; switchPower=0; switchPowerCtrl=0; switchPowerLeak=0; outputPower=0; outputPowerClk=0; outputCtrlPower=0; channelArea=0; switchArea=0; inputArea=0; outputArea=0; maxInputPort = 0; maxOutputPort = 0; vector<FlitChannel *> inject = net->GetInject(); vector<FlitChannel *> eject = net->GetEject(); vector<FlitChannel *> chan = net->GetChannels(); for(int i = 0; i<net->NumNodes(); i++){ calcChannel(inject[i]); } for(int i = 0; i<net->NumNodes(); i++){ calcChannel(eject[i]); } for(int i = 0; i<net->NumChannels();i++){ calcChannel(chan[i]); } vector<Router*> routers = net->GetRouters(); for(size_t i = 0; i < routers.size(); i++){ IQRouter* temp = dynamic_cast<IQRouter*>(routers[i]); const BufferMonitor * bm = temp->GetBufferMonitor(); calcBuffer(bm); const SwitchMonitor * sm = temp->GetSwitchMonitor(); calcSwitch(sm); } double totalpower = channelWirePower+channelClkPower+channelDFFPower+channelLeakPower+ inputReadPower+inputWritePower+inputLeakagePower+ switchPower+switchPowerCtrl+switchPowerLeak+outputPower+outputPowerClk+outputCtrlPower; double totalarea = channelArea+switchArea+inputArea+outputArea; cout<< "-----------------------------------------\n" ; cout<< "- OCN Power Summary\n" ; cout<< "- Completion Time: "<<totalTime <<"\n" ; cout<< "- Flit Widths: "<<channel_width<<"\n" ; cout<< "- Channel Wire Power: "<<channelWirePower <<"\n" ; cout<< "- Channel Clock Power: "<<channelClkPower <<"\n" ; cout<< "- Channel Retiming Power: "<<channelDFFPower <<"\n" ; cout<< "- Channel Leakage Power: "<<channelLeakPower <<"\n" ; cout<< "- Input Read Power: "<<inputReadPower <<"\n" ; cout<< "- Input Write Power: "<<inputWritePower <<"\n" ; cout<< "- Input Leakage Power: "<<inputLeakagePower <<"\n" ; cout<< "- Switch Power: "<<switchPower <<"\n" ; cout<< "- Switch Control Power: "<<switchPowerCtrl <<"\n" ; cout<< "- Switch Leakage Power: "<<switchPowerLeak <<"\n" ; cout<< "- Output DFF Power: "<<outputPower <<"\n" ; cout<< "- Output Clk Power: "<<outputPowerClk <<"\n" ; cout<< "- Output Control Power: "<<outputCtrlPower <<"\n" ; cout<< "- Total Power: "<<totalpower <<"\n"; cout<< "-----------------------------------------\n" ; cout<< "\n" ; cout<< "-----------------------------------------\n" ; cout<< "- OCN Area Summary\n" ; cout<< "- Channel Area: "<<channelArea<<"\n" ; cout<< "- Switch Area: "<<switchArea<<"\n" ; cout<< "- Input Area: "<<inputArea<<"\n" ; cout<< "- Output Area: "<<outputArea<<"\n" ; cout<< "- Total Area: "<<totalarea<<endl; cout<< "-----------------------------------------\n" ; }