GPU_PTX dlb_lb-p0::p1-hgtg {1:r1=t; 1:r3=h;} P0 | P1 ; atom.cas.b32 r1, [r2], 0, 1 | ld.cg.u32 r0, [r1] ; mov.u32 r3, 1 | atom.cas.b32 r2, [r3], 0, 1 ; st.cg.u32 [r4], r3 | ; exists (0:r1=1 /\ 1:r0=1) (device (kernel (cta (warp P0)) (cta (warp P1)))) t:global; h:global Generated assembler //START _litmus_P1 ld.cg.u32 sr01, [sr11] ; atom.cas.b32 sr21, [sr31], 0, 1 ; //START _litmus_P0 atom.cas.b32 sr10, [sr20], 0, 1 ; mov.u32 sr30, 1 ; st.cg.u32 [sr40], sr30 ; Binary '/tmp/dir0e1951.tmp/dlb-lb.exe' successfully loaded Specification clusters: 2 Specification: [[(594, 3, 'R4'), (598, 6, 'R5')], [(657, 6, 'R4'), (661, 2, 'R12')]] Cluster 0: OK Cluster 1: OK !!SUCCESS!! Test dlb-lb Allowed Histogram (4 states) 51835 :>0:r1=0; 1:r0=0; 41923 :>0:r1=1; 1:r0=0; 5843 :>0:r1=0; 1:r0=1; 399 *>0:r1=1; 1:r0=1; Ok Witnesses Positive: 399, Negative: 99601 Condition exists (0:r1=1 /\ 1:r0=1) is validated Observation dlb-lb Sometimes 399 99601 Time dlb-lb 6.87 -- 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 1398M, version 5.01 GPU_PTX experimental backend Command line: ./litmus -mach GTX660.cfg -gpu-verf-comp true ASPLOS/dlb-lb.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_30 */ /* 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: 5 */ /* gpu_min_ctas: 4 */ /* gpu_max_threads: 256 */ /* gpu_min_threads: 128 */