GPU_PTX cas_sl+membar.gls-p0::p1-xgyg {y=1;} P0 | P1 ; mov.u32 r0, 1 | atom.cas.b32 r0, [r1], 0, 1 ; st.cg.u32 [r1], r0 | setp.eq.u32 r4, r0, 0 ; membar.gl | @r4 membar.gl ; atom.exch.b32 r2, [r3], 0 | @r4 ld.cg.u32 r2, [r3] ; exists (1:r0=0 /\ 1:r2=0) (device (kernel (cta (warp P0)) (cta (warp P1)))) y:global; x:global Generated assembler //START _litmus_P1 atom.cas.b32 sr01, [sr11], 0, 1 ; setp.eq.u32 sr41, sr01, 0 ; @sr41 membar.gl ; @sr41 ld.cg.u32 sr21, [sr31] ; //START _litmus_P0 mov.u32 sr00, 1 ; st.cg.u32 [sr10], sr00 ; membar.gl ; atom.exch.b32 sr20, [sr30], 0 ; Binary '/tmp/dir6aa0d7.tmp/cas-sl+membar.gls.exe' successfully loaded Specification clusters: 2 Specification: [[(689, 6, 'R4'), (692, 3, 'R0')], [(745, 2, 'R8'), (744, 7, 'R0')]] Cluster 0: OK Cluster 1: OK !!SUCCESS!! Test cas-sl+membar.gls Allowed Histogram (2 states) 153 :>1:r0=0; 1:r2=1; 99852 :>1:r0=1; 1:r2=1; No Witnesses Positive: 0, Negative: 100005 Condition exists (1:r0=0 /\ 1:r2=0) is NOT validated Observation cas-sl+membar.gls Never 0 100005 Time cas-sl+membar.gls 12.15 -- device info -- Name: Tesla C2075 Major revision number: 2 Minor revision number: 0 Total global memory: 5636554752 Total shared memory per block: 49152 Number of multiprocessors: 14 Machine: fractus Revision 1365M, version 5.01 GPU_PTX experimental backend Command line: ./litmus -mach TeslaC2075.cfg -gpu-verf-comp true ASPLOS/cas-sl+membar.gls.litmus -gpu-general-bc false Parameters #ifndef SIZE_OF_TEST #define SIZE_OF_TEST 100000 #endif #ifndef NUMBER_OF_RUN #define NUMBER_OF_RUN 1 #endif /* cc options: -arch=sm_20 */ /* barrier: user */ /* speedcheck: no */ /* gpu_general_bc: false */ /* gpu_mem_stress: true */ /* gpu-rand-threads: true */ /* gpu_cuda: true */ /* gpu_gen_addr: true */ /* gpu_cvt_global_to_gen: true */ /* gpu_cvt_shared_to_gen: true */ /* gpu_max_ctas: 12 */ /* gpu_min_ctas: 9 */ /* gpu_max_threads: 512 */ /* gpu_min_threads: 128 */