Example #1
0
  def add_parameter(self, ptype, name = ""):
    if name == "":
      name = "p" + str(len(self.params) + 1)

    # TODO: Parameter type checking
    self.param_types.append(ptype)
    self.params.append(name)
    return reg.ptxVariable('param', ptype, name)
Example #2
0
    def add_parameter(self, ptype, name=""):
        if name == "":
            name = "p" + str(len(self.params) + 1)

        # TODO: Parameter type checking
        self.param_types.append(ptype)
        self.params.append(name)
        return reg.ptxVariable("param", ptype, name)
Example #3
0
 def add_variable(self, var_space = None, var_type = None, var_name = None):
   if var_space == 'reg':
     return self.acquire_register(var_type, var_name)
   else:
     if var_name == None:
       var_name = 'v' + str(self._variable_count)
       self._variable_count += 1
     var = reg.ptxVariable(var_space, var_type, var_name)
     self._declarations.append('\t.' + str(var.space) + '.' + str(var.type) + ' ' + var.name + ';')
Example #4
0
 def add_variable(self, var_space=None, var_type=None, var_name=None):
     if var_space == "reg":
         return self.acquire_register(var_type, var_name)
     else:
         if var_name == None:
             var_name = "v" + str(self._variable_count)
             self._variable_count += 1
         var = reg.ptxVariable(var_space, var_type, var_name)
         self._declarations.append("\t." + str(var.space) + "." + str(var.type) + " " + var.name + ";")
Example #5
0
#         self.params['sat'] =  True
#       if 'rnd' in koperands and koperands['rnd'] != None:
#         if koperands['rnd] in ('rn', 'rz', 'rm', 'rp'):
#           self.params['rnd'] =  koperands['rnd']
          
#     return True


if __name__ == '__main__':
  import corepy.arch.ptx.isa as isa
  #import corepy.arch.ptx.platform as env

  #code = env.InstructionStream()
  #set_active_code(code)

  r1 = regs.ptxVariable('reg', 'u32', 'r1')
  r2 = regs.ptxVariable('reg', 'u32', 'r2')
  r3 = regs.ptxVariable('reg', 'u32', 'r3')
  r4 = regs.ptxVariable('reg', 'u32', 'r4')

  #x = add(r3, r2, r1, ignore_active = True)
  x = isa.add(r3, r2, r1)
  print x.render()
  y = isa.mov(r2, r1)
  print y.render()
  a = regs.ptxAddress(r4)
  z = isa.ld('param', r1, a)
  print z.render()

  f1 = regs.ptxVariable('reg', 'f32', 'f1')
  f2 = regs.ptxVariable('reg', 'f32', 'f2')
Example #6
0
#       if 'sat' in koperands and koperands['sat'] == True:
#         self.params['sat'] =  True
#       if 'rnd' in koperands and koperands['rnd'] != None:
#         if koperands['rnd] in ('rn', 'rz', 'rm', 'rp'):
#           self.params['rnd'] =  koperands['rnd']

#     return True

if __name__ == '__main__':
    import corepy.arch.ptx.isa as isa
    #import corepy.arch.ptx.platform as env

    #code = env.InstructionStream()
    #set_active_code(code)

    r1 = regs.ptxVariable('reg', 'u32', 'r1')
    r2 = regs.ptxVariable('reg', 'u32', 'r2')
    r3 = regs.ptxVariable('reg', 'u32', 'r3')
    r4 = regs.ptxVariable('reg', 'u32', 'r4')

    #x = add(r3, r2, r1, ignore_active = True)
    x = isa.add(r3, r2, r1)
    print x.render()
    y = isa.mov(r2, r1)
    print y.render()
    a = regs.ptxAddress(r4)
    z = isa.ld('param', r1, a)
    print z.render()

    f1 = regs.ptxVariable('reg', 'f32', 'f1')
    f2 = regs.ptxVariable('reg', 'f32', 'f2')