diff options
author | Efimov Alexander/AI Tools Lab/./Samsung Electronics <a.efimov@samsung.com> | 2019-07-23 12:11:57 +0900 |
---|---|---|
committer | 이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 <chunseok.lee@samsung.com> | 2019-07-23 12:11:57 +0900 |
commit | c537162e45ddc6145111def4e55661d772a338f7 (patch) | |
tree | e7456cd03143cf0d5c558675b115e109172f7607 /docs | |
parent | 598ab9ddac957eb133071b8ce48531cba7fca40e (diff) | |
download | nnfw-c537162e45ddc6145111def4e55661d772a338f7.tar.gz nnfw-c537162e45ddc6145111def4e55661d772a338f7.tar.bz2 nnfw-c537162e45ddc6145111def4e55661d772a338f7.zip |
DR1 project requirements document (#5633)
* DR1 project requirements document
Added DR1 project requrements document
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
* remove unnecessary data
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
* rethink component list
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
* - Update Interpreter description
- Add Heterogeneous execution requirements
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
* add requirement for optimizer
* review fixes
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
* - Add custom-op related requirement
- Set optimization requirements
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
* revert mistake change
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/project/19_NN_Compiler_and_Runtime_SRS.rst | 271 | ||||
-rw-r--r-- | docs/project/19_NN_Compiler_and_Runtime_SRS.rst.cover | 7 | ||||
-rw-r--r-- | docs/project/Makefile | 32 | ||||
-rw-r--r-- | docs/project/pdf.style | 617 | ||||
-rw-r--r-- | docs/project/pdf_cover.tmpl | 58 | ||||
-rw-r--r-- | docs/project/pdf_main.tmpl | 41 | ||||
-rw-r--r-- | docs/project/project_purpose_and_scope.rst | 13 | ||||
-rw-r--r-- | docs/project/project_terms_and_abbreviation.rst | 43 | ||||
-rw-r--r-- | docs/project/samsung_logo.png | bin | 0 -> 22360 bytes |
9 files changed, 1082 insertions, 0 deletions
diff --git a/docs/project/19_NN_Compiler_and_Runtime_SRS.rst b/docs/project/19_NN_Compiler_and_Runtime_SRS.rst new file mode 100644 index 000000000..20ba338b7 --- /dev/null +++ b/docs/project/19_NN_Compiler_and_Runtime_SRS.rst @@ -0,0 +1,271 @@ +============================= +SW Requirements Specification +============================= + +.. contents:: + +.. section-numbering:: + +.. raw:: pdf + + PageBreak oneColumn + +**Revision history** + ++-------+-------------+----------------------------+--------------------------+---------------------+ +| Ver. | Date | Contents | Author | Approver | ++=======+=============+============================+==========================+=====================+ +| 0.1 | 2019.04.22 | Initial version | Rusyaev Roman | | ++-------+-------------+----------------------------+--------------------------+---------------------+ +| 0.2 | 2019.04.23 | SE member in-charge review | Aleksei Kondrashov | | ++-------+-------------+----------------------------+--------------------------+---------------------+ +| 1.0 | 2019.04.24 | Final Execution DR version | Rusyaev Roman | Sung-Jae Lee | ++-------+-------------+----------------------------+--------------------------+---------------------+ +| 1.1 | 2019.07.24 | DR1 version | Efimov Alexander | Sung-Jae Lee | ++-------+-------------+----------------------------+--------------------------+---------------------+ + + +Introduction +============ + +Purpose and scope +----------------- + +.. include:: project_purpose_and_scope.rst +.. include:: project_terms_and_abbreviation.rst + + +SW System Architecture +---------------------- + +The main components of the compiler are the following: + +- Configuration system +- TensorFlow Importer (loads model in TensorFlow format and creates internal IR semantically equal to the given model) +- ONNX Importer (loads model in ONNX format and creates internal IR semantically equal to the given model) +- NN Package emitter + +| + +The main components of the runtime are the following: + +- Configuration system +- API interface for loading and execution of NN models +- NN Package parser +- High Level optimizations +- Model lowering pass (transforms IR created by API of imported from NN Package into low-level representation) +- Low-Level optimizations on lowered IR +- Lowered IR executor +- Fallback model interpreter + + +SW Functional Requirements +========================== + +Frontend +-------- + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + + * - RF-1 + - Frontend: Tensorflow + - The compiler should support import of NN model in Tensorflow format (parsing & verification) + + * - RF-2 + - Frontend: ONNX + - The compiler should support import of NN model in ONNX format (parsing & verification) + + * - RF-3 + - Frontend: lossless import + - The front-end should use the lossless approach while it is converting any NN model to IR + + * - RF-4 + - Frontend: Inception_v3 + - The front-end should successful import the Inception V3 NN model + + * - RF-5 + - Frontend: MobileNet + - The front-end should successful import the MobileNet NN model + + +High-Level optimization +----------------------- + +No special requirements + + +Low-Level optimization +---------------------- + +No special requirements + + +Heterogeneous computing +----------------------- + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + + * - RF-? + - HE: profiling + - Runtime should be able to gather or import information about execution time of specific operations + + * - RF-? + - HE: scheduling + - Runtime should be able to use profile information to choose optimal assignment of operations to execution devices + + * - RF-? + - HE: mixing backends + - Runtime should be able to mix different types of execution devices in one compilation to achieve best performance + + +RNN +--- + +Detailed requirements will be described on DR1 milestone (end of July) + + +SW Non-Functional Requirements +============================== + +Performance +----------- + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RNF-1 + - Performance: input + - Inference time should be equal or less then models executed by ML frameworks of original model + + +Reliability +----------- + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RNF-2 + - Reliability: input + - If the incorrect input data are provided inference should not be performed, but user should be informed about all errors which were met + +Security +-------- + +No special requirements + +Usability +--------- + +No special requirements + +Availability +------------ + +No special requirements + +Maintainability +--------------- + +No special requirements + +Extensibility +------------- + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RNF-3 + - Extensibility: operators + - Project design and implementation should provide possibility to add new built-in operators easily + * - RNF-4 + - Extensibility: formats + - Project design and implementation should provide possibility to support new model formats easily + * - RNF-5 + - Extensibility: custom operators + - Project design and implementation should provide possibility to extend set of supported operators by utilization of user-defined kernels and necessary metainformation + + +Testability +----------- + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RNF-5 + - Testability: environment + - The test environment should be built in order to verify functionality, product build status, inference correctness and performance + + +Portability +----------- + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RNF-6 + - Portability: Linux + - The functionality should be portable with Linux-based OS + +Scalability +----------- + +No special requirements + + +Configurability +--------------- + +No special requirements + + +The source code +--------------- + +.. list-table:: + :widths: 23 50 100 + :header-rows: 1 + + * - ID + - Requirement Name + - Description + * - RNF-7 + - Legislation + - All source code files should follows its original license and general project license without any conflicts + * - RNF-8 + - Legitimacy + - The project should have its own general license + * - RNF-9 + - Coding style + - Each source code file should follow the one defined for the project coding style diff --git a/docs/project/19_NN_Compiler_and_Runtime_SRS.rst.cover b/docs/project/19_NN_Compiler_and_Runtime_SRS.rst.cover new file mode 100644 index 000000000..e99a4911f --- /dev/null +++ b/docs/project/19_NN_Compiler_and_Runtime_SRS.rst.cover @@ -0,0 +1,7 @@ +============================= +SW Requirements Specification +============================= + +------------------------- +SRR-RAJ0119ZZ-BERF-SRS001 +------------------------- diff --git a/docs/project/Makefile b/docs/project/Makefile new file mode 100644 index 000000000..5a58c8c88 --- /dev/null +++ b/docs/project/Makefile @@ -0,0 +1,32 @@ +DOC_SRC = 19_NN_Compiler_and_Runtime_SRS.rst + +DOC_PDF = $(DOC_SRC:.rst=.pdf) + +all: pdf_docs + +pdf_docs: $(DOC_PDF) + + +%.pdf.cover: %.rst.cover pdf.style pdf_cover.tmpl + rst2pdf --inline-footnotes -b 1 -s pdf.style --custom-cover pdf_cover.tmpl $< -o $@ + +%.pdf.main: %.rst pdf.style pdf_main.tmpl $(PU_IMG) + rst2pdf --inline-footnotes -b 1 -s pdf.style --custom-cover pdf_main.tmpl $< -o $@ + +%.pdf: %.pdf.cover %.pdf.main + pdftk A=$@.cover B=$@.main cat A1 B2-end output $@ + mkdir -p ./pdf + mv $@ ./pdf + rm -f $@.cover $@.main + +style.diff: pdf.style + rst2pdf --print-stylesheet > default.style + diff -Nuraw default.style $< > $@ || true + +clean: + rm -f pdf rst + rm tree.txt default.style style.diff || true + +.PHONY: all clean pdf_docs + +.PRECIOUS: %.pdf.cover %.pdf.main diff --git a/docs/project/pdf.style b/docs/project/pdf.style new file mode 100644 index 000000000..41f5c31fa --- /dev/null +++ b/docs/project/pdf.style @@ -0,0 +1,617 @@ + + # List any fonts you would like to embed in the PDF here + embeddedFonts: [] + + # Default page setup. Can be overridden by including other + # stylesheets with -s + + pageSetup: + size: A4 + width: null + height: null + margin-top: 2cm + margin-bottom: 2cm + margin-left: 2cm + margin-right: 2cm + margin-gutter: 0cm + spacing-header: 5mm + spacing-footer: 5mm + + # The first template is one of the 'pageTemplates" + # (See next section) + + firstTemplate: oneColumn + + # pageTemplates can be accessed with the .. raw:: pdf PageBreak command + + pageTemplates: + coverPage: + frames: [] + [0cm, 0cm, 100%, 100%] + showHeader : false + showFooter : false + + emptyPage: + frames: [] + [0cm, 0cm, 100%, 100%] + showHeader : false + showFooter : false + + oneColumn: + frames: [] + [0cm, 0cm, 100%, 100%] + showHeader : true + showFooter : true + + twoColumn: + frames: [] + [0cm, 0cm, 49%, 100%] + [51%, 0cm, 49%, 100%] + showHeader : true + showFooter : true + + threeColumn: + frames: [] + [2%, 0cm, 29.333%, 100%] + [35.333%, 0cm, 29.333%, 100%] + [68.666%, 0cm, 29.333%, 100%] + showHeader : true + showFooter : true + + cutePage: + frames: [] + [0%, 0%, 100%, 100%] + showHeader : true + showFooter : true + defaultFooter : ###Page### + defaultHeader : ###Section### + + fontsAlias: + stdFont: Helvetica + stdBold: Helvetica-Bold + stdItalic: Helvetica-Oblique + stdBoldItalic: Helvetica-BoldOblique + stdSans: Helvetica + stdSansBold: Helvetica-Bold + stdSansItalic: Helvetica-Oblique + stdSansBoldItalic: Helvetica-BoldOblique + stdMono: Courier + stdMonoItalic: Courier-Oblique + stdMonoBold: Courier-Bold + stdMonoBoldItalic: Courier-BoldOblique + stdSerif: Times-Roman + + linkColor: navy + + styles: + base: + parent: null + fontName: stdFont + fontSize: 10 + leading: 12 + leftIndent: 0 + rightIndent: 0 + firstLineIndent: 0 + alignment: TA_LEFT + spaceBefore: 0 + spaceAfter: 0 + bulletFontName: stdFont + bulletFontSize: 10 + bulletIndent: 0 + textColor: black + backColor: null + wordWrap: null + borderWidth: 0 + borderPadding: 0 + borderColor: null + borderRadius: null + allowWidows: false + allowOrphans: false + hyphenation: false + kerning: false + underline: false + strike: false + commands: [] + + normal: + parent: base + + title-reference: + parent: normal + fontName: stdItalic + + bodytext: + parent: normal + spaceBefore: 6 + alignment: TA_JUSTIFY + hyphenation: true + + toc: + parent: normal + + blockquote: + parent: bodytext + leftIndent: 20 + + lineblock: + parent: bodytext + + line: + parent: lineblock + spaceBefore: 0 + + toc1: + parent: toc + fontName: stdBold + + toc2: + parent: toc + leftIndent: 20 + + toc3: + parent: toc + leftIndent: 40 + + toc4: + parent: toc + leftIndent: 60 + + toc5: + parent: toc + leftIndent: 80 + + toc6: + parent: toc + leftIndent: 100 + + toc7: + parent: toc + leftIndent: 100 + + toc8: + parent: toc + leftIndent: 100 + + toc9: + parent: toc + leftIndent: 100 + + toc10: + parent: toc + leftIndent: 100 + + toc11: + parent: toc + leftIndent: 100 + + toc12: + parent: toc + leftIndent: 100 + + toc13: + parent: toc + leftIndent: 100 + + toc14: + parent: toc + leftIndent: 100 + + toc15: + parent: toc + leftIndent: 100 + + footer: + parent: normal + alignment: TA_CENTER + textColor: #808080 + + header: + parent: normal + alignment: TA_CENTER + + headertext: + parent: normal + textColor: #808080 + + headertable: + parent: header + borderWidth: 0 + + headertablemain: + parent: header + borderPadding: 0 + commands: [ + [ GRID, [ 0, -1 ], [ -1, -1 ], 0.25, transparent ], + [ LINEBELOW, [ 0, -1 ], [ -1, -1 ], 0.25, #808080 ], + [ LEFTPADDING, [ 0, 0 ], [ -1, -1 ], 0 ], + [ RIGHTPADDING, [ 0, 0 ], [ -1, -1 ], 0 ] + ] + + sectmpcode: + alignment: TA_LEFT + textColor: #C0C0C0 + + titletable: + commands: [ + [ GRID, [ 0, -1 ], [ -1, -1 ], 0.25, transparent ], + [ LEFTPADDING, [ 0, 0 ], [ -1, -1 ], 0 ], + [ RIGHTPADDING, [ 0, 0 ], [ -1, -1 ], 0 ], + [ ROWBACKGROUNDS, [0, 0], [-1, -1], [white, #C0C0C0, white, #05365D]] + ] + + attribution: + parent: bodytext + alignment: TA_RIGHT + + image: + parent: bodytext + alignment: TA_CENTER + + figure: + parent: bodytext + alignment: TA_CENTER + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + [ALIGN, [ 0, 0 ], [ -1, -1 ], CENTER ] + colWidths: [100%] + + figure-caption: + parent: bodytext + fontName: stdItalic + alignment: TA_CENTER + + figure-legend: + parent: bodytext + + bullet-list: + parent: bodytext + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + [RIGHTPADDING, [ 0, 0 ], [ 1, -1 ], 0 ] + colWidths: ["20", null] + + bullet-list-item: + parent: bodytext + + item-list: + parent: bodytext + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + [RIGHTPADDING, [ 0, 0 ], [ 1, -1 ], 0 ] + colWidths: [20pt,null] + + item-list-item: + parent: bodytext + + definition-list-term: + parent: normal + fontName: stdBold + spaceBefore: 4 + spaceAfter: 0 + keepWithNext: false + + definition-list-classifier: + parent: normal + fontName: stdItalic + + definition: + parent: bodytext + firstLineIndent: 0 + bulletIndent: 0 + spaceBefore: 0 + colWidths: [20pt,null] + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + [LEFTPADDING, [ 0, 0 ], [ -1, -1 ], 0 ] + [BOTTOMPADDING, [ 0, 0 ], [ -1, -1 ], 0 ] + [RIGHTPADDING, [ 0, 0 ], [ -1, -1 ], 0 ] + + fieldname: + parent: bodytext + alignment: TA_RIGHT + fontName: stdBold + + fieldvalue: + parent: bodytext + + rubric: + parent: bodytext + textColor: darkred + alignment: TA_CENTER + + italic: + parent: bodytext + fontName: stdItalic + + heading: + parent: normal + keepWithNext: true + spaceBefore: 12 + spaceAfter: 6 + + title: + parent: heading + fontName: stdBold + fontSize: 300% + alignment: TA_RIGHT + keepWithNext: false + spaceAfter: 10 + + subtitle: + parent: title + spaceBefore: 12 + fontSize: 75% + + heading1: + parent: heading + fontName: stdBold + fontSize: 175% + + heading2: + parent: heading + fontName: stdBold + fontSize: 150% + + heading3: + parent: heading + fontName: stdBoldItalic + fontSize: 125% + + heading4: + parent: heading + fontName: stdBoldItalic + + heading5: + parent: heading + fontName: stdBoldItalic + + heading6: + parent: heading + fontName: stdBoldItalic + + topic-title: + parent: heading3 + + sidebar-title: + parent: heading3 + + sidebar-subtitle: + parent: heading4 + + sidebar: + float: none + width: 100% + parent: normal + backColor: beige + borderColor: darkgray + borderPadding: 8 + borderWidth: 0.5 + + admonition: + parent: normal + spaceBefore: 12 + spaceAfter: 6 + borderPadding: [16,16,16,16] + backColor: beige + borderColor: darkgray + borderWidth: 0.5 + commands:[] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + + attention: + parent: admonition + + caution: + parent: admonition + + danger: + parent: admonition + + error: + parent: admonition + + hint: + parent: admonition + + important: + parent: admonition + + note: + parent: admonition + + tip: + parent: admonition + + warning: + parent: admonition + + admonition-title: + parent: heading3 + + admonition-heading: + parent: heading3 + + attention-heading: + parent: admonition-heading + + caution-heading: + parent: admonition-heading + + danger-heading: + parent: admonition-heading + + error-heading: + parent: admonition-heading + + hint-heading: + parent: admonition-heading + + important-heading: + parent: admonition-heading + + note-heading: + parent: admonition-heading + + tip-heading: + parent: admonition-heading + + warning-heading: + parent: admonition-heading + + literal: + parent: normal + fontName: stdMono + firstLineIndent: 0 + hyphenation: false + wordWrap: null + + aafigure: + parent: literal + + table: + spaceBefore:6 + spaceAfter:0 + alignment: TA_CENTER + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], CENTER ] + [INNERGRID, [ 0, 0 ], [ -1, -1 ], 0.25, black ] + [ROWBACKGROUNDS, [0, 0], [-1, -1], [white]] + [BOX, [ 0, 0 ], [ -1, -1 ], 0.25, black ] + + table-title: + parent : heading4 + keepWithNext: false + alignment : TA_CENTER + + table-heading: + parent : heading + backColor : #F3F3F3 + alignment : TA_CENTER + valign : CENTER + borderPadding : 0 + fontName: stdBold + + table-body: + parent : normal + + dedication: + parent : normal + + abstract: + parent : normal + + contents: + parent : normal + + tableofcontents: + parent : normal + + code: + parent: literal + leftIndent: 0 + spaceBefore: 8 + spaceAfter: 8 + backColor: beige + borderColor: darkgray + borderWidth: 0.5 + borderPadding: 6 + + linenumber: + parent: code + + right: + parent: bodytext + alignment: right + + center: + parent: bodytext + alignment: center + + pygments-n: parent: code + pygments-nx: parent: code + pygments-p: parent: code + pygments-hll: {parent: code, backColor: #ffffcc} + pygments-c: {textColor: #008800, parent: code} + pygments-err: {parent: code} + pygments-k: {textColor: #AA22FF, parent: code} + pygments-o: {textColor: #666666, parent: code} + pygments-cm: {textColor: #008800, parent: code} + pygments-cp: {textColor: #008800, parent: code} + pygments-c1: {textColor: #008800, parent: code} + pygments-cs: {textColor: #008800, parent: code} + pygments-gd: {textColor: #A00000, parent: code} + pygments-ge: {parent: code} + pygments-gr: {textColor: #FF0000, parent: code} + pygments-gh: {textColor: #000080, parent: code} + pygments-gi: {textColor: #00A000, parent: code} + pygments-go: {textColor: #808080, parent: code} + pygments-gp: {textColor: #000080, parent: code} + pygments-gs: {parent: code} + pygments-gu: {textColor: #800080, parent: code} + pygments-gt: {textColor: #0040D0, parent: code} + pygments-kc: {textColor: #AA22FF, parent: code} + pygments-kd: {textColor: #AA22FF, parent: code} + pygments-kn: {textColor: #AA22FF, parent: code} + pygments-kp: {textColor: #AA22FF, parent: code} + pygments-kr: {textColor: #AA22FF, parent: code} + pygments-kt: {textColor: #00BB00, parent: code} + pygments-m: {textColor: #666666, parent: code} + pygments-s: {textColor: #BB4444, parent: code} + pygments-na: {textColor: #BB4444, parent: code} + pygments-nb: {textColor: #AA22FF, parent: code} + pygments-nc: {textColor: #0000FF, parent: code} + pygments-no: {textColor: #880000, parent: code} + pygments-nd: {textColor: #AA22FF, parent: code} + pygments-ni: {textColor: #999999, parent: code} + pygments-ne: {textColor: #D2413A, parent: code} + pygments-nf: {textColor: #00A000, parent: code} + pygments-nl: {textColor: #A0A000, parent: code} + pygments-nn: {textColor: #0000FF, parent: code} + pygments-nt: {textColor: #008000, parent: code} + pygments-nv: {textColor: #B8860B, parent: code} + pygments-ow: {textColor: #AA22FF, parent: code} + pygments-w: {textColor: #bbbbbb, parent: code} + pygments-mf: {textColor: #666666, parent: code} + pygments-mh: {textColor: #666666, parent: code} + pygments-mi: {textColor: #666666, parent: code} + pygments-mo: {textColor: #666666, parent: code} + pygments-sb: {textColor: #BB4444, parent: code} + pygments-sc: {textColor: #BB4444, parent: code} + pygments-sd: {textColor: #BB4444, parent: code} + pygments-s2: {textColor: #BB4444, parent: code} + pygments-se: {textColor: #BB6622, parent: code} + pygments-sh: {textColor: #BB4444, parent: code} + pygments-si: {textColor: #BB6688, parent: code} + pygments-sx: {textColor: #008000, parent: code} + pygments-sr: {textColor: #BB6688, parent: code} + pygments-s1: {textColor: #BB4444, parent: code} + pygments-ss: {textColor: #B8860B, parent: code} + pygments-bp: {textColor: #AA22FF, parent: code} + pygments-vc: {textColor: #B8860B, parent: code} + pygments-vg: {textColor: #B8860B, parent: code} + pygments-vi: {textColor: #B8860B, parent: code} + pygments-il: {textColor: #666666, parent: code} + + endnote: + parent: bodytext + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + [TOPPADDING, [ 0, 0 ], [ -1, -1 ], 0 ] + [BOTTOMPADDING, [ 0, 0 ], [ -1, -1 ], 0 ] + [RIGHTPADDING, [ 0, 0 ], [ 1, -1 ], 0 ] + colWidths: [3cm, null] + + field-list: + parent: bodytext + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + [TOPPADDING, [ 0, 0 ], [ -1, -1 ], 0 ] + colWidths: [3cm, null] + spaceBefore: 6 + + option-list: + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + [TOPPADDING, [ 0, 0 ], [ -1, -1 ], 0 ] + colWidths: [null,null] + diff --git a/docs/project/pdf_cover.tmpl b/docs/project/pdf_cover.tmpl new file mode 100644 index 000000000..db16a6c58 --- /dev/null +++ b/docs/project/pdf_cover.tmpl @@ -0,0 +1,58 @@ +.. raw:: pdf + + Spacer 0 50mm + +.. |doctitle| replace:: #{title} + +.. |doccode| replace:: #{subtitle} + +.. class:: titletable + + +--------------------------------------+ + | .. class:: sectmpcode | + | | + | |doccode| | + +--------------------------------------+ + | | + +--------------------------------------+ + | .. class:: title | + | | + | |doctitle| | + +--------------------------------------+ + | | + +--------------------------------------+ + +.. raw:: pdf + + Spacer 0 100mm + ++------------------+--------------------------+--------------+--------------+ +| **Project Name** | 19 NN Compiler & Runtime | | ++------------------+--------------------------+--------------+--------------+ +| **Author** | Alexander Efimov | **Approver** | Sung-Jae Lee | ++------------------+--------------------------+--------------+--------------+ +| **Team** | SRR/Deep System | ++------------------+--------------------------+--------------+--------------+ + +.. |samsunglogo| image:: samsung_logo.png + :width: 5em + +.. header:: + + .. class:: headertable + + +---+----------------+ + | |.. class:: right| + | | | + | | |samsunglogo| | + +---+----------------+ + +.. include:: <isonum.txt> + +.. footer:: + + Copyright |copy| 2019 Samsung Electronics Co.,LTD. + +.. raw:: pdf + + PageBreak oneColumn diff --git a/docs/project/pdf_main.tmpl b/docs/project/pdf_main.tmpl new file mode 100644 index 000000000..c19845571 --- /dev/null +++ b/docs/project/pdf_main.tmpl @@ -0,0 +1,41 @@ +.. raw:: pdf + + Spacer 0 72mm + +.. |doctitle| replace:: #{title} + +.. class:: title + +|doctitle| + +.. raw:: pdf + + Spacer 0 83mm + + +.. |samsunglogo| image:: samsung_logo.png + :width: 5em + +.. header:: + + .. class:: headertablemain + + +-------------------------+------------------+ + | .. class:: headertext | .. class:: right | + | | | + | |doctitle| | |samsunglogo| | + +-------------------------+------------------+ + +.. footer:: + + .. class:: headertable + + +-------------------------+----------------------------------------------------------+ + | .. class:: headertext | .. class:: headertext | + | | | + | ###Page### | Confidential Property of Samsung Electronics Co., Ltd. | + +-------------------------+----------------------------------------------------------+ + +.. raw:: pdf + + PageBreak oneColumn diff --git a/docs/project/project_purpose_and_scope.rst b/docs/project/project_purpose_and_scope.rst new file mode 100644 index 000000000..b153326ce --- /dev/null +++ b/docs/project/project_purpose_and_scope.rst @@ -0,0 +1,13 @@ +The main goals of the project are to develop compiler and runtime for neural networks to perform inference for specified SW and HW platform. + +| +| **2019 year goals:** + +- Support heterogeneous computing in NN compiler and runtime +- Support TensorFlow NN model format +- Support ONNX NN model format +- Implement target-independent compiler optimizations +- Improve inference performance in NN runtime +- Develop common IR for both NN compiler and runtime +- Support RNN in NN runtime +- Support custom operators in NN runtime diff --git a/docs/project/project_terms_and_abbreviation.rst b/docs/project/project_terms_and_abbreviation.rst new file mode 100644 index 000000000..6298b9f43 --- /dev/null +++ b/docs/project/project_terms_and_abbreviation.rst @@ -0,0 +1,43 @@ +| + +**Terminology and Abbreviation** + +.. list-table:: + :widths: 10 30 + :header-rows: 0 + + * - OS + - Operating System + * - OS API + - Application interface of OS + * - HW + - Hardware + * - SW + - Software + * - NN + - Neural Network + * - NN model + - Neural network model (Instance of NN built with ML framework) + * - NN compiler + - The compiler for neural network + * - ML framework + - The machine learning framework + * - TF/TF Lite + - Tensorflow/Tensorflow Lite ML framework + * - IR + - Intermediate representation + * - CI/CI system + - Continuous integration system + * - UI + - The user interface + * - GUI + - The graphical user interface + * - CLI + - The command-line interface + * - CG + - Computational Graph + * - RNN + - Recurrent Neural Network + * - NN Package + - Serialized representation of NN model generated by NN Compiler + diff --git a/docs/project/samsung_logo.png b/docs/project/samsung_logo.png Binary files differnew file mode 100644 index 000000000..0c2d680d6 --- /dev/null +++ b/docs/project/samsung_logo.png |