2.3.14 -> 2.3.15: - Fix bugs and revise FPGA workaround codes - Handle DSPM size and a number of vISA insts - Skip layout conversion of tensors with raw data layout - Support Tizen sample apps (Native, Web, and .NET) - Verify v2.3.7 models in FPGA - Update NPU-DDK documents 2.3.13 -> 2.3.14: - Use a global request id managed by a device driver - Handle the field for extended metasize in npubinfmt.h - Support nnstreamer sub-plugin in Tizen emulator 6.5 - Support system-wide request profiling using a device driver - Support application and request statistics in cuse driver 2.3.12 -> 2.3.13: - Add extra field for extened metasize to npubinfmt.h - Add extra API to select a NPU scheduler - Add apptest to test API interleaving - Add nnstreamer filter sub-plugin for srnpu - Fix model existence checking - Fix text formats reported by trinity-smi 2.3.11 -> 2.3.12: - Support NCHW data layout conversion - Perform code refactoring of HW input service - Add segment size info. for external memory - Add github action workflows for CI/CD 2.3.10 -> 2.3.11: - Fix bug when setting npumgr param - Fix bug when deallocating hwmem (e.g., missing close) - Support multiple submission with the same request - Add several aging apptests (e.g., repeat iterations) - Add data layout for input/output tensors to npubinfmt.h - Remove run_internal APIs (invalid scenarios) in libnpuhost.h 2.3.9 -> 2.3.10: - Add decoupled APIs for network inferencing - Enhance debugging (e.g., logging, API) - Update VD I/F sync. with real modules - Revise some documents 2.3.8 -> 2.3.9: - Fix memcpy bug of getNPUmodel_metadata - Add documents for FPGA testing guide - Add unittests to increase function coverage - Drop Ubuntu 16.04 (Xenial) support 2.3.7 -> 2.3.8: - Complete the dummy module of VD NPU manager - Add libnpuhost APIs for user convenience - Add some unittests to cover RFP checklists - Fix minor bugs 2.3.6 -> 2.3.7: - Add new profile API, getNPU_profile_opt() - Add the opcode of each vISA profile layer - Fix minor svace issues - Use TRIV v2.3.5 test models 2.3.5 -> 2.3.6: - Implement the prototype of VD NPU Manager (dummy) - Provide a CUSE-based virtual device node (trinity-cuse) - Distinguish debian and emulated envionment - Apply clang-format for the whole C++ source codes - Add a profile data path to the result of getNPU_profile() 2.3.4 -> 2.3.5: - Add start/end cycles of each profiling layer - Support NPU emulation mode in Tizen env. 2.3.3 -> 2.3.4: - Increase the maximum length of profiling layer name - Update the testdata path of unittests (v2.3.4) 2.3.2 -> 2.3.3: - Support profiling APIs for requests with any priority - Add an apptest program to test the task preemption - Fix minor bugs on a few unittest programs 2.3.1 -> 2.3.2: - Support the DSP profiling for MDK - Increase the overall code coverage - Revise the debugging feature 2.3.0 -> 2.3.1: - Update npubinfmt.h to store extra model info - Support per-layer profiling for MDK - Provide hotdoc-generated documents 2.2.10 -> 2.3.0: - Support 2-TOPS TRIV2 as the default NPU - Support TRIV 2.3.x architecture - Make TRIV1 and TRIA devices deprecated 2.2.9 -> 2.2.10: - Fix tensor size calculation using dynamic data granularity - Increase the code coverage for new APIs 2.2.8 -> 2.2.9: - Support profiling APIs in FastModel/FPGA env. - Fix some package dependency issues 2.2.7 -> 2.2.8: - Implement profiling APIs with the libmrpsim support - Fix minor bugs mostly related to NPU emulation 2.2.6 -> 2.2.7: - Revise NPU driver APIs to use Trinity API level 2 - Extend trinity-smi to monitor the status of apps and their tasks - Seperate libnpuhost codes from core handler codes 2.2.5 -> 2.2.6: - Support 2-TOPS NPU devices for emulation with different command files - Add the command line utility (trinity-smi) for monitoring trinity devices - Support the Docker envionment (xenial, bionic) for npu-engine users 2.2.4 -> 2.2.5: - Revise the utility for trinity-testing applications - Replace emulation library from libnpu-engine-emul to libmrpsim - Resolve minor issues from static analyzers (i.e., svace, coverity) 2.2.3 -> 2.2.4: - Fix minor bugs related to layout conversion 2.2.2 -> 2.2.3: - Add a prototype of profiling interface as libnpuhost APIs - Add some apptests to check a multi-tasking capability - Skip to install dummy (or uncompatible) apptests in non-emulated env. - Fix minor bugs related to model unregistration 2.2.1 -> 2.2.2: - Fix external segment handling bugs - Add npu-engine-utils package - Support TRIV2's data manipulation (layout conversion) 2.2.0 -> 2.2.1: - Resolve issues reported by static analyzer (svace/coverity) - Add driver-assisted memory copy to avoid FPGA memcpy bug - Prepare the code release 2.0.5 -> 2.2.0: - Revise the user APIs for HW-recurring tasks - Sync with the kernel driver's changed ioctl definition - Add testcases for external hwmem and HW-recurring tasks 2.0.4 -> 2.0.5: - Fix tensor size calculations on TRIV2 layout - Add some testcases to run infernces using an async thread 2.0.2 -> 2.0.4: - Add ioctl() to get the number of requests for trinity devices - Add ioctl() to stop all requests for trinity devices - Support log verbose mode for debugging - Version sync with npu-engine-emul 2.0.1 -> 2.0.2: - Fix minor bugs (e.g., weight offset setting and data size calc) - Add user-level APIs to get status (e.g., memory/device status) - Support memory status ioctl for trinity devices - Support the stop feature to terminate submitted requests 2.0.0 -> 2.0.1: - Fully support the TRIV2 device and kernel driver - Add missing device functions (e.g., unsetModel) - Resolve minor bugs and svace issues 1.2.0 -> 2.0.0: - Revise the whole source codes (C++ porting/refactoring) - Increase the code coverage (>= 85%) - Support a segment table for TRIV2 inferences - Sync with the revised NPU kernel drivers 1.1.4 -> 1.2.0: - Sync with the NPU kernel driver refactoring - Add the version control with the NPU kernel driver 1.1.3 -> 1.1.4: - Add APIs to sepecify inference constraints (e.g., timeout/priority) - Add an option to control multiple buffering - Support a thread pool to support concurrent ioctls - Support a HW-recurring input service for runNPU_internalInput() 1.1.2 -> 1.1.3: - Fix minor bugs on NPU unittests - Add install_rpath for ubuntu users - Disable apptests using tvn models (instead, CI will do this) 1.1.1 -> 1.1.2: - Fix minor bugs on shamt handling in NPU emulation codes - Add an API to get the model metadata 1.1.0 -> 1.1.1: - Fix minor bugs on data mainpulation 1.0.1 -> 1.1.0: - Remove NPU emulation impl. (moved to AIP/NPU_SystemService_Emulator) - Remove testdata generation impl. (moved to AIP/NPU_SystemService_Testdata) - Simplify debian/tizen packaging scripts 1.0.0 -> 1.0.1: - Fix minor bugs in testdata generation 0.0.7 -> 1.0.0: - Support simultaneous request handling from different user apps - Support timeout and priority handling for multiple requests - Add and verify prebuilt tvn models (TRIV v1) in FastModel - Sync with the NPU driver version in NPU_Linux-kernel 0.0.6 -> 0.0.7: - Verify test cases on FastModel - Fix a few minor bugs 0.0.5 -> 0.0.6: - Support new NPU binary format (i.e., version 2) - Support non-contiguous multiple input/output tensors - Support data manipulation and quantization (only for npubinfmt v2) 0.0.4 -> 0.0.5: - Add a prototype for NPU-ASR - Fix minor bugs 0.0.3 -> 0.0.4: - Change names of sub-packages from libnpuengine to npu-engine 0.0.2 -> 0.0.3: - Tarballs containing test data are removed - Test data are generated at the build time 0.0.1 -> 0.0.2: - NPU Vision functionality verified in the FastModel envionment - Support Ubuntu 16.04 packaging & emulation of NPU executions - More test cases with single/multi-layer NPU models