GPU_PTX IRWIW+membar.cta+addr-p0::p1:p3::p2-xgyg "Rf-c-gl2l2 Mcta-d-Rgl2-Wgl2 Ws-c-gl2l2 Rf-c-gl2l2 Addr-d-gl2-Wgl2 Ws-c-gl2l2" {} P0 | P1 | P2 | P3 ; mov.s32 r0, 2 | ld.cg.s32 r0, [r1] | mov.s32 r0, 2 | ld.cg.s32 r0, [r1] ; st.cg.s32 [r1], r0 | membar.cta | st.cg.s32 [r1], r0 | and.b32 r2, r0 2147483648 ; | mov.s32 r2, 1 | | cvt.u64.u32 r3, r2 ; | st.cg.s32 [r3], r2 | | mov.s32 r4, 1 ; | | | add.u64 r5, r5 r3 ; | | | st.cg.s32 [r5], r4 ; exists (0::x=2 /\ 1::y=2 /\ 1:r0=2 /\ 3:r0=2) (device (kernel (cta (warp P0)) (cta (warp P1) (warp P3)) (cta (warp P2)))) x:global; y:global Generated assembler //START _litmus_P3 ld.cg.s32 sr03, [sr13] ; and.b32 sr23, sr03, 2147483648 ; cvt.u64.u32 sr33, sr23 ; mov.s32 sr43, 1 ; add.u64 sr53, sr53, sr33 ; st.cg.s32 [sr53], sr43 ; //START _litmus_P2 mov.s32 sr02, 2 ; st.cg.s32 [sr12], sr02 ; //START _litmus_P1 ld.cg.s32 sr01, [sr11] ; membar.cta ; mov.s32 sr21, 1 ; st.cg.s32 [sr31], sr21 ; //START _litmus_P0 mov.s32 sr00, 2 ; st.cg.s32 [sr10], sr00 ; Binary '/tmp/dir23ad82.tmp/IRWIW+membar.cta+addr-p0::p1:p3::p2-xgyg-0.exe' successfully loaded Specification clusters: 4 Specification: [[(589, 3, 'R4'), (588, 2, 'R6')], [(627, 2, 'R10')], [(671, 3, 'R4'), (670, 2, 'R12')], [(715, 2, 'R10')]] Cluster 0: OK Cluster 1: OK Cluster 2: OK Cluster 3: OK !!SUCCESS!! Test IRWIW+membar.cta+addr-p0::p1:p3::p2-xgyg Allowed Histogram (27 states) 12264 :>1:r0=0; 3:r0=0; 0::x=1; 1::y=1; 5428 :>1:r0=1; 3:r0=0; 0::x=1; 1::y=1; 11418 :>1:r0=2; 3:r0=0; 0::x=1; 1::y=1; 6172 :>1:r0=0; 3:r0=1; 0::x=1; 1::y=1; 2006 :>1:r0=2; 3:r0=1; 0::x=1; 1::y=1; 10041 :>1:r0=0; 3:r0=2; 0::x=1; 1::y=1; 1371 :>1:r0=1; 3:r0=2; 0::x=1; 1::y=1; 10352 :>1:r0=2; 3:r0=2; 0::x=1; 1::y=1; 5299 :>1:r0=0; 3:r0=0; 0::x=2; 1::y=1; 1268 :>1:r0=1; 3:r0=0; 0::x=2; 1::y=1; 1190 :>1:r0=2; 3:r0=0; 0::x=2; 1::y=1; 280 :>1:r0=0; 3:r0=1; 0::x=2; 1::y=1; 2065 :>1:r0=0; 3:r0=2; 0::x=2; 1::y=1; 274 :>1:r0=1; 3:r0=2; 0::x=2; 1::y=1; 275 :>1:r0=2; 3:r0=2; 0::x=2; 1::y=1; 10001 :>1:r0=0; 3:r0=0; 0::x=1; 1::y=2; 50 :>1:r0=1; 3:r0=0; 0::x=1; 1::y=2; 3732 :>1:r0=2; 3:r0=0; 0::x=1; 1::y=2; 5731 :>1:r0=0; 3:r0=1; 0::x=1; 1::y=2; 794 :>1:r0=2; 3:r0=1; 0::x=1; 1::y=2; 4629 :>1:r0=0; 3:r0=2; 0::x=1; 1::y=2; 699 :>1:r0=2; 3:r0=2; 0::x=1; 1::y=2; 3587 :>1:r0=0; 3:r0=0; 0::x=2; 1::y=2; 22 :>1:r0=1; 3:r0=0; 0::x=2; 1::y=2; 6 :>1:r0=2; 3:r0=0; 0::x=2; 1::y=2; 896 :>1:r0=0; 3:r0=1; 0::x=2; 1::y=2; 150 :>1:r0=0; 3:r0=2; 0::x=2; 1::y=2; No Witnesses Positive: 0, Negative: 100000 Condition exists (0::x=2 /\ 1::y=2 /\ 1:r0=2 /\ 3:r0=2) is NOT validated Observation IRWIW+membar.cta+addr-p0::p1:p3::p2-xgyg Never 0 100000 Time IRWIW+membar.cta+addr-p0::p1:p3::p2-xgyg 39.93 -- device info -- Name: GeForce GTX 660 Major revision number: 3 Minor revision number: 0 Total global memory: 2147155968 Total shared memory per block: 49152 Number of multiprocessors: 5 Machine: csu8975 Revision 967, version 5.01 GPU_PTX experimental backend Command line: ./litmus -gpu -ccopts -arch=sm_30 -gpu-max-ctas 8 -gpu-min-ctas 4 tests-sm30/IRWIW+membar.cta+addr-p0::p1:p3::p2-xgyg-0.litmus 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_30 */ /* barrier: user */ /* speedcheck: no */ /* gpu_general_bc: true */ /* 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: 8 */ /* gpu_min_ctas: 4 */ /* gpu_max_threads: 512 */ /* gpu_min_threads: 128 */