even better more structured throughput scheduling
Validate Operations / validate-operations (push) Has been cancelled
Validate Operations / validate-operations (push) Has been cancelled
plot adjustments validation adjustments
This commit is contained in:
@@ -53,8 +53,8 @@ static void testEmptyGraphPreparation() {
|
||||
SchedulingTarget target;
|
||||
target.processorCount = target.residentWeightCapacity = 1;
|
||||
target.interProcessorLatencyNs = {0};
|
||||
for (bool collectCandidates : {false, true}) {
|
||||
auto prepared = prepareSpatialSchedules(*module, target, 1, collectCandidates);
|
||||
{
|
||||
auto prepared = prepareSpatialSchedules(*module, target, 1);
|
||||
TEST_CHECK(succeeded(prepared) && prepared->candidates.size() == 1);
|
||||
TEST_CHECK(prepared->candidates.front().dominanceOrderCompute.empty());
|
||||
}
|
||||
@@ -109,9 +109,9 @@ static void testSelectedLoweringFailure() {
|
||||
bufferization::func_ext::registerBufferizableOpInterfaceExternalModels(registry);
|
||||
context.appendDialectRegistry(registry);
|
||||
context.loadAllAvailableDialects();
|
||||
for (bool collectCandidates : {false, true}) {
|
||||
{
|
||||
OwningOpRef<ModuleOp> checkpoint = cast<ModuleOp>((*module)->clone());
|
||||
auto prepared = prepareSpatialSchedules(*checkpoint, target, 2, collectCandidates);
|
||||
auto prepared = prepareSpatialSchedules(*checkpoint, target, 2);
|
||||
TEST_CHECK(succeeded(prepared) && !prepared->candidates.empty());
|
||||
}
|
||||
PassManager manager(&context);
|
||||
@@ -233,6 +233,14 @@ static void testResourceRetries() {
|
||||
}, reason);
|
||||
TEST_CHECK(!selected && attempts == 1);
|
||||
TEST_CHECK(reason.find("recovery is not justified") != std::string::npos);
|
||||
// The original schedule succeeds alone. Adding unknown evidence must produce
|
||||
// an explicit incomplete comparison, never silently drop the alternative.
|
||||
attempts = 0;
|
||||
std::vector<WholeScheduleCost> single{original};
|
||||
selected = lowerSelectedPimCandidate(single, [&](size_t index) {
|
||||
++attempts; TEST_CHECK(index == 0); return PimCandidateResult::Success;
|
||||
}, reason);
|
||||
TEST_CHECK(selected == 0 && attempts == 1);
|
||||
for (unsigned unknown = 0; unknown < 4; ++unknown) {
|
||||
auto invalid = faster;
|
||||
if (unknown == 0) invalid.primary.reset();
|
||||
@@ -246,6 +254,7 @@ static void testResourceRetries() {
|
||||
return PimCandidateResult::Success;
|
||||
}, reason);
|
||||
TEST_CHECK(!selected && attempts == 0);
|
||||
TEST_CHECK(reason.find("cannot compare the complete candidate set") != std::string::npos);
|
||||
}
|
||||
coresCount = previousCores; crossbarSize = previousSize; crossbarCountInCore = previousCrossbars;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user