2 - Add decoupled APIs for network inferencing
3 - Enhance debugging (e.g., logging, API)
4 - Update VD I/F sync. with real modules
5 - Revise some documents
8 - Fix memcpy bug of getNPUmodel_metadata
9 - Add documents for FPGA testing guide
10 - Add unittests to increase function coverage
11 - Drop Ubuntu 16.04 (Xenial) support
14 - Complete the dummy module of VD NPU manager
15 - Add libnpuhost APIs for user convenience
16 - Add some unittests to cover RFP checklists
20 - Add new profile API, getNPU_profile_opt()
21 - Add the opcode of each vISA profile layer
22 - Fix minor svace issues
23 - Use TRIV v2.3.5 test models
26 - Implement the prototype of VD NPU Manager (dummy)
27 - Provide a CUSE-based virtual device node (trinity-cuse)
28 - Distinguish debian and emulated envionment
29 - Apply clang-format for the whole C++ source codes
30 - Add a profile data path to the result of getNPU_profile()
33 - Add start/end cycles of each profiling layer
34 - Support NPU emulation mode in Tizen env.
37 - Increase the maximum length of profiling layer name
38 - Update the testdata path of unittests (v2.3.4)
41 - Support profiling APIs for requests with any priority
42 - Add an apptest program to test the task preemption
43 - Fix minor bugs on a few unittest programs
46 - Support the DSP profiling for MDK
47 - Increase the overall code coverage
48 - Revise the debugging feature
51 - Update npubinfmt.h to store extra model info
52 - Support per-layer profiling for MDK
53 - Provide hotdoc-generated documents
56 - Support 2-TOPS TRIV2 as the default NPU
57 - Support TRIV 2.3.x architecture
58 - Make TRIV1 and TRIA devices deprecated
61 - Fix tensor size calculation using dynamic data granularity
62 - Increase the code coverage for new APIs
65 - Support profiling APIs in FastModel/FPGA env.
66 - Fix some package dependency issues
69 - Implement profiling APIs with the libmrpsim support
70 - Fix minor bugs mostly related to NPU emulation
73 - Revise NPU driver APIs to use Trinity API level 2
74 - Extend trinity-smi to monitor the status of apps and their tasks
75 - Seperate libnpuhost codes from core handler codes
78 - Support 2-TOPS NPU devices for emulation with different command files
79 - Add the command line utility (trinity-smi) for monitoring trinity devices
80 - Support the Docker envionment (xenial, bionic) for npu-engine users
83 - Revise the utility for trinity-testing applications
84 - Replace emulation library from libnpu-engine-emul to libmrpsim
85 - Resolve minor issues from static analyzers (i.e., svace, coverity)
88 - Fix minor bugs related to layout conversion
91 - Add a prototype of profiling interface as libnpuhost APIs
92 - Add some apptests to check a multi-tasking capability
93 - Skip to install dummy (or uncompatible) apptests in non-emulated env.
94 - Fix minor bugs related to model unregistration
97 - Fix external segment handling bugs
98 - Add npu-engine-utils package
99 - Support TRIV2's data manipulation (layout conversion)
102 - Resolve issues reported by static analyzer (svace/coverity)
103 - Add driver-assisted memory copy to avoid FPGA memcpy bug
104 - Prepare the code release
107 - Revise the user APIs for HW-recurring tasks
108 - Sync with the kernel driver's changed ioctl definition
109 - Add testcases for external hwmem and HW-recurring tasks
112 - Fix tensor size calculations on TRIV2 layout
113 - Add some testcases to run infernces using an async thread
116 - Add ioctl() to get the number of requests for trinity devices
117 - Add ioctl() to stop all requests for trinity devices
118 - Support log verbose mode for debugging
119 - Version sync with npu-engine-emul
122 - Fix minor bugs (e.g., weight offset setting and data size calc)
123 - Add user-level APIs to get status (e.g., memory/device status)
124 - Support memory status ioctl for trinity devices
125 - Support the stop feature to terminate submitted requests
128 - Fully support the TRIV2 device and kernel driver
129 - Add missing device functions (e.g., unsetModel)
130 - Resolve minor bugs and svace issues
133 - Revise the whole source codes (C++ porting/refactoring)
134 - Increase the code coverage (>= 85%)
135 - Support a segment table for TRIV2 inferences
136 - Sync with the revised NPU kernel drivers
139 - Sync with the NPU kernel driver refactoring
140 - Add the version control with the NPU kernel driver
143 - Add APIs to sepecify inference constraints (e.g., timeout/priority)
144 - Add an option to control multiple buffering
145 - Support a thread pool to support concurrent ioctls
146 - Support a HW-recurring input service for runNPU_internalInput()
149 - Fix minor bugs on NPU unittests
150 - Add install_rpath for ubuntu users
151 - Disable apptests using tvn models (instead, CI will do this)
154 - Fix minor bugs on shamt handling in NPU emulation codes
155 - Add an API to get the model metadata
158 - Fix minor bugs on data mainpulation
161 - Remove NPU emulation impl. (moved to AIP/NPU_SystemService_Emulator)
162 - Remove testdata generation impl. (moved to AIP/NPU_SystemService_Testdata)
163 - Simplify debian/tizen packaging scripts
166 - Fix minor bugs in testdata generation
169 - Support simultaneous request handling from different user apps
170 - Support timeout and priority handling for multiple requests
171 - Add and verify prebuilt tvn models (TRIV v1) in FastModel
172 - Sync with the NPU driver version in NPU_Linux-kernel
175 - Verify test cases on FastModel
176 - Fix a few minor bugs
179 - Support new NPU binary format (i.e., version 2)
180 - Support non-contiguous multiple input/output tensors
181 - Support data manipulation and quantization (only for npubinfmt v2)
184 - Add a prototype for NPU-ASR
188 - Change names of sub-packages from libnpuengine to npu-engine
191 - Tarballs containing test data are removed
192 - Test data are generated at the build time
195 - NPU Vision functionality verified in the FastModel envionment
196 - Support Ubuntu 16.04 packaging & emulation of NPU executions
197 - More test cases with single/multi-layer NPU models