Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assertion failure on Auto-Scheduling #2426

Open
DerZc opened this issue Jul 18, 2023 · 1 comment
Open

Assertion failure on Auto-Scheduling #2426

DerZc opened this issue Jul 18, 2023 · 1 comment
Labels
bug - identified Bugs with an identified cause

Comments

@DerZc
Copy link

DerZc commented Jul 18, 2023

The following program triggers an assertion failure:

.decl A(x:float)
.decl B(x: unsigned)
.decl res(a:float)
.output res 

A(-1).
B(1).

res(a) :- B(x), A(a).

This is the command:

souffle test.dl -p profile --emit-statistics
souffle -c test.dl --auto-schedule=profile -o binary

The second command triggers the assertion failure:

souffle: /tmp/souffle/src/ast2ram/utility/SipsMetric.cpp:134: virtual std::vector<long unsigned int> souffle::ast::SelingerProfileSipsMetric::getReordering(const souffle::ast::Clause*, const std::vector<std::__cxx11::basic_string<char> >&) const: Assertion `profileUseAnalysis->hasAutoSchedulerStats() && "Must have stats in order to auto-schedule!"' failed.
Aborted

If I remove the B(x) in the rule, then there is no assertion failure, but still get the message failed to execute binary.
The souffle version is 0ad4109

@fangyi-zhou
Copy link
Contributor

I've attempted to fix the auto-scheduler in #2421. There has been a few commits refactoring the auto-scheduler and the refactoring is likely the cause of these errors. If you need to use the auto-scheduler, the easiest way is to revert the refactoring commits manually.

@quentin quentin added the bug - identified Bugs with an identified cause label Dec 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug - identified Bugs with an identified cause
Projects
None yet
Development

No branches or pull requests

3 participants