Skip to content

Commit

Permalink
update 002b04f
Browse files Browse the repository at this point in the history
  • Loading branch information
GHA committed Nov 29, 2023
0 parents commit 28b6f52
Show file tree
Hide file tree
Showing 222 changed files with 11,535 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 7dff94c33ee0d5986ace8601460104c6
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file added .doctrees/environment.pickle
Binary file not shown.
Binary file added .doctrees/report.doctree
Binary file not shown.
Empty file added .nojekyll
Empty file.
Binary file added _images/_uart0_reads_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/_uart0_writes_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/confusion_matrix.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/cumulative_memory_reads_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/cumulative_memory_writes_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/cumulative_uart0_reads_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/cumulative_uart0_writes_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/executed_instructions_cpu_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/inference_time.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/instr_barplot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/memory_reads_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/memory_writes_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/vector_instr_barplot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
292 changes: 292 additions & 0 deletions _sources/report.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,292 @@

# v-extensions-riscv


### Commands used

````{note}

This section was generated using:

```bash
kenning optimize test \
--json-cfg \
kenning-scenarios/renode-magic-wand-iree-bare-metal-inference.json \
--measurements \
./results.json


```
````

### General information for magic_wand_fp32

*Model framework*:

* tensorflow ver. 2.11.1

*Input JSON*:

```json
{
"dataset": {
"type": "kenning.datasets.magic_wand_dataset.MagicWandDataset",
"parameters": {
"window_size": 128,
"window_shift": 128,
"noise_level": 20,
"dataset_root": "build/MagicWandDataset",
"inference_batch_size": 1,
"download_dataset": true,
"force_download_dataset": false,
"external_calibration_dataset": null,
"split_fraction_test": 0.2,
"split_fraction_val": null,
"split_seed": 1234
}
},
"model_wrapper": {
"type": "kenning.modelwrappers.classification.tflite_magic_wand.MagicWandModelWrapper",
"parameters": {
"window_size": 128,
"model_path": "/home/runner/.kenning/models/classification/magic_wand.h5",
"model_name": null
}
},
"protocol": {
"type": "kenning.protocols.uart.UARTProtocol",
"parameters": {
"port": "/tmp/uart",
"baudrate": 115200,
"packet_size": 4096,
"endianness": "little"
}
},
"runtime": {
"type": "kenning.runtimes.renode.RenodeRuntime",
"parameters": {
"runtime_binary_path": "/home/runner/work/kenning-bare-metal-iree-runtime/kenning-bare-metal-iree-runtime/build/build-riscv/iree-runtime/iree_runtime",
"platform_resc_path": "/home/runner/work/kenning-bare-metal-iree-runtime/kenning-bare-metal-iree-runtime/sim/config/springbok.resc",
"resc_dependencies": [
"/home/runner/work/kenning-bare-metal-iree-runtime/kenning-bare-metal-iree-runtime/sim/config/platforms/springbok.repl",
"/home/runner/work/kenning-bare-metal-iree-runtime/kenning-bare-metal-iree-runtime/third-party/iree-rv32-springbok/sim/config/infrastructure/SpringbokRiscV32.cs"
],
"disable_profiler": false,
"profiler_dump_path": "/home/runner/work/kenning-bare-metal-iree-runtime/kenning-bare-metal-iree-runtime/build/profiler.dump",
"profiler_interval_step": 10.0,
"sensor": null,
"batches_count": 10,
"disable_performance_measurements": false
}
},
"data_converter": {
"type": "kenning.dataconverters.modelwrapper_dataconverter.ModelWrapperDataConverter",
"parameters": {}
},
"optimizers": [
{
"type": "kenning.optimizers.iree.IREECompiler",
"parameters": {
"model_framework": "keras",
"backend": "llvm-cpu",
"compiler_args": [
"iree-llvm-debug-symbols=false",
"iree-vm-bytecode-module-strip-source-map=true",
"iree-vm-emit-polyglot-zip=false",
"iree-llvm-target-triple=riscv32-pc-linux-elf",
"iree-llvm-target-cpu=generic-rv32",
"iree-llvm-target-cpu-features=+m,+f,+zvl512b,+zve32x,+zve32f",
"iree-llvm-target-abi=ilp32"
],
"compiled_model_path": "/home/runner/work/kenning-bare-metal-iree-runtime/kenning-bare-metal-iree-runtime/build/tflite-magic-wand.vmfb",
"location": "host"
}
}
]
}

```
## Inference performance metrics for magic_wand_fp32


