Skip to content

Commit 5f6b28a

Browse files
committed
[README] Preparation for Release
- Master readme: remove all dev related notes. - Complemented the list with available examples - Examples readmes: provided more generic way of building with examples - DOCS: fix minor typo and link
1 parent a8330da commit 5f6b28a

File tree

9 files changed

+567
-193
lines changed

9 files changed

+567
-193
lines changed

README.md

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
embARC Machine Learning Inference Library
22
==================================================
33

4-
:warning: **You are using a development branch. Things might be broken. For a proper usage of embARC MLI Library please checkout the [latest release](https://github.com/foss-for-synopsys-dwc-arc-processors/embarc_mli/releases).**
5-
64
This repository contains source code of embARC Machine Learning Inference Library (embARC MLI Library), its documentation and examples. The primary purpose of this library is to enable developers to efficiently implement and/or port data processing algorithms based on machine learning principles for DSP-enhanced ARC Processors.
75

86
# Table of Content
@@ -23,10 +21,7 @@ This repository contains source code of embARC Machine Learning Inference Librar
2321

2422
# Release Notes
2523

26-
1. Version 2.0 EA
27-
* This is the first early access release for embARC MLI 2.0 (MLI 2.0 EA)
28-
* **It is highly recommended to use embARC MLI 2.0 for VPX and x86 emulation targets only. You can use [embARC MLI 1.1](https://github.com/foss-for-synopsys-dwc-arc-processors/embarc_mli/releases/tag/Release_1.1) for EM/HS targets.**
29-
* Not all kernels are fully optimized
24+
1. Version 2.0
3025

3126
3. This release supports following functional primitives
3227
* 2D Convolution
@@ -66,9 +61,11 @@ This repository contains source code of embARC Machine Learning Inference Librar
6661

6762
# Documentation
6863

69-
embARC MLI library API documentation for version 2.0 is available in the [/doc](/doc) directory. It can be built from sources as described in the related [readme file](doc/README.md).
64+
embARC MLI library API documentation for version 2.0 is [available online](https://foss-for-synopsys-dwc-arc-processors.github.io/embarc_mli/doc/build/html/index.html) starting from the release date.
65+
66+
It's sources are available in the [/doc](/doc) directory and can be built as described in the related [readme file](doc/README.md).
67+
7068

71-
The documentation will be available online closer to the final release date.
7269

7370
# Package Structure
7471

@@ -104,7 +101,7 @@ Afterward you can continue with familiarizing yourself with [the documentation](
104101

105102
**Note that it is highly recommended to use DBG_MODE_DEBUG configuration option (see [`MLI_DEBUG_MODE`](#mli_debug_mode)) for early development of applications based on embARC MLI Library because it provides additional diagnostic output which can help you quickly track down misuse of the API**.
106103

107-
# Building The Package
104+
# Building the Package
108105

109106
The embARC MLI Library uses [CMake](https://cmake.org/) as a backend for the platform independent project generation and [GNU Make](https://www.gnu.org/software/make/) as a front end to invoke CMake and to run tests. Alternatively, after CMake configures the project for the desired platform, you can work with its output stored in `obj` folder as you may be used to.
110107

@@ -179,7 +176,7 @@ As a result of configuration and build you will find `bin/native` folder with th
179176
`<Additional options>` which have no effect or do not make sense in this mode are [`BUILDLIB_DIR`](#buildlib_dir), [`MLI_BUILD_REFERENCE`](#mli_build_reference), [`OPTMODE`](#optmode), [`DEBUG_BUILD`](#debug_build).
180177

181178

182-
### **Build Command Examples For x86**
179+
### **Build Command Examples for x86**
183180

184181
The first step is to open a command line and change working directory to the root of the embARC MLI repo. Afterward, you can use one of the following commands.
185182

@@ -196,7 +193,7 @@ The first step is to open a command line and change working directory to the roo
196193

197194
## ARC Processors
198195

199-
Main target platforms for embARC MLI Library are ARC processors. The specific processor family is determined by *.tcf file provided for library configuration. It is highly recommended to use embARC MLI 2.0 for VPX processor only. EM/HS targets are not properly tested and optimized. You can use [embARC MLI 1.1](https://github.com/foss-for-synopsys-dwc-arc-processors/embarc_mli/releases/tag/Release_1.1).
196+
Main target platforms for embARC MLI Library are ARC processors. The specific processor family is determined by *.tcf file provided for library configuration. It is highly recommended to use embARC MLI 2.0 for VPX processor only. EM/HS targets are not properly tested and optimized. You can use [embARC MLI 1.1](https://github.com/foss-for-synopsys-dwc-arc-processors/embarc_mli/releases/tag/Release_1.1) instead.
200197

201198
embARC MLI Library build for ARC processors requires [MetaWare Development Tools](https://www.synopsys.com/dw/ipdir.php?ds=sw_metaware) (MWDT) version 2021.03 and higher.
202199

@@ -223,8 +220,8 @@ As a result of configuration and build you will find `bin/arc` folder with the M
223220
`<Additional options>` which have no or limited effect in this mode are [`FULL_ACCU`](#full_accu), [`ROUND_MODE`](#round_mode). [`ROUND_MODE`](#round_mode) option is applicable only for ARC EMxD family.
224221

225222

226-
### **Build Command Examples For ARC Processors**
227-
The following commands assume usage of the recommended VPX configuration. TCF for this configuration you need to generate using _tcfgen_ tool delivered with MetaWare Development tools. The first step is to open a command line and change working directory to the root of the embARC MLI repo. Then use the following command to generate recommended tcf file taking default `vpx5_integar_full` configuration as basis:
223+
### **Build Command Examples for ARC Processors**
224+
The following commands assume usage of the recommended VPX configuration. TCF for this configuration you need to generate using _tcfgen_ tool delivered with MetaWare Development tools, in order to ensure sufficient target memory to run all of the examples. The first step is to open a command line and change working directory to the root of the embARC MLI repo. Then use the following command to generate recommended tcf file taking default `vpx5_integar_full` configuration as basis:
228225

229226
```bash
230227
tcfgen -o ./hw/vpx5_integer_full.tcf -tcf=vpx5_integer_full -iccm_size=0x80000 -dccm_size=0x40000
@@ -413,9 +410,23 @@ There are test and several examples supplied with embARC MLI Library. For inform
413410
### [**User Tests**](/user_tests)
414411
These are basic API level test applications to check that all the functions available at the API level work fine.
415412

413+
### [**Hello World**](/examples/hello_world)
414+
This example is a first step API functions and data usage.
415+
416416
### [**CIFAR-10**](/examples/example_cifar10_caffe)
417417
This example is a simple image classifier built on convolution, pooling and dense layers. It is based on standard Caffe tutorial for CIFAR-10 dataset.
418418

419+
### [**Human Activity Recognition**](/examples/example_har_smartphone)
420+
LSTM Based Human Activity Recognition example. The model is intended to differentiate human activity between 6 classes based on inputs from embedded inertial sensors from waist-mounted smartphone.
421+
422+
### [**Face Detection**](/examples/example_face_detect)
423+
More advanced but still compact face detection example. It shows how the slicing and data movement can be organised to
424+
efficiently use limited fast CCM memory.
425+
426+
### [**EMNIST TFLM Tutorial**](/examples/tutorial_emnist_tflm)
427+
This example shows how to convert EMNIST Tensorflow model into Tensorflow Lite Micro format and use it in application.
428+
429+
419430
<!--
420431
## [Human Activity Recognition](/examples/example_har_smartphone)
421432
LSTM Based Human Activity Recognition example. The model is intended to differentiate human activity between 6 classes based on inputs from embedded inertial sensors from waist-mounted smartphone.
@@ -429,9 +440,7 @@ An example of speech recognition implementation for key word spotting.
429440

430441
# Known Issues
431442

432-
1. The embARC MLI 2.0 is in active development phase. Things might be broken, not optimal or contain bugs. For a proper usage of embARC MLI Library please checkout the [latest release](https://github.com/foss-for-synopsys-dwc-arc-processors/embarc_mli/releases).
433-
434-
2. embARC MLI 2.0 is partially optimized for ARC EMxD and ARC HSxD targets. Currently we recommend only building for VPX and x86 emulation targets. You can use MLI 1.1 for EM/HS targets.
443+
1. embARC MLI 2.0 is partially optimized for ARC EMxD and ARC HSxD targets. Currently we recommend only building for VPX and x86 emulation targets. You can use MLI 1.1 for EM/HS targets.
435444

436445

437446
# Frequently Asked Questions

doc/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ embARC MLI Documentation
33

44
The embARC MLI documentation can be built using [Sphynx](http://sphinx-doc.org/) together with the theme provided by [Read the Docs](https://readthedocs.org/)
55

6-
To build the documentation you first need to install Python. See [this instruction](/examples/tutorial_emnist_tensorflow#install-python-and-create-a-virtual-environment) as one of the ways to do so.
6+
To build the documentation you first need to install Python. See [these instructions](/examples/tutorial_emnist_tflm#install-python-and-create-a-virtual-environment) as one of the ways to do so.
77

88
Requirements for building the embARC documentation are listed in the [requirements.txt](/doc/requirements.txt). Install it in the following way:
99

doc/documents/mli_kernels/div_argmax.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ satisfy the following condition before calling the function:
121121
- ``in`` tensor must be quantized on the tensor level. This implies that the tensor
122122
contains a single scale factor and a single zero offset.
123123

124-
Ensure that you satisfy the platform specific conditions in addition to the listed above
124+
Ensure that you satisfy the platform-specific conditions in addition to those listed above
125125
(see the :ref:`platform_spec_chptr` chapter).
126126

127127
Result
@@ -151,4 +151,4 @@ using the shape or memory stride fields of the input tensor.
151151
..
152152
153153
Depending on the debug level (see section :ref:`err_codes`), this function performs a parameter
154-
check and returns the result as an ``mli_status`` code as described in section :ref:`kernl_sp_conf`.
154+
check and returns the result as an ``mli_status`` code as described in section :ref:`kernl_sp_conf`.

0 commit comments

Comments
 (0)