better compile times for throughput scheduling
Validate Operations / validate-operations (push) Has been cancelled
Validate Operations / validate-operations (push) Has been cancelled
fix failing no-plan throughput ablation runs update results
This commit is contained in:
@@ -113,7 +113,7 @@ struct PimPipelineSelectionPass final : PassWrapper<PimPipelineSelectionPass, Op
|
||||
PreparedSpatialSchedules &prepared, std::vector<WholeScheduleCost> &costs,
|
||||
llvm::json::Object &report) {
|
||||
llvm::json::Array summaries;
|
||||
double realization = 0, extraction = 0, expansion = 0, queue = 0, evaluation = 0;
|
||||
double realization = 0, extraction = 0, expansion = 0, queue = 0, evaluation = 0, dependency = 0;
|
||||
auto evaluate = [&](const MergeScheduleResult &schedule) {
|
||||
size_t index = summaries.size();
|
||||
llvm::json::Object summary{{"index", static_cast<int64_t>(index)}};
|
||||
@@ -131,6 +131,7 @@ struct PimPipelineSelectionPass final : PassWrapper<PimPipelineSelectionPass, Op
|
||||
extraction += cost.timing.extractionSeconds;
|
||||
expansion += cost.timing.expansionSeconds;
|
||||
queue += cost.timing.evaluationSeconds;
|
||||
dependency += cost.timing.dependencySeconds;
|
||||
auto convergence = cost.convergenceProved(), support = cost.loweringSupported();
|
||||
summary["cost_available"] = cost.available();
|
||||
summary["convergence_proved"] = convergence
|
||||
@@ -183,6 +184,7 @@ struct PimPipelineSelectionPass final : PassWrapper<PimPipelineSelectionPass, Op
|
||||
report["event_extraction_seconds"] = extraction;
|
||||
report["event_expansion_seconds"] = expansion;
|
||||
report["queue_seconds"] = queue;
|
||||
report["dependency_analysis_seconds"] = dependency;
|
||||
report["candidates"] = std::move(summaries);
|
||||
if (failed(search)) {
|
||||
report["status"] = "incomplete-costs";
|
||||
@@ -204,6 +206,8 @@ struct PimPipelineSelectionPass final : PassWrapper<PimPipelineSelectionPass, Op
|
||||
report["single_candidate_analysis_skipped"] = single;
|
||||
report["search_rounds"] = static_cast<int64_t>(search->rounds);
|
||||
report["packing_attempts"] = static_cast<int64_t>(search->packingAttempts);
|
||||
report["neighborhood_seconds"] = search->neighborhoodSeconds;
|
||||
report["constructive_packing_seconds"] = search->packingSeconds;
|
||||
report["considered_assignments"] = static_cast<int64_t>(search->consideredAssignments);
|
||||
report["search_termination"] = search->termination;
|
||||
report["queue_evaluation_budget"] = static_cast<int64_t>(kPipelineQueueEvaluationBudget);
|
||||
|
||||
Reference in New Issue
Block a user