### Inference time

```{figure} img/inference_time.*
---
name: performance_classification_and_renode_stats_of_magic_wand_fp32magic_wand_fp32_inferencetime
alt: Inference time
align: center
---

Inference time
```
* *First inference duration* (usually including allocation time): **0.0018200000000003769**,
* *Mean*: **0.0018424785714285853 s**,
* *Standard deviation*: **2.6131389951859453e-05 s**,
* *Median*: **0.0018359999999999488 s**.









## Inference quality metrics for magic_wand_fp32


```{figure} img/confusion_matrix.*
---
name: performance_classification_and_renode_stats_of_magic_wand_fp32magic_wand_fp32_confusionmatrix
alt: Confusion matrix
align: center
---

Confusion matrix
```

* *Accuracy*: **1.0**
* *Mean precision*: **0.9999999995982457**
* *Mean sensitivity*: **0.9999999995982457**
* *G-mean*: **0.9999999995982457**
## Renode performance measurements for magic_wand_fp32


### Count of instructions used during inference

```{figure} img/instr_barplot.*
---
name: performance_classification_and_renode_stats_of_magic_wand_fp32magic_wand_fp32_instrbarplot
alt: Count of used instructions during inference
align: center
---

Histogram of used instructions during inference
```
```{figure} img/vector_instr_barplot.*
---
name: performance_classification_and_renode_stats_of_magic_wand_fp32magic_wand_fp32_vectorinstrbarplot
alt: Utilization of V Vector Extension instructions during inference
align: center
---

Histogram of V Vector Extension instructions during inference
```
### Executed instructions counters
```{figure} img/executed_instructions_cpu_plot.*
---
name: performance_classification_and_renode_stats_of_magic_wand_fp32magic_wand_fp32_cpu_executedinstrplotpath_persecond
alt: Count of executed instructions per second for cpu
align: center
---

Count of executed instructions per second for cpu during benchmark
```

```{figure} img/cumulative_executed_instructions_cpu_plot.*
---
name: performance_classification_and_renode_stats_of_magic_wand_fp32magic_wand_fp32_cpu_executedinstrplotpath_cumulative
alt: Cumulative count of executed instructions for cpu
align: center
---

Cumulative count of executed instructions for cpu during benchmark
```
### Memory access counters
```{figure} img/memory_reads_plot.*
---
name: performance_classification_and_renode_stats_of_magic_wand_fp32magic_wand_fp32_memoryreadsplotpath_persecond
alt: Count of memory reads per second
align: center
---

Count of memory reads per second during benchmark
```

```{figure} img/cumulative_memory_reads_plot.*
---
name: performance_classification_and_renode_stats_of_magic_wand_fp32magic_wand_fp32_memoryreadsplotpath_cumulative
alt: Cumulative count of memory reads
align: center
---

Cumulative count of memory reads during benchmark
```
```{figure} img/memory_writes_plot.*
---
name: performance_classification_and_renode_stats_of_magic_wand_fp32magic_wand_fp32_memorywritessplotpath_persecond
alt: Count of memory writes per second
align: center
---

Count of memory writes per second during benchmark
```

