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

Add support for progress models #731

Merged
merged 24 commits into from
Sep 14, 2024
Merged

Conversation

ThomasHaas
Copy link
Collaborator

This PR adds support for the progress models FAIR (default), HSA, OBE, and UNFAIR.

Open issues: The interaction between blocked control barriers and scheduling is not fully clear. Currently, we consider a CB-blocked thread to be eligible for scheduling and thus unfair scheduling may permanently schedule blocked threads causing non-termination.

@ThomasHaas
Copy link
Collaborator Author

ThomasHaas commented Sep 11, 2024

@hernan-poncedeleon
The litmus progress tests on Vulkan use PASS as expected results but we give UNKNOWN due to side effects in the loops. Shall we update the expected results or leave out those tests for now?

Also, there are issues with the processing pipeline. Those tests require at least loop normalization (and some even more like branch reordering?). Shall we fix this issue in this PR?

@hernanponcedeleon
Copy link
Owner

@hernan-poncedeleon The litmus progress tests on Vulkan use PASS as expected results but we give UNKNOWN due to side effects in the loops. Shall we update the expected results or leave out those tests for now?

I would keep the expected file as it is (sine it was automatically generated) and simply add a way to skip tests we know we cannot handle right now. I'm pretty sure we have this skip mechanism in some other litmus unit test

Also, there are issues with the processing pipeline. Those tests require at least loop normalization (and some even more like branch reordering?).

I guess we can re-open your PR where you implemented this and add support for further passes in litmus if needed.

