Example #1
0
 def __init__(self,
              in_params,
              out_params,
              map_expr,
              reduce_expr,
              post_map_expr,
              identity,
              name='reduce_kernel',
              reduce_type=None,
              options=(),
              reduce_dims=True,
              preamble=''):
     self.in_params = elementwise._get_param_info(in_params, True)
     self.out_params = elementwise._get_param_info(out_params)
     self.nin = len(self.in_params)
     self.nout = len(self.out_params)
     self.params = self.in_params + self.out_params + \
         elementwise._get_param_info(
             'CIndexer _in_ind, CIndexer _out_ind, int32 _out_clp2_size')
     self.identity = identity
     self.reduce_expr = reduce_expr
     self.map_expr = map_expr
     self.name = name
     self.options = options
     self.reduce_dims = reduce_dims
     self.post_map_expr = post_map_expr
     if reduce_type is None:
         self.reduce_type = self.out_params[0].ctype
     else:
         self.reduce_type = reduce_type
     self.preamble = preamble
Example #2
0
 def __init__(self, name, ops, identity=None, preamble=''):
     self.name = name
     self._ops = ops
     self.identity = identity
     self._preamble = preamble
     self.nin = 1
     self.nout = 1
     in_params = elementwise._get_param_info('T in0', True)
     out_params = elementwise._get_param_info('T out0')
     self._params = in_params + out_params + elementwise._get_param_info(
         'CIndexer _in_ind, CIndexer _out_ind, int32 _out_clp2_size')
     self._input_expr = 'const type_in0_raw in0 = _raw_in0[_in_ind.get()];'
     self._output_expr = 'type_out0_raw &out0 = _raw_out0[_out_ind.get()];'
Example #3
0
 def __init__(self, in_params, out_params,
              map_expr, reduce_expr, post_map_expr,
              identity, name='reduce_kernel', reduce_type=None,
              options=(), reduce_dims=True, preamble=''):
     self.in_params = elementwise._get_param_info(in_params, True)
     self.out_params = elementwise._get_param_info(out_params)
     self.nin = len(self.in_params)
     self.nout = len(self.out_params)
     self.params = self.in_params + self.out_params + \
         elementwise._get_param_info(
             'CIndexer _in_ind, CIndexer _out_ind, int32 _out_clp2_size')
     self.identity = identity
     self.reduce_expr = reduce_expr
     self.map_expr = map_expr
     self.name = name
     self.options = options
     self.reduce_dims = reduce_dims
     self.post_map_expr = post_map_expr
     if reduce_type is None:
         self.reduce_type = self.out_params[0].ctype
     else:
         self.reduce_type = reduce_type
     self.preamble = preamble