Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 24 additions & 17 deletions src/projections/Tools/TimeProfile/TimeProfileWindow.java
Original file line number Diff line number Diff line change
Expand Up @@ -270,26 +270,31 @@ private void generateLegend(boolean useShortenedNames){

public void showDialog() {
if (dialog == null) {
intervalPanel = new IntervalChooserPanel();
if(MainWindow.runObject[myRun].hasLogFiles())
dialog = new RangeDialog(this, "Select Range", intervalPanel, false);
else //only has summary files
dialog = new RangeDialog(this, "Select Range", intervalPanel, true);
}
if (MainWindow.runObject[myRun].hasLogFiles())
intervalPanel = new IntervalChooserPanel();
else // Intervals are fixed for the summary modes, so don't display choosable interval panel
intervalPanel = null;
dialog = new RangeDialog(this, "Select Range", intervalPanel, false);
}

dialog.displayDialog();
if (!dialog.isCancelled()){
startInterval = (int)intervalPanel.getStartInterval();
endInterval = (int)intervalPanel.getEndInterval();
processorList = dialog.getSelectedProcessors();
startTime = dialog.getStartTime();
if(MainWindow.runObject[myRun].hasLogFiles()){
intervalSize = intervalPanel.getIntervalSize();
}
else{//sum detail mode
startInterval = 0;
endInterval = (int) MainWindow.runObject[myRun].getSumDetailNumIntervals() - 1;
intervalSize = (long) MainWindow.runObject[myRun].getSumDetailIntervalSize();
}

if (MainWindow.runObject[myRun].hasLogFiles()) {
intervalSize = intervalPanel.getIntervalSize();
startInterval = (int)intervalPanel.getStartInterval();
endInterval = (int)intervalPanel.getEndInterval();

} else { // sum detail mode
intervalSize = (long) MainWindow.runObject[myRun].getSumDetailIntervalSize();
startInterval = (int) (startTime / intervalSize);
final long endTime = dialog.getEndTime();
// For intervalSize of 1, endTime of 2 should give endInterval of 1 ([1,2)), endTime of 2.5 should give
// endInterval of 2 ([2, 3)), so take ceil and subtract one
endInterval = (int) Math.ceil(((double)endTime) / intervalSize) - 1;
}

System.out.println("Props: intervalSize:"+intervalSize+"- startInterval:"+startInterval+"- endInterval:"+endInterval+"- startTime:" + startTime);

Expand Down Expand Up @@ -352,7 +357,9 @@ else if( MainWindow.runObject[myRun].hasSumDetailFiles()) //Bilge
{
// Do serial file reading because all we have is the sum files
//System.out.println("hasSumDetailFiles - LOAD DATA. numIntervals: " + numIntervals);
MainWindow.runObject[myRun].LoadGraphData(intervalSize, 0, numIntervals-1, false, processorList);
MainWindow.runObject[myRun].LoadGraphData(intervalSize, startInterval, endInterval, false,
processorList);

int[][] sumDetailData = MainWindow.runObject[myRun].getSumDetailData();

for(int i=0;i<numIntervals;i++){
Expand Down
4 changes: 3 additions & 1 deletion src/projections/analysis/IntervalData.java
Original file line number Diff line number Diff line change
Expand Up @@ -113,11 +113,13 @@ public void loadSumDetailIntervalData(long intervalSize, int intervalStart,
sumDetailData = new int[numIntervals][numEPs];
double[][] tempData;
for(Integer curPe : processorList) {
int ii = intervalStart;
tempData = getData(curPe, TYPE_TIME);
for(int i=0; i<numIntervals; i++){
for(int e=0; e<numEPs; e++){
sumDetailData[i][e] += tempData[e][i];
sumDetailData[i][e] += tempData[e][ii];
}
ii++;
}
}
}
Expand Down