示例#1
0
 def initialize(self, device, **kwargs):
     if (self.input is None or self.input.mem is None or
         (self.output is not None and
          eq_addr(self.input.mem, self.output.mem))):
         raise error.BadFormatError(
             "input should be set and should not be equal to output")
     super(BackwardLog, self).initialize(device=device, **kwargs)
示例#2
0
 def initialize(self, device, **kwargs):
     if (not self.input or (self.output is not None
                            and eq_addr(self.input.mem, self.output.mem))):
         raise error.BadFormatError(
             "input should be set and should not be equal to output")
     super(BackwardTanhLog, self).initialize(device=device, **kwargs)
     self.output.initialize(self.device)
示例#3
0
 def numpy_prerun(self, is_raveled, io_usage):
     inp = None
     out = None
     if is_raveled:
         if io_usage[0]:
             inp = ravel(self.input.mem)
         if io_usage[1]:
             out = ravel(self.output.mem)
         err_input = ravel(self.err_input.mem)
         err_output = ravel(self.err_output.mem)
     else:
         if io_usage[0]:
             inp = self.input.mem
         if io_usage[1]:
             out = self.output.mem
         err_input = self.err_input.mem
         err_output = self.err_output.mem
     if eq_addr(err_input, err_output):
         self.err_input.map_write()
     else:
         self.err_input.map_invalidate()
         self.err_output.map_read()
     if io_usage[0]:
         self.input.map_read()
     if io_usage[1]:
         self.output.map_read()
     return inp, out, err_input, err_output
示例#4
0
 def numpy_prerun(self, is_raveled, io_usage):
     inp = None
     out = None
     if is_raveled:
         if io_usage[0]:
             inp = ravel(self.input.mem)
         if io_usage[1]:
             out = ravel(self.output.mem)
         err_input = ravel(self.err_input.mem)
         err_output = ravel(self.err_output.mem)
     else:
         if io_usage[0]:
             inp = self.input.mem
         if io_usage[1]:
             out = self.output.mem
         err_input = self.err_input.mem
         err_output = self.err_output.mem
     if eq_addr(err_input, err_output):
         self.err_input.map_write()
     else:
         self.err_input.map_invalidate()
         self.err_output.map_read()
     if io_usage[0]:
         self.input.map_read()
     if io_usage[1]:
         self.output.map_read()
     return inp, out, err_input, err_output
示例#5
0
 def numpy_run(self):
     if eq_addr(self.err_input.mem, self.err_output.mem):
         self.err_output.map_write()
     else:
         self.err_output.map_read()
         self.err_input.map_invalidate()
     self.mask.map_read()
     numpy.multiply(self.err_output.mem.ravel(), self.mask.mem.ravel(), ravel(self.err_input.mem))
示例#6
0
 def numpy_run(self):
     if eq_addr(self.err_input.mem, self.err_output.mem):
         self.err_output.map_write()
     else:
         self.err_output.map_read()
         self.err_input.map_invalidate()
     self.mask.map_read()
     numpy.multiply(self.err_output.mem.ravel(), self.mask.mem.ravel(),
                    ravel(self.err_input.mem))
示例#7
0
 def numpy_prerun(self, make_raveled, copy_in2out):
     if make_raveled:
         inp = ravel(self.input.mem)
         out = ravel(self.output.mem)
     else:
         inp = self.input.mem
         out = self.output.mem
     if eq_addr(inp, out):
         self.output.map_write()
     else:
         self.output.map_invalidate()
         self.input.map_read()
         if copy_in2out:
             numpy.copyto(out, inp)
     return inp, out
示例#8
0
 def numpy_prerun(self, make_raveled, copy_in2out):
     if make_raveled:
         inp = ravel(self.input.mem)
         out = ravel(self.output.mem)
     else:
         inp = self.input.mem
         out = self.output.mem
     if eq_addr(inp, out):
         self.output.map_write()
     else:
         self.output.map_invalidate()
         self.input.map_read()
         if copy_in2out:
             numpy.copyto(out, inp)
     return inp, out
示例#9
0
 def initialize(self, device, **kwargs):
     if (id(self.output) == id(self.input) or
         (self.output is not None and self.output.mem is not None and
          eq_addr(self.output.mem, self.input.mem))):
         raise error.BadFormatError("in_place for this unit is prohibited")
     super(ForwardSinCos, self).initialize(device=device, **kwargs)
示例#10
0
 def initialize(self, device, **kwargs):
     if (id(self.output) == id(self.input)
             or (self.output is not None and self.output.mem is not None
                 and eq_addr(self.output.mem, self.input.mem))):
         raise error.BadFormatError("in_place for this unit is prohibited")
     super(ForwardSinCos, self).initialize(device=device, **kwargs)