class_docstr: Sort an array (or one axis of one) using a sorting network.
  
  Will only work if the axis of the array to be sorted has a length
  that is a power of 2.
  
  .. versionadded:: 2015.2
  
  .. seealso:: :class:`pyopencl.algorithm.RadixSort`
  
  .. automethod:: __call__
class_docstr_tok: ["Sort","an","array","(","or","one","axis","of","one",")","using","a","sorting","network",".","Will","only","work","if","the","axis","of","the","array","to","be","sorted","has","a","length","that","is","a","power","of","2",".","..","versionadded",":",":","2015.2","..","seealso",":",":",":","class",":","`","pyopencl.algorithm.RadixSort","`","..","automethod",":",":","__call__"]
code: def __init__(self, context):
      self.context = context
  
file_path: pyopencl/pyopencl/bitonic_sort.py
imports: import pyopencl
  from pyopencl.tools import dtype_to_ctype
  from operator import mul
  from functools import reduce
  from pytools import memoize_method
  from mako.template import Template
  import pyopencl.bitonic_sort_templates
label_desc: Use image node_id 1 to create a new BitonicSort object  with example: obj = BitonicSort(context)