-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
GHA
committed
Nov 29, 2023
0 parents
commit 28b6f52
Showing
222 changed files
with
11,535 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 not shown.
Binary file not shown.
Empty file.
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.
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.
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.
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.
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.
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.
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
Oops, something went wrong.