GPU_PTX dlb_mp+membar.gls-p0::p1-xgyg {} P0 | P1 ; mov.u32 r0, 1 | ld.volatile.u32 r0, [r3] ; st.cg.u32 [r3], r0 | setp.eq.u32 p4, r0, 0 ; membar.gl | membar.gl ; ld.volatile.u32 r2, [r1] | @!p4 ld.cg.u32 r2, [r1] ; add.s32 r2, r2 1 | ; st.volatile.u32 [r1], r2 | ; exists (1:r0=1 /\ 1:r2=0) (device (kernel (cta (warp P0)) (cta (warp P1)))) y:global; x:global Generated assembler //START _litmus_P1 ld.volatile.u32 sr01, [sr31] ; setp.eq.u32 sp41, sr01, 0 ; membar.gl ; @!sp41 ld.cg.u32 sr21, [sr11] ; //START _litmus_P0 mov.u32 sr00, 1 ; st.cg.u32 [sr30], sr00 ; membar.gl ; ld.volatile.u32 sr20, [sr10] ; add.s32 sr20, sr20, 1 ; st.volatile.u32 [sr10], sr20 ; Binary '/tmp/dire6e2a0.tmp/dlb-mp+membar.gls.exe' successfully loaded Specification clusters: 2 Specification: [[(804, 9, 'R5'), (803, 3, 'R4')], [(847, 2, 'R10'), (845, 9, 'R0'), (849, 8, 'R8')]] Cluster 0: OK Cluster 1: OK !!SUCCESS!! Test dlb-mp+membar.gls Allowed Histogram (16 states) 299 :>1:r0=1; 1:r2=1; 6667 :>1:r0=0; 1:r2=2098296; 6665 :>1:r0=0; 1:r2=2098300; 6656 :>1:r0=0; 1:r2=2098304; 6655 :>1:r0=0; 1:r2=2098308; 6636 :>1:r0=0; 1:r2=2098312; 6635 :>1:r0=0; 1:r2=2098316; 6627 :>1:r0=0; 1:r2=2098320; 6649 :>1:r0=0; 1:r2=2098324; 6622 :>1:r0=0; 1:r2=2098328; 6624 :>1:r0=0; 1:r2=2098332; 6643 :>1:r0=0; 1:r2=2098336; 6660 :>1:r0=0; 1:r2=2098340; 6659 :>1:r0=0; 1:r2=2098344; 6658 :>1:r0=0; 1:r2=2098348; 6650 :>1:r0=0; 1:r2=2098352; No Witnesses Positive: 0, Negative: 100005 Condition exists (1:r0=1 /\ 1:r2=0) is NOT validated Observation dlb-mp+membar.gls Never 0 100005 Time dlb-mp+membar.gls 6.24 -- device info -- Name: GeForce GTX TITAN Major revision number: 3 Minor revision number: 5 Total global memory: 6442123264 Total shared memory per block: 49152 Number of multiprocessors: 14 Machine: formal Revision 1371, version 5.01 GPU_PTX experimental backend Command line: ./litmus -mach GTXTitan.cfg -gpu-verf-comp true ASPLOS/dlb-mp+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_35 */ /* 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: 14 */ /* gpu_min_ctas: 10 */ /* gpu_max_threads: 512 */ /* gpu_min_threads: 128 */