[API/Profile] Add the profile opcode
authorDongju Chae <dongju.chae@samsung.com>
Fri, 14 May 2021 05:21:26 +0000 (14:21 +0900)
committer채동주/On-Device Lab(SR)/Staff Engineer/삼성전자 <dongju.chae@samsung.com>
Mon, 17 May 2021 02:57:25 +0000 (11:57 +0900)
This patch adds the profile opcode.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
src/core/npu/NPUdrvAPI_emul.cc

index 5c4f410..c5e4db9 100644 (file)
@@ -120,7 +120,6 @@ class EmulReq {
         layer->running_cycles = common.cycle_end - common.cycle_start;
         layer->start_cycles = common.cycle_start;
         layer->end_cycles = common.cycle_end;
-        layer->visa_opcode = 0; /* NYI */
         layer->visa_prog_seq = i;
         /* In the first run, program sequence == exec sequence */
         layer->visa_exec_seq = global_exec_seq++;
@@ -129,11 +128,13 @@ class EmulReq {
           case TRIV2PROF_BLOCKID_NNA:
             ifs.read ((char *) &nna, sizeof (T2PF_DUMP_NNA));
 
+            layer->visa_opcode = nna.opcode;
             snprintf (layer->name, NPU_OPNAME_MAX, "%s", nna.op_name);
             break;
           case TRIV2PROF_BLOCKID_NNA_DMA_IN:
             ifs.read ((char *) &nna_dma, sizeof (T2PF_DUMP_DMA));
 
+            layer->visa_opcode = 0x02;
             snprintf (layer->name, NPU_OPNAME_MAX, "%s", "ADMA_IN");
             layer->dram_read_bytes =
                 nna_dma.src_addr_end - nna_dma.src_addr_start;
@@ -143,6 +144,7 @@ class EmulReq {
           case TRIV2PROF_BLOCKID_NNA_DMA_OUT:
             ifs.read ((char *) &nna_dma, sizeof (T2PF_DUMP_DMA));
 
+            layer->visa_opcode = 0x03;
             snprintf (layer->name, NPU_OPNAME_MAX, "%s", "ADMA_OUT");
             layer->dram_write_bytes =
                 nna_dma.dest_addr_end - nna_dma.dest_addr_start;
@@ -152,11 +154,13 @@ class EmulReq {
           case TRIV2PROF_BLOCKID_DSP:
             ifs.read ((char *) &dsp, sizeof (T2PF_DUMP_DSP));
 
+            layer->visa_opcode = dsp.opcode;
             snprintf (layer->name, NPU_OPNAME_MAX, "%s", dsp.op_name);
             break;
           case TRIV2PROF_BLOCKID_DSP_DMA_IN:
             ifs.read ((char *) &dsp_dma, sizeof (T2PF_DUMP_DMA));
 
+            layer->visa_opcode = 0x40;
             snprintf (layer->name, NPU_OPNAME_MAX, "%s", "PDMA_IN");
             layer->dram_read_bytes =
                 dsp_dma.src_addr_end - dsp_dma.src_addr_start;
@@ -166,6 +170,7 @@ class EmulReq {
           case TRIV2PROF_BLOCKID_DSP_DMA_OUT:
             ifs.read ((char *) &dsp_dma, sizeof (T2PF_DUMP_DMA));
 
+            layer->visa_opcode = 0x41;
             snprintf (layer->name, NPU_OPNAME_MAX, "%s", "PDMA_OUT");
             layer->dram_write_bytes =
                 dsp_dma.dest_addr_end - dsp_dma.dest_addr_start;