class_docstr: .. warning::
  
      This class is deprecated, to be removed in PyOpenCL 2018.x.
  
  .. versionadded:: 2011.2
  
  .. attribute:: state
  
      A :class:`pyopencl.array.Array` containing the state of the generator.
  
  .. attribute:: nskip
  
      nskip is an integer which can (optionally) be defined in the kernel
      code as RANLUXCL_NSKIP. If this is done the generator will be faster
      for luxury setting 0 and 1, or when the p-value is manually set to a
      multiple of 24.
class_docstr_tok: ["..","warning",":",":","This","class","is","deprecated",",","to","be","removed","in","PyOpenCL","2018.x",".","..","versionadded",":",":","2011.2","..","attribute",":",":","state","A",":","class",":","`","pyopencl.array.Array","`","containing","the","state","of","the","generator",".","..","attribute",":",":","nskip","nskip","is","an","integer","which","can","(","optionally",")","be","defined","in","the","kernel","code","as","RANLUXCL_NSKIP",".","If","this","is","done","the","generator","will","be","faster","for","luxury","setting","0","and","1",",","or","when","the","p-value","is","manually","set","to","a","multiple","of","24","."]
code: def get_sync_kernel(self):
      src = """//CL//
              {defines}
  
              #include <pyopencl-ranluxcl.cl>
  
              kernel void sync(
                  global ranluxcl_state_t *ranluxcltab)
              {{
                ranluxcl_state_t ranluxclstate;
                ranluxcl_download_seed(&ranluxclstate, ranluxcltab);
                ranluxcl_synchronize(&ranluxclstate);
                ranluxcl_upload_seed(&ranluxclstate, ranluxcltab);
              }}
              """.format(
          defines=self.generate_settings_defines(),
      )
      prg = cl.Program(self.context, src).build()
      return prg.sync
  
imports: import pyopencl
  import pyopencl.array
  import pyopencl.cltypes
  from pyopencl.tools import first_arg_dependent_memoize
  from pytools import memoize_method
  import numpy
label_desc: Use image node_id 8 for calling the RanluxGenerator obj's underlying member method code with example usage: obj.get_sync_kernel() and returns: prg