* lpt transformations: transition to api 2.0, ngraph -> openvino
* use ov namespace for lpt transformations
* fix low_precision usings
* includes refactoring
* delete RecurrentGraphRewrite and RecurrentMatcher as unused classes
* use ov header for itt; delete the disabled test
* delete the unused function
* suppress doxygen warning
* fix link in the documentation
* GPU primitive and kernel changes to support Pad-12
* Exclude Pad-12 from GPU transformations pipeline
* add unit tests
* add single-layet test for Pad-12
* Move BroadcastTransition to MOC
Broadcast that could be eliminated by BroadcastElementwiseFusion are moved down the graph
(by BroadcastTransition registered in the plugins). That prevents BroadcastElementwiseFusion
to eliminate them.
Ticket: CVS-118899
* dont count const layers
* remove virtual inheritance
* [GPU] Fix input feature map indexing with pad and batch indices for ROIAlign
* Fix failed TCs for ov_gpu_func_tests
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Fix to do batch interpretation for inconsistency between ROIALign input and const 1D tensor
Signed-off-by: Andrew Park <andrew.park@intel.com>
---------
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Move files to new directories
* Use quotes for openvino includes
* Provide proxy calls for transition
of dependant components.
* Correct includes style
* Redo proxies
* Fix deprecated
* Move aliases to proxy files
* Apply code style
- [scatter_update] Use input index for input buffer instead of output index
- [concat cpu impl] Sync input layout and mem_ptr when input host tensor creation
- Add unit tests for scatter_update and concat cpu impl
+ Fixed black output image by Nan output.
+ Resolved fp16 overflow of gemm primitive before softmax
+ Added fused post ops of clamp activation not to get inf which caused Nan output
+ Added new pass modify_fused_ops
Signed-off-by: Min, Byungil <byungil.min@intel.com>
+ Added is_padded_spatial to program_node
+ Added reorder to remove padded input in spatial axis for mvn
+ case applied only for blocked formats of implemented mvn opt kernel
Signed-off-by: Min, Byungil <byungil.min@intel.com>
* updated to enqueue only fc for async build
* updated use_async_compilation(), make_task_executor_config() and disabled gemm_onednn.impl_replacement_with_cldnn
* added _num_async_build_threads
* added gemm to the async compliation targets
* removed priorbox in mark_if_constant
* fix priorbox operation for dynamic shape
* restore share test classes and disabled the test cases
* add exception throw for PriorBoxClustered
* Allow StridedSlice as predecessor for in place concat
* Enable padding support for strided slice
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Add prepare_buffer_fusing TC for ov_gpu_unit_tests
---------
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Skip reorder at runtime if data type and format are not changedt
* Update shape of reorder user at predecessor node so that we can allocate pred nodes' output to host mem if needed
* Reinterpret reorder memory at runtime if needed
(e.g., input is fake-aligned fc and reorder uses that memory)
* Add debug config
* Fix CI test failure
* Do not skip after optimized reshape
* Do not skip user reorder if the user reorder is output and current node is static, and the memory is allocated to device
* Disable skip reorder user if current node has fused node
* Update src/plugins/intel_gpu/src/graph/include/reorder_inst.h
Co-authored-by: Eddy Kim <eddy.kim@intel.com>
* Minor fix for compilation error
* Do not skip reorder if the reorder's user is optimizable concat
* Fix CI failures
* No need to wait for input_layout because the events is already resolved in dgpu
* Fixed corner case where only some of the multiple output layouts are static
---------
Co-authored-by: Eddy Kim <eddy.kim@intel.com>
* * Not to reuse internal memory for dynamic shape because of the current inefficiency in the pool
* Added a new debug config for dump runtime memory pool
* Apply DisableMemoryReuse for all usages
* Resolved perf issue of memory reuse from pool : Previously original ibuf record was not released when we allocate new memory for that buf.
After releasing the memory, # of the memory pool record does not increase => no longer inefficient memory pool retireval.
* Added test
* Extract axes normalization and validation in separate functions in Interpolate op
* Update resample primitive declaration
* Update output layout calculation for Interpolate v11
* Update Interpolate op builder
* Add a shared test instance for Interpolate from 11th opset
* Add basic tests for Interpolate from opset 11
* Add new resample types and appropriate flags in ParamsKey
* Replace map which holds axes and scales with two separate vectors in resample_params
* Add resample kernel implementation
* [dGPU] Enable user scratchpad mode.
* Reuse intermediate buffer.
* Add own id to the memory dependencies at the c-tor of program_node
+ Allocate intermediate memory with memory_pool::get_memory() function.
+ Assign scratchpad memory desc in load() function for onednn primitive
serialization
* Allocate device mem for onednn scratchpad mem
* Modify the condition making batch interpretation true/false
- When the user is Convert for Constant node, and tensor is 1d,
- Set needBatchInterpretation to true
* Narrow down the range of the condition
* Merge the condition
* Add additional condition not to check self node
* Fix incomplete condition
* Check if all inputs to binary eltwise is 1d
* Change code style
* [GPU] Improvement for buffer dump
+ added OV_GPU_DumpLayersInput to support dump input layers
+ added OV_GPU_DumpLayersRawBinary to make binary dump
+ added OV_GPU_LoadDumpRawBinary to use binary dump as input
+ binary dump naming rule layername_datatype_tensor_format.bin
Signed-off-by: Min, Byungil <byungil.min@intel.com>
* Previously reorder / permute was not allocating its memory at build time thought the shape has upper bound
* Update src/plugins/intel_gpu/src/graph/permute.cpp
Co-authored-by: Sergey Shlyapnikov <Sergeishlyapnikov@gmail.com>
* Fix as review comment
---------
Co-authored-by: Sergey Shlyapnikov <Sergeishlyapnikov@gmail.com>
* Add static shape adapter
- Adapters holds CPU dimension which can be reference to it or vector
- Add ov::optional for holding optional result from shape inference
- Add new `infer` function in `IStaticShapeInfer`
* Temporary support of StaticShape
* Minor corrections in ShapeInferenceTA
* Migrate shape_infer to new interface version
* Replace StaticShape by adapter implementation
* Replace IShapeInferCommon by IStaticShapeInfer
* Correct code formatting
* Fix build issues
* NodeValidationFailure::create for StaticShapeRef
* Review ReorgYolo op for shape inference
- Check partial shape and label propagation
- Check shape_infer implementation
- Update tests for static and dynamic shapes
* Change dim::is_valid to dim::is_empty
* Update ReorgYolo to use ngraph shape infer
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Add dynamic TCs for ov_gpu_func_tests
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Add shape infer TCs for ov_gpu_unit_tests
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Apply comments
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Fix clang-format
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Fix conflict
Signed-off-by: Andrew Park <andrew.park@intel.com>
---------
Signed-off-by: Andrew Park <andrew.park@intel.com>
* [GPU] Fix cl kernel build error(#18513)
* [GPU] Rollback cl kernel code change and add type converions to activatino function)
* [GPU] Use output data type instead of unit type in MakeActivationJitConstants
* [GPU] remove unused code and add comments
- add unit test
* Add static shape adapter
- Adapters holds CPU dimension which can be reference to it or vector
- Add ov::optional for holding optional result from shape inference
- Add new `infer` function in `IStaticShapeInfer`
* Temporary support of StaticShape
* Minor corrections in ShapeInferenceTA
* Migrate shape_infer to new interface version
* Replace StaticShape by adapter implementation
* Replace IShapeInferCommon by IStaticShapeInfer
* Correct code formatting
* Fix build issues
* NodeValidationFailure::create for StaticShapeRef
* Update RegionYolo to use ngraph shape infer
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Add dynamic TCs for ov_gpu_func_tests
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Add shape infer TCs for ov_gpu_unit_tests
Signed-off-by: Andrew Park <andrew.park@intel.com>
---------
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Add debug config for disabled dynamic impl
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Apply comment
Signed-off-by: Andrew Park <andrew.park@intel.com>
---------
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Update op creation for DetectionOutput-8 w/o num_classes attribute
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Update DetectionOutput to use ngraph shape inference
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Add dynamic TCs for ov_gpu_func_tests
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Fix issues for detection output cpu impl selection on dynamic shape
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Update detection_output primitive API and funcs for serialization
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Add shape infer TCs for ov_gpu_unit_tests
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Fix build failure in azure pipeline
Signed-off-by: Andrew Park <andrew.park@intel.com>
---------
Signed-off-by: Andrew Park <andrew.park@intel.com>
* Handle sequence ops with non constant W, R, B inputs
Ticket: CVS-49207
* fix tests
* tests
* fix gna tests
* add include
* change type for seqLenIdx
* rename is_constfoldable to is_on_constant_path
---------
Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
* [GPU] Reorder weights refactoring (#17787)
* [GPU] Fix DG2 with weights optimization
* [GPU] Fix DG2 with weights optimization
* [GPU] Fix DG2 with weights optimization
* [GPU] Fix DG2 with weights optimization
* [GPU] Fix inner order description for some of formats
* [GPU] Fix expected number of primitives in test
---------
Co-authored-by: Roman Lyamin <Roman.Lyamin@intel.com>
Co-authored-by: Sergey Shlyapnikov <sergey.shlyapnikov@intel.com>
* [GPU] Permute f and y axes
It is supported cases where y and f (and X if it is not equal 1) axes size divisible by 4,8 or 16.
added kernel to switch f and y axes in 4d model blocked and planar formats
added test fot tests
* Added subgroup read/write to THREE_DIM_TRANSPOSE kernel case.
* Better checking of is SIMD size supported.
* Added support for long type to subgroup read/write.
* Added subgroup read/write support to 2d permute.
* Fixed win build issue.
* Changed f and y indexes in iteration.
* Added vector read/write.
* Fixed j_times calculation.
* Better naming.
* Rollback test logic.
* Fixed fusion logic.
* Accept only supported blocked layouts and SIMD sizes.
---------
Co-authored-by: Mykhailo Hnap <mykhailo.hnap@capgemini.com>
Co-authored-by: Wilson Seok <wilson.seok@intel.com>
* [GPU] Add oneDNN primitives profiling support
* [GPU] Add stream.wait() method to prevent caches flushing and other possible impacts of finish() call
* Add comment for wait() usage
* Enable `LoadedTensor.*HETERO` test
* Fix use of `ICompiledModel::outputs()`
* Remove extra `loaded_from_cache` argument
* Misprint
* Small refactoring
* Remove extra `model` from `CompiledModelDesc`
Use `get_runtime_model()` instead
* ClangFormat