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)
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)
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 + ';')
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 + ";")
# 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')
# 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')