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