Skip to content

Commit

Permalink
- Added measureTime-Regions to thread-functions
Browse files Browse the repository at this point in the history
  • Loading branch information
Marcus Walther committed Jun 22, 2015
1 parent c1b896d commit 433bd28
Showing 1 changed file with 15 additions and 2 deletions.
17 changes: 15 additions & 2 deletions Compiler/Template/CodegenCppHpcom.tpl
Expand Up @@ -1215,7 +1215,7 @@ template function_HPCOM_Thread(list<SimEqSystem> allEquationsPlusWhen, array<lis
//Release locks after calculation
#pragma omp barrier
<%threadReleaseLocksDae%>
<%generateMeasureTimeEndCode("measuredSchedulerStartValues", "measuredSchedulerEndValues", "measureTimeThreadArrayOdeHpcom[threadNum]", "evaluateDAE_threads", "MEASURETIME_MODELFUNCTIONS")%>
<%generateMeasureTimeEndCode("measuredSchedulerStartValues", "measuredSchedulerEndValues", "measureTimeThreadArrayDaeHpcom[threadNum]", "evaluateDAE_threads", "MEASURETIME_MODELFUNCTIONS")%>
}
delete measuredSchedulerStartValues;
delete measuredSchedulerEndValues;
Expand All @@ -1238,11 +1238,15 @@ template function_HPCOM_Thread(list<SimEqSystem> allEquationsPlusWhen, array<lis
<<
if(_evaluateOde)
{
<%generateMeasureTimeStartCode("measuredSchedulerStartValues", "evaluateODE_threads", "MEASURETIME_MODELFUNCTIONS")%>
<%odeEqs%>
<%generateMeasureTimeEndCode("measuredSchedulerStartValues", "measuredSchedulerEndValues", "measureTimeThreadArrayOdeHpcom[threadNum]", "evaluateODE_threads", "MEASURETIME_MODELFUNCTIONS")%>
}
else
{
<%generateMeasureTimeStartCode("measuredSchedulerStartValues", "evaluateDAE_threads", "MEASURETIME_MODELFUNCTIONS")%>
<%daeEqs%>
<%generateMeasureTimeEndCode("measuredSchedulerStartValues", "measuredSchedulerEndValues", "measureTimeThreadArrayDaeHpcom[threadNum]", "evaluateDAE_threads", "MEASURETIME_MODELFUNCTIONS")%>
}
>>
end match
Expand All @@ -1259,6 +1263,10 @@ template generateThreadFunc(list<SimEqSystem> allEquationsPlusWhen, list<Task> t
<<
void <%modelNamePrefixStr%>::evaluateThreadFunc<%iThreadIdx%>()
{
#ifdef MEASURETIME_MODELFUNCTIONS
MeasureTimeValues *measuredSchedulerStartValues = measuredSchedulerStartValues_<%intSub(iThreadIdx,1)%>;
MeasureTimeValues *measuredSchedulerEndValues = measuredSchedulerEndValues_<%intSub(iThreadIdx,1)%>;
#endif //MEASURETIME_MODELFUNCTIONS
<%&varDeclsLoc%>
while(1)
{
Expand All @@ -1281,7 +1289,12 @@ template generateThreadFunc(list<SimEqSystem> allEquationsPlusWhen, list<Task> t
else
let &mainThreadCode += &varDeclsLoc
let &mainThreadCode +=
'if(_evaluateODE)
'
#ifdef MEASURETIME_MODELFUNCTIONS
MeasureTimeValues *measuredSchedulerStartValues = measuredSchedulerStartValues_0%>;
MeasureTimeValues *measuredSchedulerEndValues = measuredSchedulerEndValues_0%>;
#endif //MEASURETIME_MODELFUNCTIONS
if(_evaluateODE)
{
<%taskEqsOde%>
}
Expand Down

0 comments on commit 433bd28

Please sign in to comment.