```{figure} img/cumulative_memory_writes_plot.*
---
name: performance_classification_and_renode_stats_of_magic_wand_fp32magic_wand_fp32_memorywritessplotpath_cumulative
alt: Cumulative count of memory writes
align: center
---

Cumulative count of memory writes during benchmark
```
### Peripheral access counters
```{figure} img/_uart0_reads_plot.*
---
name: performance_classification_and_renode_stats_of_magic_wand_fp32magic_wand_fp32_uart0_peripheralreadsplotpath_persecond
alt: Count of uart0 reads per second
align: center
---

Count of uart0 reads per second during benchmark
```

```{figure} img/cumulative_uart0_reads_plot.*
---
name: performance_classification_and_renode_stats_of_magic_wand_fp32magic_wand_fp32_uart0_peripheralreadsplotpath_cumulative
alt: Cumulative count of uart0 reads
align: center
---

Cumulative count of uart0 reads during benchmark
```

```{figure} img/_uart0_writes_plot.*
---
name: performance_classification_and_renode_stats_of_magic_wand_fp32magic_wand_fp32_uart0_peripheralwritesplotpath_persecond
alt: Count of uart0 writes per second
align: center
---

Count of uart0 writes per second during benchmark
```

```{figure} img/cumulative_uart0_writes_plot.*
---
name: performance_classification_and_renode_stats_of_magic_wand_fp32magic_wand_fp32_uart0_peripheralwritesplotpath_cumulative
alt: Cumulative count of uart0 writes
align: center
---

Cumulative count of uart0 writes during benchmark
```
### Instructions stats
* *Instructions counters per inference pass*: **241945**
* *V Vector Extension instructions percentage*: **13.532811328275185** %
* *Top 10 instructions and counters per inference pass*:
- *addi*: **44278**
- *sw*: **28276**
- *lw*: **27808**
- *vle32.v*: **13136**
- *bne*: **13106**
- *flw*: **12278**
- *bltu*: **11344**
- *beq*: **9571**
- *vfmadd.vf*: **9552**
- *lbu*: **9366**
### Memory allocation stats
* *Compiled model size*: **26944**

Host memory refers to memory of the CPU controlling the accelerator, while device memory is the memory of the accelerator.
69 changes: 69 additions & 0 deletions _static/css/bokeh.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
/*
* Copyright (c) 2020-2023 Antmicro <www.antmicro.com>
*
* SPDX-License-Identifier: Apache-2.0
*/

/* Background for bokeh plots */
.bk-root {
background: var(--md-code-bg-color);
padding: 0.5em;
border-radius: 0.1rem;
}

/* Centring of bokeh plots in divs instead of figure */
div.figure.align-center {
display: flex !important;
flex-direction: column;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: center;
}

div.figure.align-center img,
figure.align-center img {
background: var(--md-code-bg-color);
padding: 0.5em;
border-radius: 0.1rem;
}

/* Styles for custom tooltip */
div.bk-tooltip-custom {
background-color: var(--md-code-bg-color) !important;
border-color: var(--md-default-bg-color) !important;
text-align: left;
}

.bk-tt-entry-name .bk-tt-entry-value {
font-family: var(--md-code-font-family);
}

.bk-tt-entry-name {
color: var(--md-code-hl-keyword-color);
padding-right: 0.5em;
}

.bk-tt-entry-name:after {
content: ": ";
}

.bk-tt-entry-value {
color: var(--md-code-hl-number-color);
}

/* Changing color of tooltip's arrow */
.bk-root .bk-tooltip.bk-right.bk-tooltip-arrow::after {
border-left-color: var(--md-default-bg-color) !important;
}

.bk-root .bk-tooltip.bk-left.bk-tooltip-arrow::before {
border-right-color: var(--md-default-bg-color) !important;
}

.bk-root .bk-tooltip.bk-below::after {
border-top-color: var(--md-default-bg-color) !important;
}

.bk-root .bk-tooltip.bk-above::before {
border-bottom-color: var(--md-default-bg-color) !important;
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading

0 comments on commit 28b6f52

Please sign in to comment.