fix signatures

This commit is contained in:
2025-10-05 23:05:16 +03:00
parent d1a9113072
commit 0108237269
6 changed files with 29 additions and 22 deletions

View File

@@ -40,8 +40,8 @@ using json = nlohmann::json;
void runPredictSchemeOld(SgProject &project, void runPredictSchemeOld(SgProject &project,
vector<vector<size_t>> &topologies, vector<vector<size_t>> &topologies,
vector<ParallelRegion*> &parallelRegions, vector<ParallelRegion*> &parallelRegions,
map<string, vector<LoopGraph*>> loopGraph, map<string, vector<LoopGraph*>> &loopGraph,
map<string, vector<SpfInterval*>> intervals, map<string, vector<SpfInterval*>> &intervals,
map<string, vector<Messages>> &SPF_messages) map<string, vector<Messages>> &SPF_messages)
{ {
int maxSizeDist = 0; int maxSizeDist = 0;

View File

@@ -62,4 +62,4 @@ void processFileToPredict(SgFile *file, PredictorStats &predictorCounts);
void calculateStatsForPredictor(const std::map<std::string, std::vector<FuncInfo*>>& allFuncInfo, const std::map<std::string, std::map<int, Gcov_info>>& gCovInfo); void calculateStatsForPredictor(const std::map<std::string, std::vector<FuncInfo*>>& allFuncInfo, const std::map<std::string, std::map<int, Gcov_info>>& gCovInfo);
void parseDvmDirForPredictor(const std::map<std::tuple<int, std::string, std::string>, std::pair<DIST::Array*, DIST::ArrayAccessInfo*>>& declaredArrays, const std::map<std::string, CommonBlock*>& commonBlocks, const std::map<std::string, std::vector<FuncInfo*>>& allFuncInfo, const std::map<std::string, std::map<int, Gcov_info>>& gCovInfo); void parseDvmDirForPredictor(const std::map<std::tuple<int, std::string, std::string>, std::pair<DIST::Array*, DIST::ArrayAccessInfo*>>& declaredArrays, const std::map<std::string, CommonBlock*>& commonBlocks, const std::map<std::string, std::vector<FuncInfo*>>& allFuncInfo, const std::map<std::string, std::map<int, Gcov_info>>& gCovInfo);
void runPredictSchemeOld(SgProject &project, std::vector<std::vector<size_t>> &topologies, std::vector<ParallelRegion*> &parallelRegions, std::map<std::string, std::vector<LoopGraph*>> loopGraph, std::map<std::string, std::vector<SpfInterval*>> intervals, std::map<std::string, std::vector<Messages>> &SPF_messages); void runPredictSchemeOld(SgProject &project, std::vector<std::vector<size_t>> &topologies, std::vector<ParallelRegion*> &parallelRegions, std::map<std::string, std::vector<LoopGraph*>> &loopGraph, std::map<std::string, std::vector<SpfInterval*>> &intervals, std::map<std::string, std::vector<Messages>> &SPF_messages);

View File

@@ -24,10 +24,10 @@ using std::tuple;
// МОЖЕТ КАК-ТО ВЫЧИСЛЯТЬ ДИРЕКТИВЫ, А ПОТОМ ДЕЛАТЬ ПРОГОНЫ? // МОЖЕТ КАК-ТО ВЫЧИСЛЯТЬ ДИРЕКТИВЫ, А ПОТОМ ДЕЛАТЬ ПРОГОНЫ?
double runLibpredictCalc(SgProject &project, double runLibpredictCalc(SgProject &project,
vector<size_t> topology, const vector<size_t> &topology,
string clusterConfStr, const string &clusterConfStr,
vector<ParallelRegion*> &parallelRegions, const vector<ParallelRegion*> &parallelRegions,
map<string, vector<LoopGraph*>> loopGraph, map<string, vector<LoopGraph*>> &loopGraph,
map<string, vector<Messages>> &SPF_messages) map<string, vector<Messages>> &SPF_messages)
{ {
libpredict::RetInit retInit = libpredict::Init(clusterConfStr, topology[0], topology[1], topology[2], topology[3]); libpredict::RetInit retInit = libpredict::Init(clusterConfStr, topology[0], topology[1], topology[2], topology[3]);
@@ -47,7 +47,7 @@ double runLibpredictCalc(SgProject &project,
for (int z = 0; z < parallelRegions.size(); ++z) { for (int z = 0; z < parallelRegions.size(); ++z) {
const DataDirective &dataDirectives = parallelRegions[z]->GetDataDir(); const DataDirective &dataDirectives = parallelRegions[z]->GetDataDir();
const vector<int> &currentVariant = parallelRegions[z]->GetCurrentVariant(); const vector<int> &currentVariant = parallelRegions[z]->GetCurrentVariant();
DIST::Arrays<int> &allArrays = parallelRegions[z]->GetAllArraysToModify(); const DIST::Arrays<int> &allArrays = parallelRegions[z]->GetAllArrays();
auto &tmp = dataDirectives.distrRules; auto &tmp = dataDirectives.distrRules;
vector<pair<DIST::Array*, const DistrVariant*>> currentVar; vector<pair<DIST::Array*, const DistrVariant*>> currentVar;
@@ -220,9 +220,9 @@ double runLibpredictCalc(SgProject &project,
} }
void runPredictScheme(SgProject &project, void runPredictScheme(SgProject &project,
vector<vector<size_t>> &topologies, // такой способ передачи разве хочу? vector<vector<size_t>> &topologies,
vector<ParallelRegion*> &parallelRegions, const vector<ParallelRegion*> &parallelRegions,
map<string, vector<LoopGraph*>> loopGraph, map<string, vector<LoopGraph*>> &loopGraph,
map<string, vector<Messages>> &SPF_messages) map<string, vector<Messages>> &SPF_messages)
{ {
// calculating maximum dimension of distribution // calculating maximum dimension of distribution
@@ -241,7 +241,7 @@ void runPredictScheme(SgProject &project,
for (int z = 0; z < var->distRule.size(); ++z) for (int z = 0; z < var->distRule.size(); ++z)
if (var->distRule[z] == dist::BLOCK) if (var->distRule[z] == dist::BLOCK)
++countBlock; ++countBlock;
maxSizeDist = countBlock; maxSizeDist = std::max(maxSizeDist, countBlock);
} }
} }

View File

@@ -7,13 +7,13 @@
void runPredictScheme(SgProject &project, void runPredictScheme(SgProject &project,
std::vector<std::vector<size_t>> &topologies, std::vector<std::vector<size_t>> &topologies,
std::vector<ParallelRegion*> &parallelRegions, const std::vector<ParallelRegion*> &parallelRegions,
std::map<std::string, std::vector<LoopGraph*>> loopGraph, std::map<std::string, std::vector<LoopGraph*>> &loopGraph,
std::map<std::string, std::vector<Messages>> &SPF_messages); std::map<std::string, std::vector<Messages>> &SPF_messages);
double runLibpredictCalc(SgProject &project, double runLibpredictCalc(SgProject &project,
std::vector<size_t> topology, const std::vector<size_t> &topology,
std::string clusterConfStr, const std::string &clusterConfStr,
std::vector<ParallelRegion*> &parallelRegions, const std::vector<ParallelRegion*> &parallelRegions,
std::map<std::string, std::vector<LoopGraph*>> loopGraph, std::map<std::string, std::vector<LoopGraph*>> &loopGraph,
std::map<std::string, std::vector<Messages>> &SPF_messages); std::map<std::string, std::vector<Messages>> &SPF_messages);

View File

@@ -2125,9 +2125,8 @@ void runPass(const int curr_regime, const char *proj_name, const char *folderNam
runAnalysis(*project, CALCULATE_STATS_SCHEME, false); runAnalysis(*project, CALCULATE_STATS_SCHEME, false);
//TODO: need to rewrite this to new algo if (!folderName && !consoleMode || predictOn)
/*if (!folderName && !consoleMode || predictOn) runAnalysis(*project, PREDICT_SCHEME, false);
runAnalysis(*project, PREDICT_SCHEME, false); */
runAnalysis(*project, REMOVE_COPIES, false); runAnalysis(*project, REMOVE_COPIES, false);
runAnalysis(*project, SWAP_LOOPS, false); runAnalysis(*project, SWAP_LOOPS, false);

View File

@@ -184,8 +184,16 @@ R182 = "Редукционная операция по элементу масс
R183 = "Расположение операторов FORMAT не поддерживается, попробуйте применить проход Коррекция стиля кода". R183 = "Расположение операторов FORMAT не поддерживается, попробуйте применить проход Коррекция стиля кода".
//1061 //1061
R184 = "Область объявления массива '%s' конфликтует с предыдущей областью. Возможно, это вызвано использованием include-файлов. Попробуйте применить проход 'Подстановка заголовочных файлов'". R184 = "Область объявления массива '%s' конфликтует с предыдущей областью. Возможно, это вызвано использованием include-файлов. Попробуйте применить проход 'Подстановка заголовочных файлов'".
//1042 //1062
R205 = "Массив '%s' состоящий в common блоке '%s' должен иметь описание в главной программной единице для объявления в директиве DECLARE" R205 = "Массив '%s' состоящий в common блоке '%s' должен иметь описание в главной программной единице для объявления в директиве DECLARE"
//1063
R206 = "Ошибка инициализации библиотеки libpredict с конфигурацией кластера: %s, код возврата: %d"
//1064
R207 = "Ошибка распределения массива '%s' с помощью libpredict, код возврата: %d"
//1065
R208 = "Ошибка выравнивания массива '%s' с массивом '%s' с помощью libpredict, код возврата: %d"
//1066
R209 = "Ошибка обработки shadow_renew для массива '%s' с помощью libpredict, код возврата: %d"
//2001 //2001
R94 = "Невозможно автоматически преобразовать данное присваивание к циклу" R94 = "Невозможно автоматически преобразовать данное присваивание к циклу"