diff --git a/Compiler/BackEnd/HpcOmScheduler.mo b/Compiler/BackEnd/HpcOmScheduler.mo index b8e5fe4770c..15a847100fa 100644 --- a/Compiler/BackEnd/HpcOmScheduler.mo +++ b/Compiler/BackEnd/HpcOmScheduler.mo @@ -1214,7 +1214,7 @@ algorithm (levelNodeClusterArr,levelNodeClusterCostsArr) = HpcOmTaskGraph.distributeToClusters(levelNodes,levelNodeCosts,numProc-1); // if there are more task in the same level than 2*numproc, cluster them levelNodeCluster = arrayList(levelNodeClusterArr); levelNodeClusterCosts = arrayList(levelNodeClusterCostsArr); - + print("levelNodeCluster: \n"+&stringDelimitList(List.map(levelNodeCluster,intListString)," ; ")+&"\n"); (levelNodeCluster,levelAss) = BLS_fillParallelSections2(levelNodeCluster,iGraph,graphT,iMeta,maxCosts,levelAssIn,levelIdx,{}); print("levelNodeCluster2: \n"+&stringDelimitList(List.map(levelNodeCluster,intListString)," ; ")+&"\n"); @@ -1265,7 +1265,7 @@ algorithm children = Debug.bcallret1(List.isNotEmpty(childCluster),List.first,childCluster,{}); //print("children merged to target size: "+&stringDelimitList(List.map(children,intString)," ; ")+&"\n"); cluster = listAppend(cluster,children); - + // update levelAss List.map2_0(children,Util.arrayUpdateIndexFirst,levelIdx,levelAssIn); (nodeCluster,levelAss) = BLS_fillParallelSections2(clusterRest,iGraph,iGraphT,iMeta,targetCost,levelAssIn,levelIdx,cluster::nodeClusterIn); @@ -1298,7 +1298,7 @@ algorithm ok1 := List.fold(List.map1(parentLevel,intLe,levelIdx),boolAnd,true);// its not alowed to merge nodes upwards that are dependent of nodes from their level (_,parents) := List.filter1OnTrueSync(parentLevel,intEq,levelIdx,parents); // only the parents from the upper level //print("parents from upper level: "+&stringDelimitList(List.map(parents,intString)," ; ")+&"\n"); - (_,parentsFromOtherCluster,_) := List.intersection1OnTrue(parents,cluster,intEq); + (_,parentsFromOtherCluster,_) := List.intersection1OnTrue(parents,cluster,intEq); //print("parentsFromOtherCluster: "+&stringDelimitList(List.map(parentsFromOtherCluster,intString)," ; ")+&"\n"); ok2 := List.isEmpty(parentsFromOtherCluster); // the parents from the current level have to be part of the same cluster(section) ok := ok1 and ok2; diff --git a/Compiler/BackEnd/HpcOmSimCodeMain.mo b/Compiler/BackEnd/HpcOmSimCodeMain.mo index 0108399c49c..aecda86920f 100644 --- a/Compiler/BackEnd/HpcOmSimCodeMain.mo +++ b/Compiler/BackEnd/HpcOmSimCodeMain.mo @@ -201,12 +201,12 @@ algorithm //------------ taskGraphData = HpcOmTaskGraph.createCosts(inBackendDAE, filenamePrefix +& "_eqs_prof" , simeqCompMapping, taskGraphData); Debug.execStat("hpcom create costs", GlobalScript.RT_CLOCK_EXECSTAT_HPCOM_MODULES); - + fileName = ("taskGraph"+&filenamePrefix+&".graphml"); schedulerInfo = arrayCreate(arrayLength(taskGraph), (-1,-1,-1.0)); HpcOmTaskGraph.dumpAsGraphMLSccLevel(taskGraph, taskGraphData,inBackendDAE, fileName, "", {}, {}, sccSimEqMapping ,schedulerInfo); Debug.execStat("hpcom dump TaskGraph", GlobalScript.RT_CLOCK_EXECSTAT_HPCOM_MODULES); - + //HpcOmTaskGraph.printTaskGraph(taskGraph); //HpcOmTaskGraph.printTaskGraphMeta(taskGraphData); diff --git a/Compiler/BackEnd/HpcOmTaskGraph.mo b/Compiler/BackEnd/HpcOmTaskGraph.mo index 5a4d69499d0..da898e48d2e 100644 --- a/Compiler/BackEnd/HpcOmTaskGraph.mo +++ b/Compiler/BackEnd/HpcOmTaskGraph.mo @@ -2319,7 +2319,7 @@ algorithm componentsString = (" "+&intString(nodeIdx)+&" "); simCodeEqs = List.flatten(List.map1(components, Util.arrayGetIndexFirst, sccSimEqMapping)); simCodeEqString = stringDelimitList(List.map(simCodeEqs,intString),", "); - + ((schedulerThreadId,schedulerTaskNumber,taskFinishTime)) = arrayGet(schedulerInfo,nodeIdx); taskStartTime = realSub(taskFinishTime,calcTime); threadIdxString = "Th " +& intString(schedulerThreadId);