[Release] npu-engine v2.4.1 release
[platform/adaptation/npu/trix-engine.git] / CHANGES
1 2.4.0 -> 2.4.1:
2   - Add PID info to profile data path
3   - Change the dafault data type for test programs
4   - Fix some coverity issues
5
6 2.3.16 -> 2.4.0:
7   - Support TRIV v2.3.8 models
8   - Update NNStreamer sub-plugin name
9   - Update NPU-DDK documents
10
11 2.3.15 -> 2.3.16:
12   - Fix double free bug when handling output callback
13   - Fix tensor size calculation for layout NONE (= TRIV2)
14   - Allow mutliple calls of getNPU_profile()
15   - Resolve warning messages from Valgrind analysis
16   - Update action workflows to upload a core dump on failures
17   - Increase code coverage (line & func >= 85%)
18   - Increase the column limit of clang-format for readability
19
20 2.3.14 -> 2.3.15:
21   - Fix bugs and revise FPGA workaround codes
22   - Handle DSPM size and a number of vISA insts
23   - Skip layout conversion of tensors with raw data layout
24   - Support Tizen sample apps (Native, Web, and .NET)
25   - Verify v2.3.7 models in FPGA
26   - Update NPU-DDK documents
27
28 2.3.13 -> 2.3.14:
29   - Use a global request id managed by a device driver
30   - Handle the field for extended metasize in npubinfmt.h
31   - Support nnstreamer sub-plugin in Tizen emulator 6.5
32   - Support system-wide request profiling using a device driver
33   - Support application and request statistics in cuse driver
34
35 2.3.12 -> 2.3.13:
36   - Add extra field for extened metasize to npubinfmt.h
37   - Add extra API to select a NPU scheduler
38   - Add apptest to test API interleaving
39   - Add nnstreamer filter sub-plugin for srnpu
40   - Fix model existence checking
41   - Fix text formats reported by trinity-smi
42
43 2.3.11 -> 2.3.12:
44   - Support NCHW data layout conversion
45   - Perform code refactoring of HW input service
46   - Add segment size info. for external memory
47   - Add github action workflows for CI/CD
48
49 2.3.10 -> 2.3.11:
50   - Fix bug when setting npumgr param
51   - Fix bug when deallocating hwmem (e.g., missing close)
52   - Support multiple submission with the same request
53   - Add several aging apptests (e.g., repeat iterations)
54   - Add data layout for input/output tensors to npubinfmt.h
55   - Remove run_internal APIs (invalid scenarios) in libnpuhost.h
56
57 2.3.9 -> 2.3.10:
58   - Add decoupled APIs for network inferencing
59   - Enhance debugging (e.g., logging, API)
60   - Update VD I/F sync. with real modules
61   - Revise some documents
62
63 2.3.8 -> 2.3.9:
64   - Fix memcpy bug of getNPUmodel_metadata
65   - Add documents for FPGA testing guide
66   - Add unittests to increase function coverage
67   - Drop Ubuntu 16.04 (Xenial) support
68
69 2.3.7 -> 2.3.8:
70   - Complete the dummy module of VD NPU manager
71   - Add libnpuhost APIs for user convenience
72   - Add some unittests to cover RFP checklists
73   - Fix minor bugs
74
75 2.3.6 -> 2.3.7:
76   - Add new profile API, getNPU_profile_opt()
77   - Add the opcode of each vISA profile layer
78   - Fix minor svace issues
79   - Use TRIV v2.3.5 test models
80
81 2.3.5 -> 2.3.6:
82   - Implement the prototype of VD NPU Manager (dummy)
83   - Provide a CUSE-based virtual device node (trinity-cuse)
84   - Distinguish debian and emulated envionment
85   - Apply clang-format for the whole C++ source codes
86   - Add a profile data path to the result of getNPU_profile()
87
88 2.3.4 -> 2.3.5:
89   - Add start/end cycles of each profiling layer
90   - Support NPU emulation mode in Tizen env.
91
92 2.3.3 -> 2.3.4:
93   - Increase the maximum length of profiling layer name
94   - Update the testdata path of unittests (v2.3.4)
95
96 2.3.2 -> 2.3.3:
97   - Support profiling APIs for requests with any priority
98   - Add an apptest program to test the task preemption
99   - Fix minor bugs on a few unittest programs
100
101 2.3.1 -> 2.3.2:
102   - Support the DSP profiling for MDK
103   - Increase the overall code coverage
104   - Revise the debugging feature
105
106 2.3.0 -> 2.3.1:
107   - Update npubinfmt.h to store extra model info
108   - Support per-layer profiling for MDK
109   - Provide hotdoc-generated documents
110
111 2.2.10 -> 2.3.0:
112   - Support 2-TOPS TRIV2 as the default NPU
113   - Support TRIV 2.3.x architecture
114   - Make TRIV1 and TRIA devices deprecated
115
116 2.2.9 -> 2.2.10:
117   - Fix tensor size calculation using dynamic data granularity
118   - Increase the code coverage for new APIs
119
120 2.2.8 -> 2.2.9:
121   - Support profiling APIs in FastModel/FPGA env.
122   - Fix some package dependency issues
123
124 2.2.7 -> 2.2.8:
125   - Implement profiling APIs with the libmrpsim support
126   - Fix minor bugs mostly related to NPU emulation
127
128 2.2.6 -> 2.2.7:
129   - Revise NPU driver APIs to use Trinity API level 2
130   - Extend trinity-smi to monitor the status of apps and their tasks
131   - Seperate libnpuhost codes from core handler codes
132
133 2.2.5 -> 2.2.6:
134   - Support 2-TOPS NPU devices for emulation with different command files
135   - Add the command line utility (trinity-smi) for monitoring trinity devices
136   - Support the Docker envionment (xenial, bionic) for npu-engine users
137
138 2.2.4 -> 2.2.5:
139   - Revise the utility for trinity-testing applications
140   - Replace emulation library from libnpu-engine-emul to libmrpsim
141   - Resolve minor issues from static analyzers (i.e., svace, coverity)
142
143 2.2.3 -> 2.2.4:
144   - Fix minor bugs related to layout conversion
145
146 2.2.2 -> 2.2.3:
147   - Add a prototype of profiling interface as libnpuhost APIs
148   - Add some apptests to check a multi-tasking capability
149   - Skip to install dummy (or uncompatible) apptests in non-emulated env.
150   - Fix minor bugs related to model unregistration
151
152 2.2.1 -> 2.2.2:
153   - Fix external segment handling bugs
154   - Add npu-engine-utils package
155   - Support TRIV2's data manipulation (layout conversion)
156
157 2.2.0 -> 2.2.1:
158   - Resolve issues reported by static analyzer (svace/coverity)
159   - Add driver-assisted memory copy to avoid FPGA memcpy bug
160   - Prepare the code release
161
162 2.0.5 -> 2.2.0:
163   - Revise the user APIs for HW-recurring tasks
164   - Sync with the kernel driver's changed ioctl definition
165   - Add testcases for external hwmem and HW-recurring tasks
166
167 2.0.4 -> 2.0.5:
168   - Fix tensor size calculations on TRIV2 layout
169   - Add some testcases to run infernces using an async thread
170
171 2.0.2 -> 2.0.4:
172   - Add ioctl() to get the number of requests for trinity devices
173   - Add ioctl() to stop all requests for trinity devices
174   - Support log verbose mode for debugging
175   - Version sync with npu-engine-emul
176
177 2.0.1 -> 2.0.2:
178   - Fix minor bugs (e.g., weight offset setting and data size calc)
179   - Add user-level APIs to get status (e.g., memory/device status)
180   - Support memory status ioctl for trinity devices
181   - Support the stop feature to terminate submitted requests
182
183 2.0.0 -> 2.0.1:
184   - Fully support the TRIV2 device and kernel driver
185   - Add missing device functions (e.g., unsetModel)
186   - Resolve minor bugs and svace issues
187
188 1.2.0 -> 2.0.0:
189   - Revise the whole source codes (C++ porting/refactoring)
190   - Increase the code coverage (>= 85%)
191   - Support a segment table for TRIV2 inferences
192   - Sync with the revised NPU kernel drivers
193
194 1.1.4 -> 1.2.0:
195   - Sync with the NPU kernel driver refactoring
196   - Add the version control with the NPU kernel driver
197
198 1.1.3 -> 1.1.4:
199   - Add APIs to sepecify inference constraints (e.g., timeout/priority)
200   - Add an option to control multiple buffering
201   - Support a thread pool to support concurrent ioctls
202   - Support a HW-recurring input service for runNPU_internalInput()
203
204 1.1.2 -> 1.1.3:
205   - Fix minor bugs on NPU unittests
206   - Add install_rpath for ubuntu users
207   - Disable apptests using tvn models (instead, CI will do this)
208
209 1.1.1 -> 1.1.2:
210   - Fix minor bugs on shamt handling in NPU emulation codes
211   - Add an API to get the model metadata
212
213 1.1.0 -> 1.1.1:
214   - Fix minor bugs on data mainpulation
215
216 1.0.1 -> 1.1.0:
217   - Remove NPU emulation impl. (moved to AIP/NPU_SystemService_Emulator)
218   - Remove testdata generation impl. (moved to AIP/NPU_SystemService_Testdata)
219   - Simplify debian/tizen packaging scripts
220
221 1.0.0 -> 1.0.1:
222   - Fix minor bugs in testdata generation
223
224 0.0.7 -> 1.0.0:
225   - Support simultaneous request handling from different user apps
226   - Support timeout and priority handling for multiple requests
227   - Add and verify prebuilt tvn models (TRIV v1) in FastModel
228   - Sync with the NPU driver version in NPU_Linux-kernel
229
230 0.0.6 -> 0.0.7:
231   - Verify test cases on FastModel
232   - Fix a few minor bugs
233
234 0.0.5 -> 0.0.6:
235   - Support new NPU binary format (i.e., version 2)
236   - Support non-contiguous multiple input/output tensors
237   - Support data manipulation and quantization (only for npubinfmt v2)
238
239 0.0.4 -> 0.0.5:
240   - Add a prototype for NPU-ASR
241   - Fix minor bugs
242
243 0.0.3 -> 0.0.4:
244   - Change names of sub-packages from libnpuengine to npu-engine
245
246 0.0.2 -> 0.0.3:
247   - Tarballs containing test data are removed
248   - Test data are generated at the build time
249
250 0.0.1 -> 0.0.2:
251   - NPU Vision functionality verified in the FastModel envionment
252   - Support Ubuntu 16.04 packaging & emulation of NPU executions
253   - More test cases with single/multi-layer NPU models