def main(): num_qpus, unroll_shift, code_offset = map(int, sys.argv[1:]) for insn in assemble(qpu_stbmv, num_qpus=num_qpus, unroll_shift=unroll_shift, code_offset=code_offset): print(f'UINT64_C({insn:#018x}),')
def main(): num_qpus, code_offset = map(int, sys.argv[1:]) for insn in assemble(qpu_sgemm_rnn, num_qpus=num_qpus, code_offset=code_offset): print(f'UINT64_C({insn:#018x}),')
def main(): num_qpus, unroll, code_offset = map(int, sys.argv[1:]) for insn in assemble(qpu_somatcopy_n, num_qpus=num_qpus, unroll=unroll, code_offset=code_offset): print(f'UINT64_C({insn:#018x}),')
def main(): if len(sys.argv) == 1: benchmark() return num_qpus, tile_rows, tile_cols, subtile_rows, subtile_cols, code_offset \ = map(int, sys.argv[1:]) for insn in assemble(qpu_comatcopy_t, num_qpus=num_qpus, tile_rows=tile_rows, tile_cols=tile_cols, subtile_rows=subtile_rows, subtile_cols=subtile_cols, code_offset=code_offset): print(f'UINT64_C({insn:#018x}),')
def program(self, prog, *args, **kwargs): asm = assemble(prog, *args, **kwargs) offset = self.code_pos code = Array( shape=len(asm), dtype=np.uint64, phyaddr=self.memory.phyaddr + offset, buffer=self.memory.buffer, offset=offset, ) self.code_pos += code.nbytes if self.code_pos > self.code_area_base + self.code_area_size: raise DriverError('Code too large') code[:] = asm return code
def dump_program(self, prog, *args, file=sys.stdout, **kwargs): self.dump_code(assemble(prog, *args, **kwargs), file=file)
def main(): num_qpus, do_unroll = map(int, sys.argv[1:]) for insn in assemble(qpu_fft2, num_qpus=num_qpus, do_unroll=do_unroll): print(f'UINT64_C({insn:#018x}),')
def main(): num_qpus, is_forward = map(int, sys.argv[1:]) for insn in assemble(qpu_fft4, num_qpus=num_qpus, is_forward=is_forward): print(f'UINT64_C({insn:#018x}),')