benchmarks/progress/progressHSA.c Outdated Show resolved Hide resolved
dartagnan/src/main/java/com/dat3m/dartagnan/Dartagnan.java Outdated Show resolved Hide resolved
@@ -52,6 +57,7 @@ public static VerificationTaskBuilder builder() {
public static class VerificationTaskBuilder {
protected WitnessGraph witness = new WitnessGraph();
protected ConfigurationBuilder config = Configuration.builder();
protected ProgressModel progressModel = ProgressModel.getDefault();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is probably causing the problem with not correctly setting the FP in the CI

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it is because ProgressModel is part of the VerificationTask and not "just a configuration". The main function makes sure to extract the configured progress model and make it explicit in the task, but if you create the task directly (like the unit tests do), this step is skipped.

@ThomasHaas
Copy link
Collaborator Author

There are a couple of hundred tests failing (I think 300 of the around 400 tests are failing). Should they all be listed in the dartagnan-skip.csv or how do you approach this?

@hernanponcedeleon
Copy link
Owner

You can copy this list into skip

These should be PASS according to fair, but we get UNKNOWN 

../litmus/VULKAN/CADP/2_threads_2_instructions/0_simple.litmus
../litmus/VULKAN/CADP/2_threads_2_instructions/1_simple.litmus
../litmus/VULKAN/CADP/2_threads_2_instructions/2_simple.litmus
../litmus/VULKAN/CADP/2_threads_2_instructions/3_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/0_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/100_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/101_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/102_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/103_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/104_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/106_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/107_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/108_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/109_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/112_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/113_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/114_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/117_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/118_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/119_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/120_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/121_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/122_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/123_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/124_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/125_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/126_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/127_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/128_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/129_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/12_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/130_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/131_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/135_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/137_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/138_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/140_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/141_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/142_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/143_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/144_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/145_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/146_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/147_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/148_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/149_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/150_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/151_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/152_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/153_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/154_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/155_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/156_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/157_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/159_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/15_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/160_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/161_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/162_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/163_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/165_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/166_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/167_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/168_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/169_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/16_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/170_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/171_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/172_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/173_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/174_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/175_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/17_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/20_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/21_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/23_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/28_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/29_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/2_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/31_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/33_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/34_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/37_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/38_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/39_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/3_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/40_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/42_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/43_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/44_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/45_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/47_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/48_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/49_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/51_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/55_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/56_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/57_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/59_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/5_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/60_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/62_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/63_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/64_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/66_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/67_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/68_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/69_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/6_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/71_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/72_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/73_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/74_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/75_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/79_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/7_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/80_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/82_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/83_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/84_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/85_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/86_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/87_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/89_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/8_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/91_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/92_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/93_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/94_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/95_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/96_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/9_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/0_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/104_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/105_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/10_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/110_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/111_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/114_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/115_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/116_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/117_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/118_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/119_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/11_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/12_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/13_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/140_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/141_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/142_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/143_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/148_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/149_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/14_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/150_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/151_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/156_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/157_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/158_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/159_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/15_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/160_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/161_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/164_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/165_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/166_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/167_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/168_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/169_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/16_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/170_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/171_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/172_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/17_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/1_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/20_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/21_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/22_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/23_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/26_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/27_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/28_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/29_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/2_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/32_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/33_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/38_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/39_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/3_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/40_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/41_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/44_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/45_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/50_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/51_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/52_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/53_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/54_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/55_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/56_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/57_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/58_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/59_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/60_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/61_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/72_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/73_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/80_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/81_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/82_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/83_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/86_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/87_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/88_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/89_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/92_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/93_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/98_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/99_simple.litmus
../litmus/VULKAN/CADP/3_threads_3_instructions/12_simple.litmus
../litmus/VULKAN/CADP/3_threads_3_instructions/13_simple.litmus
../litmus/VULKAN/CADP/3_threads_3_instructions/14_simple.litmus
../litmus/VULKAN/CADP/3_threads_3_instructions/15_simple.litmus
../litmus/VULKAN/CADP/3_threads_3_instructions/16_simple.litmus
../litmus/VULKAN/CADP/3_threads_3_instructions/17_simple.litmus
../litmus/VULKAN/CADP/3_threads_3_instructions/6_simple.litmus
../litmus/VULKAN/CADP/3_threads_3_instructions/7_simple.litmus
../litmus/VULKAN/CADP/3_threads_3_instructions/8_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/23_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/24_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/26_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/27_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/28_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/29_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/30_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/31_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/32_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/33_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/34_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/35_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/36_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/37_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/38_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/45_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/46_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/47_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/48_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/49_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/50_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/51_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/52_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/53_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/60_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/61_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/62_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/63_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/64_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/65_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/66_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/67_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/68_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/69_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/70_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/71_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/72_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/73_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/74_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/75_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/76_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/77_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/78_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/79_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/80_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/81_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/82_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/83_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/84_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/85_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/86_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/93_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/94_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/95_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/96_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/97_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/98_simple.litmus

These have loops that are not normalized

../litmus/VULKAN/CADP/2_threads_3_instructions/110_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/111_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/115_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/136_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/139_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/158_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/164_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/1_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/27_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/32_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/35_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/36_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/52_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/53_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/54_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/76_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/77_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/88_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/97_simple.litmus
../litmus/VULKAN/CADP/2_threads_3_instructions/99_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/100_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/101_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/106_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/107_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/128_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/129_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/130_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/131_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/132_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/133_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/134_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/135_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/144_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/145_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/162_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/163_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/18_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/19_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/4_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/5_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/62_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/63_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/6_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/7_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/84_simple.litmus
../litmus/VULKAN/CADP/2_threads_4_instructions/85_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/18_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/19_simple.litmus
../litmus/VULKAN/CADP/3_threads_4_instructions/20_simple.litmus

@ThomasHaas
Copy link
Collaborator Author

ThomasHaas commented Sep 13, 2024

Your list is very incomplete. Still around 50% of the tests give UNKNOWN instead of PASS/FAIL.

EDIT: Ah, you only did it for OBE. HSA and FAIR both still have together over a 100 tests with wrong verdicts.

@hernanponcedeleon
Copy link
Owner

hernanponcedeleon commented Sep 13, 2024

I generated this from the unit tests, but it is true that I just checked for result = UNKNOWN and expected = PASS. Am I right that the cases where the CI is still failing are all cases where expected is FAIL?

EDIT: wait ... I did it from fair (where we should not have expected FAIL as I mentioned above) which should be the most general case: if there is an UNKNOWN it means that we are missing the automatic detection of spinloop and thus we should remove the tests for all progress models.

@ThomasHaas
Copy link
Collaborator Author

ThomasHaas commented Sep 13, 2024

You just did it for OBE (I edited my comment) which works fine now. HSA/FAIR still fail many times.

EDIT: Yes, almost all cases are because of side-effectful loops. The progress models themselves should work fine.

@hernanponcedeleon hernanponcedeleon merged commit 66e10ca into development Sep 14, 2024
1 check passed
@hernanponcedeleon hernanponcedeleon deleted the executionModel branch September 14, 2024 16:52
hernanponcedeleon pushed a commit that referenced this pull request Sep 16, 2024
Co-authored-by: Hernan Ponce de Leon <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants