исправление опечатки в сообщении.
учет в конфигурациях распареллеливания на общую память, и двмh регионов. как и варианты. запрещено ставить больше одного. и не последними.
This commit is contained in:
4
.idea/workspace.xml
generated
4
.idea/workspace.xml
generated
@@ -8,7 +8,9 @@
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/TestingServer.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Common/Constants.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Constants.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/ProjectData/Messages/Message.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/ProjectData/Messages/Message.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/StartSapforTests.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/StartSapforTests.java" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
||||
@@ -2,6 +2,7 @@ package Common;
|
||||
import GlobalData.Machine.Machine;
|
||||
import GlobalData.Machine.MachineType;
|
||||
import GlobalData.User.User;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
|
||||
import java.util.regex.Pattern;
|
||||
public class Constants {
|
||||
@@ -29,7 +30,12 @@ public class Constants {
|
||||
public static final String MailAddress = "sapfor.tracker@internet.ru";
|
||||
// public static final String MailPassword = "3s4w9e5fs3c1a89AA"; основной пароль.
|
||||
public static final String MailPassword = "knKn2PpfrC348ZxHtMnT"; //пароль для сапфора как внешнего приложения.
|
||||
|
||||
//--
|
||||
public static final PassCode_2021[] terminalSapforTestingCodes = new PassCode_2021[]{
|
||||
PassCode_2021.CreateParallelVariants,
|
||||
PassCode_2021.SPF_SharedMemoryParallelization,
|
||||
PassCode_2021.SPF_InsertDvmhRegions
|
||||
};
|
||||
//--
|
||||
//https://losst.ru/komandy-terminala-linux
|
||||
public static String[] linux_system_commands = new String[]{
|
||||
|
||||
@@ -280,7 +280,7 @@ public class Message extends FileObject {
|
||||
codedMessages.put("R198", "Цикл на строке %d был удалён");
|
||||
codedMessages.put("R199", "Зависимость по скаляру с типом lastprivate препятствует распараллеливанию данного цикла");
|
||||
codedMessages.put("R200", "Добавлена lastprivate переменная '%s' к циклу на строке %d");
|
||||
codedMessages.put("R202", "Ссылка '%s' имеет размер отличный от оригинального массива размер");
|
||||
codedMessages.put("R202", "Ссылка '%s' имеет отличный от оригинального массива размер");
|
||||
//3002
|
||||
//3001
|
||||
codedMessages.put("R108", "Добавлена across-зависимость к массиву '%s' в цикле.");
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Constants;
|
||||
import Common.Current;
|
||||
import Common.Global;
|
||||
import Common.UI.UI;
|
||||
import Common.Utils.Index;
|
||||
import ProjectData.LanguageName;
|
||||
import Repository.Server.ServerCode;
|
||||
import Repository.Server.ServerExchangeUnit_2021;
|
||||
@@ -83,15 +85,41 @@ public class StartSapforTests extends TestingSystemPass<SapforTasksPackage> {
|
||||
//--
|
||||
return true;
|
||||
}
|
||||
boolean checkTerminalCode(SapforConfiguration sapforConfiguration, PassCode_2021 code, int count, Vector<PassCode_2021> codes) {
|
||||
if (count > 2) {
|
||||
Log.Writeln_("Неверная конфигурация:" + sapforConfiguration.id + ": " +
|
||||
code.getDescription() +
|
||||
" возможно только один раз.");
|
||||
return false;
|
||||
}
|
||||
//--
|
||||
if ((count == 1) && codes.size() > 1) {
|
||||
if (!codes.lastElement().equals(code)) {
|
||||
Log.Writeln_("Неверная конфигурация:" + sapforConfiguration.id + ": " +
|
||||
code.getDescription() +
|
||||
" может быть только завершающей командой!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public boolean getConfigurationCommands(SapforConfiguration sapforConfiguration) {
|
||||
//1. получить список всех команд.
|
||||
Vector<PassCode_2021> codes = new Vector<>();
|
||||
int v = 0;
|
||||
//-- счетчик завершающих команд.
|
||||
LinkedHashMap<PassCode_2021, Index> terminalCodesCount = new LinkedHashMap<>();
|
||||
for (PassCode_2021 code : Constants.terminalSapforTestingCodes)
|
||||
terminalCodesCount.put(code, new Index());
|
||||
//--
|
||||
for (SapforConfigurationCommand command : Global.testingServer.db.sapforConfigurationCommands.Data.values()) {
|
||||
if (command.sapforconfiguration_id.equals(sapforConfiguration.id)) {
|
||||
codes.add(command.passCode);
|
||||
if (command.passCode.equals(PassCode_2021.CreateParallelVariants))
|
||||
v++;
|
||||
//---
|
||||
for (PassCode_2021 t_code : Constants.terminalSapforTestingCodes) {
|
||||
if (command.passCode.equals(t_code))
|
||||
terminalCodesCount.get(t_code).Inc();
|
||||
}
|
||||
//---
|
||||
}
|
||||
}
|
||||
//--
|
||||
@@ -99,18 +127,13 @@ public class StartSapforTests extends TestingSystemPass<SapforTasksPackage> {
|
||||
Log.Writeln_("Пустая конфигурация:" + sapforConfiguration.id);
|
||||
return false;
|
||||
}
|
||||
//--
|
||||
if (v > 2) {
|
||||
Log.Writeln_("Неверная конфигурация:" + sapforConfiguration.id + ": построение параллельных вариантов возможно единожды.");
|
||||
return false;
|
||||
}
|
||||
//--
|
||||
if ((v == 1) && codes.size() > 1) {
|
||||
if (!codes.lastElement().equals(PassCode_2021.CreateParallelVariants)) {
|
||||
Log.Writeln_("Неверная конфигурация:" + sapforConfiguration.id + ": построение параллельных вариантов может быть только завершающей командой!");
|
||||
for (PassCode_2021 t_code : Constants.terminalSapforTestingCodes) {
|
||||
if (!checkTerminalCode(sapforConfiguration, t_code,
|
||||
terminalCodesCount.get(t_code).getValue(), codes
|
||||
))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//--
|
||||
return true;
|
||||
}
|
||||
//--
|
||||
@@ -218,6 +241,6 @@ public class StartSapforTests extends TestingSystemPass<SapforTasksPackage> {
|
||||
@Override
|
||||
protected void showDone() throws Exception {
|
||||
server.account_db.sapforTasksPackages.ui_.Select(target.id);
|
||||
// UI.getMainWindow().getTestingWindow().ShowAutoActualizeTestsState();
|
||||
// UI.getMainWindow().getTestingWindow().ShowAutoActualizeTestsState();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user