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

Benchmarks coming from GPU concurrency: Weak behaviours and programming assumptions #553

Merged
merged 2 commits into from
Nov 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions litmus/PTX/Manual/LB-dlb-no-fence-1.litmus
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ h=0;
P1:r3=0;
}
P0@cta 0,gpu 0 | P1@cta 1,gpu 0 ;
atom.relaxed.cta.cas r0, h, 0, 1 | ld.weak r1, t ;
atom.relaxed.gpu.cas r0, h, 0, 1 | ld.relaxed.gpu r1, t ;
| fence.sc.gpu ;
st.weak t, 1 | atom.relaxed.cta.cas r3, h, 0, 1 ;
st.relaxed.gpu t, 1 | atom.relaxed.gpu.cas r3, h, 0, 1 ;
exists
(P0:r0 == 1 /\ P1:r1 == 1)
4 changes: 2 additions & 2 deletions litmus/PTX/Manual/LB-dlb-no-fence-2.litmus
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ h=0;
P1:r3=0;
}
P0@cta 0,gpu 0 | P1@cta 1,gpu 0 ;
atom.relaxed.cta.cas r0, h, 0, 1 | ld.weak r1, t ;
atom.relaxed.gpu.cas r0, h, 0, 1 | ld.relaxed.gpu r1, t ;
fence.sc.gpu | ;
st.weak t, 1 | atom.relaxed.cta.cas r3, h, 0, 1 ;
st.relaxed.gpu t, 1 | atom.relaxed.gpu.cas r3, h, 0, 1 ;
exists
(P0:r0 == 1 /\ P1:r1 == 1)
4 changes: 2 additions & 2 deletions litmus/PTX/Manual/LB-dlb.litmus
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ h=0;
P1:r3=0;
}
P0@cta 0,gpu 0 | P1@cta 1,gpu 0 ;
atom.relaxed.cta.cas r0, h, 0, 1 | ld.weak r1, t ;
atom.relaxed.gpu.cas r0, h, 0, 1 | ld.relaxed.gpu r1, t ;
fence.sc.gpu | fence.sc.gpu ;
st.weak t, 1 | atom.relaxed.cta.cas r3, h, 0, 1 ;
st.relaxed.gpu t, 1 | atom.relaxed.gpu.cas r3, h, 0, 1 ;
exists
(P0:r0 == 1 /\ P1:r1 == 1)
4 changes: 2 additions & 2 deletions litmus/PTX/Manual/MP-dlb-no-fence-1.litmus
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ d=0;
P1:r3=0;
}
P0@cta 0,gpu 0 | P1@cta 1,gpu 0 ;
st.relaxed.cta d, 1 | ld.weak r0, t ;
st.relaxed.gpu d, 1 | ld.weak r0, t ;
| beq r0, r3, LC00 ;
ld.weak r2, t | fence.sc.gpu ;
add r2, r2, 1 | ld.relaxed.cta r1, d ;
add r2, r2, 1 | ld.relaxed.gpu r1, d ;
st.weak t, r2 | LC00: ;
exists
(P1:r0 == 1 /\ P1:r1 == 0)
4 changes: 2 additions & 2 deletions litmus/PTX/Manual/MP-dlb-no-fence-2.litmus
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ d=0;
P1:r3=0;
}
P0@cta 0,gpu 0 | P1@cta 1,gpu 0 ;
st.relaxed.cta d, 1 | ld.weak r0, t ;
st.relaxed.gpu d, 1 | ld.weak r0, t ;
fence.sc.gpu | beq r0, r3, LC00 ;
ld.weak r2, t | ;
add r2, r2, 1 | ld.relaxed.cta r1, d ;
add r2, r2, 1 | ld.relaxed.gpu r1, d ;
st.weak t, r2 | LC00: ;
exists
(P1:r0 == 1 /\ P1:r1 == 0)
4 changes: 2 additions & 2 deletions litmus/PTX/Manual/MP-dlb.litmus
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ d=0;
P1:r3=0;
}
P0@cta 0,gpu 0 | P1@cta 1,gpu 0 ;
st.relaxed.cta d, 1 | ld.weak r0, t ;
st.relaxed.gpu d, 1 | ld.weak r0, t ;
fence.sc.gpu | beq r0, r3, LC00 ;
ld.weak r2, t | fence.sc.gpu ;
add r2, r2, 1 | ld.relaxed.cta r1, d ;
add r2, r2, 1 | ld.relaxed.gpu r1, d ;
st.weak t, r2 | LC00: ;
exists
(P1:r0 == 1 /\ P1:r1 == 0)
10 changes: 5 additions & 5 deletions litmus/PTX/Manual/SL-cas-minus.litmus
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ P1:r1=0;
P1:r2=0;
P1:r3=0;
}
P0@cta 0,gpu 0 | P1@cta 1,gpu 0 ;
st.weak x, 1 | atom.relaxed.cta.cas r1, m, 0, 1 ;
atom.relaxed.cta.exch r0, m, 0 | bne r1, 0, LC00 ;
| ld.weak r3, x ;
| LC00: ;
P0@cta 0,gpu 0 | P1@cta 1,gpu 0 ;
st.relaxed.gpu x, 1 | atom.relaxed.gpu.cas r1, m, 0, 1 ;
atom.relaxed.gpu.exch r0, m, 0 | bne r1, 0, LC00 ;
| ld.relaxed.gpu r3, x ;
| LC00: ;
exists
(P1:r1 == 0 /\ P1:r3 == 0)
12 changes: 6 additions & 6 deletions litmus/PTX/Manual/SL-cas-plus.litmus
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ P1:r1=0;
P1:r2=0;
P1:r3=0;
}
P0@cta 0,gpu 0 | P1@cta 1,gpu 0 ;
st.weak x, 1 | atom.relaxed.cta.cas r1, m, 0, 1 ;
fence.sc.gpu | bne r1, 0, LC00 ;
atom.relaxed.cta.exch r0, m, 0 | fence.sc.gpu ;
| ld.weak r3, x ;
| LC00: ;
P0@cta 0,gpu 0 | P1@cta 1,gpu 0 ;
st.relaxed.gpu x, 1 | atom.relaxed.gpu.cas r1, m, 0, 1 ;
fence.sc.gpu | bne r1, 0, LC00 ;
atom.relaxed.gpu.exch r0, m, 0 | fence.sc.gpu ;
| ld.relaxed.gpu r3, x ;
| LC00: ;
exists
(P1:r1 == 0 /\ P1:r3 == 0)
10 changes: 5 additions & 5 deletions litmus/PTX/Manual/SL-future-minus.litmus
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ P0:r0=0;
P0:r1=0;
P1:r2=0;
}
P0@cta 0,gpu 0 | P1@cta 1,gpu 0 ;
ld.weak r0, x | atom.relaxed.cta.cas r2, m, 0, 1 ;
st.weak m, 0 | bne r2, 0, LC00 ;
fence.sc.gpu | st.weak x, 1 ;
| LC00: ;
P0@cta 0,gpu 0 | P1@cta 1,gpu 0 ;
ld.relaxed.gpu r0, x | atom.relaxed.gpu.cas r2, m, 0, 1 ;
st.relaxed.gpu m, 0 | bne r2, 0, LC00 ;
fence.sc.gpu | st.relaxed.gpu x, 1 ;
| LC00: ;
exists
(P0:r0 == 1 /\ P1:r2 == 0)
6 changes: 3 additions & 3 deletions litmus/PTX/Manual/SL-future-plus.litmus
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ P0:r1=0;
P1:r2=0;
}
P0@cta 0,gpu 0 | P1@cta 1,gpu 0 ;
ld.weak r0, x | atom.relaxed.cta.cas r2, m, 0, 1 ;
ld.relaxed.gpu r0, x | atom.relaxed.gpu.cas r2, m, 0, 1 ;
fence.sc.gpu | bne r2, 0, LC00 ;
atom.relaxed.cta.exch r1, m, 0 | fence.sc.gpu ;
| st.weak x, 1 ;
atom.relaxed.gpu.exch r1, m, 0 | fence.sc.gpu ;
| st.relaxed.gpu x, 1 ;
| LC00: ;
exists
(P0:r0 == 1 /\ P1:r2 == 0)