GPU_PTX cl_stale-p0::p1-agbgxgyg {} P0 | P1 ; mov.u32 r0, 1 | ld.cg.u32 r0, [r1] ; st.cg.u32 [r1], r0 | setp.eq.u32 r2, r0, 1 ; ld.cg.u32 r2, [r3] | @r2 mov.u32 r3, 1 ; ld.cg.u32 r4, [r5] | @r2 ld.cg.u32 r4, [r5] ; setp.eq.u32 r6, r2, r4 | ; @r6 atom.inc.u32 r7, [r8], 1 | ; membar.gl | ; exists (1:r0=1 /\ 1:r4=0) (device (kernel (cta (warp P0)) (cta (warp P1)))) y:global; x:global; a:global; b:global Generated assembler //START _litmus_P1 ld.cg.u32 sr01, [sr11] ; setp.eq.u32 sr21, sr01, 1 ; @sr21 mov.u32 sr31, 1 ; @sr21 ld.cg.u32 sr41, [sr51] ; //START _litmus_P0 mov.u32 sr00, 1 ; st.cg.u32 [sr10], sr00 ; ld.cg.u32 sr20, [sr30] ; ld.cg.u32 sr40, [sr50] ; setp.eq.u32 sr60, sr20, sr40 ; @sr60 atom.inc.u32 sr70, [sr80], 1 ; membar.gl ; Binary '/tmp/dir339d0f.tmp/cl-stale.exe' successfully loaded Specification clusters: 2 Specification: [[(826, 3, 'R4'), (824, 3, 'R0')], [(918, 2, 'R12'), (913, 3, 'R5'), (916, 3, 'R4'), (915, 7, 'R0')]] Cluster 0: OK Cluster 1: OK !!SUCCESS!! Test cl-stale Allowed Histogram (3 states) 4 *>1:r0=1; 1:r4=0; 94983 :>1:r0=0; 1:r4=1; 5013 :>1:r0=1; 1:r4=1; Ok Witnesses Positive: 4, Negative: 99996 Condition exists (1:r0=1 /\ 1:r4=0) is validated Observation cl-stale Sometimes 4 99996 Time cl-stale 11.79 -- 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 1383, version 5.01 GPU_PTX experimental backend Command line: ./litmus -mach GTXTitan ASPLOS/cl-stale.litmus -a 16 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: 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: 14 */ /* gpu_min_ctas: 10 */ /* gpu_max_threads: 512 */ /* gpu_min_threads: 128 */