parameters: (self, sig)
return_statement: return kernel
docstring: Compile and bind to the current context a version of this kernel
          specialized for the given signature.
docstring_summary: Compile and bind to the current context a version of this kernel
          specialized for the given signature.
docstring_tokens: Compile and bind to the current context a version of this kernel specialized for the given signature .
function: def compile(self, sig):
          '''
          Compile and bind to the current context a version of this kernel
          specialized for the given signature.
          '''
          argtypes, return_type = sigutils.normalize_signature(sig)
          assert return_type is None
          cc = get_current_device().compute_capability
          kernel = self.definitions.get((cc, argtypes))
          if kernel is None:
              if 'link' not in self.targetoptions:
                  self.targetoptions['link'] = ()
              kernel = compile_kernel(self.py_func, argtypes,
                                      **self.targetoptions)
              self.definitions[(cc, argtypes)] = kernel
              if self.bind:
                  kernel.bind()
          return kernel
function_tokens: def compile ( self , sig ) : argtypes , return_type = sigutils . normalize_signature ( sig ) assert return_type is None cc = get_current_device ( ) . compute_capability kernel = self . definitions . get ( ( cc , argtypes ) ) if kernel is None : if 'link' not in self . targetoptions : self . targetoptions [ 'link' ] = ( ) kernel = compile_kernel ( self . py_func , argtypes , * * self . targetoptions ) self . definitions [ ( cc , argtypes ) ] = kernel if self . bind : kernel . bind ( ) return kernel