++
новый проход и директива.
This commit is contained in:
9
.idea/workspace.xml
generated
9
.idea/workspace.xml
generated
@@ -7,9 +7,16 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||||
|
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/SPF_MergeRegions.java" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/src/icons/Transformations/SPF_MergeRegions.png" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Common/Visual/Windows/Dialog/DialogWrapText.java" beforeDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ComponentsServer/Component/Sapfor/Sapfor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ComponentsServer/Component/Sapfor/Sapfor.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Constants.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Constants.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/PassCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/PassCode.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Files/UI/Editor/AutoComplete/SAPFOR/Directives/DirectiveName.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Files/UI/Editor/AutoComplete/SAPFOR/Directives/DirectiveName.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Files/UI/Editor/AutoComplete/SAPFOR/Directives/Spec3Directive.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Files/UI/Editor/AutoComplete/SAPFOR/Directives/Spec3Directive.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Files/UI/Editor/AutoComplete/SAPFOR/Providers/Spec3Provider.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Files/UI/Editor/AutoComplete/SAPFOR/Providers/Spec3Provider.java" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
|||||||
@@ -11,8 +11,8 @@
|
|||||||
"Visualizer_2Path": "C:\\Users\\misha\\Documents",
|
"Visualizer_2Path": "C:\\Users\\misha\\Documents",
|
||||||
"InstructionPath": "C:\\Users\\misha\\Documents",
|
"InstructionPath": "C:\\Users\\misha\\Documents",
|
||||||
"PerformanceAnalyzerPath": "C:\\Users\\misha\\Documents",
|
"PerformanceAnalyzerPath": "C:\\Users\\misha\\Documents",
|
||||||
"AutoBugReportsLoad": true,
|
"AutoBugReportsLoad": false,
|
||||||
"AutoTestsLoad": true,
|
"AutoTestsLoad": false,
|
||||||
"ConfirmPassesStart": true,
|
"ConfirmPassesStart": true,
|
||||||
"ShowPassesDone": true,
|
"ShowPassesDone": true,
|
||||||
"FocusPassesResult": false,
|
"FocusPassesResult": false,
|
||||||
|
|||||||
@@ -102,7 +102,8 @@ public abstract class Sapfor extends OSDComponent {
|
|||||||
return new PassCode[]{
|
return new PassCode[]{
|
||||||
PassCode.SPF_ResolveParallelRegionConflicts,
|
PassCode.SPF_ResolveParallelRegionConflicts,
|
||||||
PassCode.SPF_InsertDvmhRegions,
|
PassCode.SPF_InsertDvmhRegions,
|
||||||
PassCode.SPF_RemoveDistArraysFromIO
|
PassCode.SPF_RemoveDistArraysFromIO,
|
||||||
|
PassCode.SPF_MergeRegions
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
public static PassCode[] getPreparationTransformationsCodes() {
|
public static PassCode[] getPreparationTransformationsCodes() {
|
||||||
@@ -160,6 +161,7 @@ public abstract class Sapfor extends OSDComponent {
|
|||||||
res.add(PassCode.SPF_ResolveParallelRegionConflicts);//+
|
res.add(PassCode.SPF_ResolveParallelRegionConflicts);//+
|
||||||
res.add(PassCode.SPF_RemoveDistArraysFromIO);
|
res.add(PassCode.SPF_RemoveDistArraysFromIO);
|
||||||
res.add(PassCode.SPF_ResolveCommonBlockConflicts);//+
|
res.add(PassCode.SPF_ResolveCommonBlockConflicts);//+
|
||||||
|
res.add(PassCode.SPF_MergeRegions); //+
|
||||||
//-
|
//-
|
||||||
res.add(PassCode.SPF_InsertDvmhRegions);//+
|
res.add(PassCode.SPF_InsertDvmhRegions);//+
|
||||||
res.add(PassCode.SPF_SharedMemoryParallelization);//+
|
res.add(PassCode.SPF_SharedMemoryParallelization);//+
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import Common.Utils.Vector_;
|
|||||||
|
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
public class Constants {
|
public class Constants {
|
||||||
public static final int version = 1267;
|
public static final int version = 1268;
|
||||||
public static final int planner_version = 27;
|
public static final int planner_version = 27;
|
||||||
public static final int testingMaxKernels = 64;
|
public static final int testingMaxKernels = 64;
|
||||||
//--
|
//--
|
||||||
|
|||||||
4
src/_VisualDVM/Passes/All/SPF_MergeRegions.java
Normal file
4
src/_VisualDVM/Passes/All/SPF_MergeRegions.java
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
package _VisualDVM.Passes.All;
|
||||||
|
import _VisualDVM.Passes.Sapfor.SapforTransformation;
|
||||||
|
public class SPF_MergeRegions extends SapforTransformation {
|
||||||
|
}
|
||||||
@@ -363,12 +363,15 @@ public enum PassCode implements PassCode_ {
|
|||||||
CompareDVMRunTaskToEthalon,
|
CompareDVMRunTaskToEthalon,
|
||||||
DropSapforConfigurationEthalon,
|
DropSapforConfigurationEthalon,
|
||||||
RefreshSapforPackageResults,
|
RefreshSapforPackageResults,
|
||||||
SPF_MoveOperators
|
SPF_MoveOperators,
|
||||||
|
SPF_MergeRegions
|
||||||
;
|
;
|
||||||
//--
|
//--
|
||||||
@Override
|
@Override
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
switch (this) {
|
switch (this) {
|
||||||
|
case SPF_MergeRegions:
|
||||||
|
return "Объединение областей";
|
||||||
case SPF_MoveOperators:
|
case SPF_MoveOperators:
|
||||||
return "Оптимальный порядок операторов";
|
return "Оптимальный порядок операторов";
|
||||||
case SPF_InsertPrivateArrayDirectives:
|
case SPF_InsertPrivateArrayDirectives:
|
||||||
@@ -963,6 +966,9 @@ public enum PassCode implements PassCode_ {
|
|||||||
case SPF_MoveOperators:
|
case SPF_MoveOperators:
|
||||||
name = "MOVE_OPERATORS";
|
name = "MOVE_OPERATORS";
|
||||||
break;
|
break;
|
||||||
|
case SPF_MergeRegions:
|
||||||
|
name = "MERGE_REGIONS";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return p + " " + name;
|
return p + " " + name;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,8 @@ public enum DirectiveName {
|
|||||||
UNROLL,
|
UNROLL,
|
||||||
PROCESS_PRIVATE,
|
PROCESS_PRIVATE,
|
||||||
COVER,
|
COVER,
|
||||||
MERGE;
|
MERGE,
|
||||||
|
MERGE_ARRAYS;
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
switch (this) {
|
switch (this) {
|
||||||
case SPF:
|
case SPF:
|
||||||
@@ -125,6 +126,8 @@ public enum DirectiveName {
|
|||||||
return "Клауза, ограничивающая действие директивы на N тесно-вложенных циклов";
|
return "Клауза, ограничивающая действие директивы на N тесно-вложенных циклов";
|
||||||
case MERGE:
|
case MERGE:
|
||||||
return "Клауза для объединения циклов";
|
return "Клауза для объединения циклов";
|
||||||
|
case MERGE_ARRAYS:
|
||||||
|
return "Клауза для объединения массивов-копий в областях распараллеливания";
|
||||||
default:
|
default:
|
||||||
return "?";
|
return "?";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ public class Spec3Directive extends SpecDirective {
|
|||||||
&& getOwner().nearestGroup.equals(DirectiveName.TRANSFORM)
|
&& getOwner().nearestGroup.equals(DirectiveName.TRANSFORM)
|
||||||
&& !getOwner().flags.contains(DirectiveName.NOINLINE)
|
&& !getOwner().flags.contains(DirectiveName.NOINLINE)
|
||||||
&& !getOwner().flags.contains(DirectiveName.MERGE)
|
&& !getOwner().flags.contains(DirectiveName.MERGE)
|
||||||
|
&& !getOwner().flags.contains(DirectiveName.MERGE_ARRAYS)
|
||||||
&& !getOwner().flags.contains(DirectiveName.FISSION)
|
&& !getOwner().flags.contains(DirectiveName.FISSION)
|
||||||
&& !getOwner().flags.contains(DirectiveName.SHRINK)
|
&& !getOwner().flags.contains(DirectiveName.SHRINK)
|
||||||
&& !getOwner().flags.contains(DirectiveName.EXPAND)
|
&& !getOwner().flags.contains(DirectiveName.EXPAND)
|
||||||
|
|||||||
@@ -11,5 +11,6 @@ public class Spec3Provider extends PrefixWordProvider {
|
|||||||
addDirective(new Spec3Directive(this, DirectiveName.EXPAND));
|
addDirective(new Spec3Directive(this, DirectiveName.EXPAND));
|
||||||
addDirective(new Spec3Directive(this, DirectiveName.UNROLL));
|
addDirective(new Spec3Directive(this, DirectiveName.UNROLL));
|
||||||
addDirective(new Spec3Directive(this, DirectiveName.MERGE));
|
addDirective(new Spec3Directive(this, DirectiveName.MERGE));
|
||||||
|
addDirective(new Spec3Directive(this, DirectiveName.MERGE_ARRAYS));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
src/icons/Transformations/SPF_MergeRegions.png
Normal file
BIN
src/icons/Transformations/SPF_MergeRegions.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 946 B |
Reference in New Issue
Block a user