Commit Graph

872 Commits

Author SHA1 Message Date
Steve Yoo
0312d8cf1b Skip asymmetric compensation if its type is not data, and add its unittests (#16494) 2023-04-11 20:16:25 -07:00
Roman Lyamin
2312ec79a2 [GPU] Skip failing lstm tests (#16868) 2023-04-12 02:10:42 +02:00
Andrew Kwangwoong Park
63b16baa7e [GPU] Fix strided slice clamped negative begin with negative stride (#16843)
Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-04-11 11:52:22 -07:00
Taylor Yeonbok Lee
7513e9dee1 [GPU] Applied w/a to resolve softmax accuracy issue (#16818)
* Applied w/a to resolve softmax accuracy issue
The original impl resulted in accuracy issue if leftover is not aligned with subgroup size.
(e.g., for shape [1024, 306] where the lws = 32, itemsNum = 9, leftover = 18, subgroup size = 16)
In such a case, the result got wrong if subgroup block read/write is used.
As a w/a, not to use subgroup block read/write if leftover is not aligned with nsubgroup size.
However we can come up with better itenNum size / lefover handling in the follot bwing up work.

* Fix build error & minor revise

* Fix condition
2023-04-11 10:01:22 -07:00
Eddy Kim
f6ee6e92f8 [GPU] fixed loop serialization logic for multi-stream execution (#16838)
* fixed loop serialization logic for multi-stream execution

* fixed the multistream unit test
2023-04-11 12:40:37 +04:00
Mingyu Kim
615177ae09 [GPU] Update onednn version to latest v3.1 (#16848) 2023-04-11 15:05:35 +09:00
Roman Lyamin
234fe92931 [GPU] MVN 1d dynamic batch case fix (#16826) 2023-04-11 09:42:51 +04:00
Sergey Shlyapnikov
2075dcb7c3 [GPU] Fix Interpolate assert (#16806) 2023-04-10 12:29:01 +04:00
Sergey Shlyapnikov
48dee7c30a [GPU] Fix missed weights params update (#16815) 2023-04-10 10:28:06 +04:00
Kelvin Choi
c7fe5ca73b [Coverity] Resource leak in primitive_inst.cpp (#16771) 2023-04-10 10:27:09 +04:00
hyunback kim
f4179e8ee4 [GPU] Add to check FC bias data-type logic in issued kernel selection. (#16628)
* Fix unit test failure with broadcast primitive
* After introduce shape canonicalization, static broadcast unit test failed.
* Guilty commit is https://github.com/openvinotoolkit/openvino/pull/16166

Signed-off-by: hyunback <hyunback.kim@intel.com>
2023-04-10 14:54:15 +09:00
Roman Lyamin
132b657977 [GPU] Added GatherND dynamic support and changed logic for empty tensor support (#16690) 2023-04-07 09:19:05 +04:00
Eddy Kim
07437eec1e updated to store dims and data type for binary post ops (#16792) 2023-04-06 20:13:53 -07:00
Eddy Kim
df4d7bd3e9 fix uninitialized scalar variables (#16772) 2023-04-06 17:28:45 -07:00
Mingyu Kim
e17a6f29bf [GPU] Use unique symbol name for typedef (#16777) 2023-04-07 09:03:28 +09:00
Paul Youngsoo Ahn
24ab3f7c41 [GPU] Fix sub kernel ordering issue in kernels_cache (#16746)
* [GPU] Fix sub kernel ordering issue in kernels_cache (#16746)

* [GPU] Add unit test for sub kernel idx (#16746)

* [GPU]Follow up code review (#16746)

* [GPU] Skip kernel compilation when current node is optimized out in update_impl (#16746)

* [GPU]Code refactoring (#16746)
2023-04-06 12:44:25 -07:00
Min, Byungil
932a668a2f [GPU] Bugfix in reorder_bfyx_to_blocked_format kernel (#16689)
+ Bugfix bfyx_to_blocked_format kernel of reorder prim for doubl blocked format
+ issued format is bs_fs_yx_bsv16_fsv32. Added test-cases.
+ Fixed accuracy issue from check_accuracy_issue

Signed-off-by: Min, Byungil <byungil.min@intel.com>
2023-04-06 18:08:34 +09:00
Vladimir Paramuzov
b2a64e8c3a [GPU] Enable dynamic shapes support for gather elements (#16727) 2023-04-06 11:14:36 +04:00
Roman Lyamin
38c8a3d15b [GPU] Added custom canonicalize_shapes for Gather (#16733) 2023-04-06 10:50:57 +04:00
Oleg Pipikin
1c564226f3 Deprecate util functions in public api (#16716)
* Deprecate util functions in public api

* Add deprecation suppression for usage inside openvino

* Fix clang-format

* Fix1
2023-04-06 06:32:04 +04:00
Sungeun Kim
fef04e468a [GPU] add WA to avoid hang issue. (#16724) 2023-04-05 16:32:42 +04:00
Andrew Kwangwoong Park
44cfbea9ab [GPU] Fix synchronization issue from wrong stream in multi-stream mode on dGPU (#16671)
Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-04-05 16:29:47 +04:00
Vladimir Paramuzov
f5e199c494 [GPU] Don't reorder weights when can reinterpret (#16714)
* [GPU] Don't reorder weights when can reinterpret

* [GPU] Test fixes
2023-04-05 16:20:51 +04:00
Pavel Esir
f9bd2d2c1e [ie transformations] improve SoftMax fusion for better mixed precision inference (#16574)
* improve SoftMax fusion

* style and unit-test fix

* more precise SoftMax unit-tests

* rewritten SoftMaxFusion with single matcher

* fixes for align_mixed_fp32_fp16_types_test.cpp and mark_subgraph_to_keep_in_mixed_precision_test.cpp

* add include for pass/pattern/op/or.hpp

* get rank only when necessary

* style-fix

* add comment why SoftmaxFusion is called manually

* fix copy_runtime_info
2023-04-05 11:28:48 +04:00
Eddy Kim
90615cf26a [GPU] Fix OneDNN primitive attr serialization logic (#16654)
* fix onednn primitive attr serialization logic

* added an onednn fc fusing serialization test

* added gemm fusing serialization tests
2023-04-03 18:24:40 -07:00
Vladimir Paramuzov
f7d15e12c8 [GPU] Refactor dimensions jitter and max rank related code (#16603)
* [GPU] Refactor dimensions jitter and max rank related code
2023-04-03 13:34:06 +02:00
Yaroslav Torzuk
8491f15ba7 [GPU] Softmax for stable diffusion (#15863) 2023-04-03 10:21:02 +04:00
Sergey Shlyapnikov
bb93bfd90f [GPU] Add clDNN shape agnostic kernels usage as an initial impls for dGPU (#16018)
* [GPU] Add clDNN shape agnostic kernels usage as an initial impls for dGPU

* [GPU] Use layout as a key of weights cache, implement logic for weights cache capacity calculation based on available memory
2023-03-31 13:05:59 +04:00
Ilya Lavrenov
ee0bb79ed6 Fixed LTO build (#16629)
* Partially fixed LTO

* Fixed issues with cnpy LTO

* CPU

* Disabled failing GPU test
2023-03-31 11:34:42 +04:00
Ilya Lavrenov
e94f7b25c0 Fixed cmake dev warnings (#16655) 2023-03-30 21:01:41 +04:00
Ilya Lavrenov
ccf9c19f61 Deprecated UNDEFINED values for execution / performance hints (#16563)
* Deprecated UNDEFINED values for execution / performance hints

* Update src/tests/functional/plugin/gpu/shared_tests_instances/behavior/ov_plugin/properties_tests.cpp

* Fixes

* Fixes
2023-03-30 13:48:19 +04:00
Ilya Lavrenov
0250f62d11 Revert inference precision to be a hint (#16634) 2023-03-29 18:59:33 +04:00
Ilya Churaev
f3dcf93f96 Remove suppression Wno-delete-non-abstract-non-virtual-dtor (#16560)
* Remove suppression Wno-delete-non-abstract-non-virtual-dtor

* Fixed Allocator warning

* Suppress warning for GPU plugin

* Skip warning for GNA

* Fixed preprocessing

* Added virtual constructor for base plugin class

* Some fix for CPU

* Suppress for CPU

* Fixed any

* Fixed meta

* Disable warning for paddle

* Fixed Allocator tests

* Move suppress to paddle

* Fixed benchmark_app
2023-03-29 14:19:30 +04:00
Min, Byungil
7a95830d24 [GPU] Disable failed onednn tests (#16614)
* Resolved failed unit-tests for fully connected

Signed-off-by: Min, Byungil <byungil.min@intel.com>
2023-03-29 15:53:04 +09:00
Min, Byungil
ea6e3481cd [GPU] Fix failed onednn tests (#16410)
* Fix failed unit-tests on dGPU

+ modified fully_connected_random_test_i8_3d not to have ambiguous
+ oneDNN does NOT support i64 type for reorder. Added exception.
+ bugfix in prepare_primitive_fusing about exception of activation function
+ Add exception logic for dynamic to select ocl type in is_node_for_onednn

Signed-off-by: Min, Byungil <byungil.min@intel.com>
2023-03-29 15:50:09 +09:00
Taylor Yeonbok Lee
daf562832f [GPU] Fix malfunction in crop static kernel in dynamic shape scenario (#16586)
* Fix malfunction in crop static kernel in dynamic shape execution

* Add unittest

* Fix lint errort
2023-03-29 04:19:24 +00:00
Sergey Shlyapnikov
6c766a81b5 [GPU] Treat warnings C4267 as errors for Windows (#16345) 2023-03-28 22:56:47 +00:00
Wilson Seok
79b267033c [GPU] Fix program::replace() to copy duplicated connection from single constant (#16529)
* fix program::replace() to copy duplicated connection from single constant

* add unit test

* modified with review feedback
2023-03-28 19:25:22 +00:00
Pawel Raasz
796bd98913 Review convolution classes for shape inference aspects (#16375)
* Review adaptive max pool shape inference

* Review AvgPool and MaxPool

* Review convolution operator

* Review GroupConvolution shape inference

* Review ConvolutionBackpropData operator

* Review GroupConvolutionBackpropData op

* Review BinaryConvolution operator
- add common bases for convolution ops
- refactor convolution ops

* Review DeformableConvolution operator

* Use new convolution shape_infer in GPU

* Fix build and test issues

* Correct set output spatial shape
in default constructed back prop convolutions

* The convolution shape_infer use pads as parameters
the external padding can be operators or other class padding properties shape_infer should not modify operators padding when
called from plugin

* Apply code formatting

* Fix padding validation and update

* Use shape inference with padding instead fallback
for DeformableConvolution from opset1

* Update convertPadding function to be template
2023-03-28 19:10:08 +00:00
Eddy Kim
e169c7cd38 fix a bug in permute_bfzyx_to_bfyxz (#16599) 2023-03-28 18:19:35 +00:00
Paul Youngsoo Ahn
253e4eb366 [GPU] Remove duplicated OpenCL kernel compilation on static model (#16262)
* * update kernel_ids using hash value
* Change set to unordered_map for kernels_code
* replace unique_id to hash value
* Remove hash_val params
* remove redundant codes (#16262)
** Remove unique_id in program_node
** Remove gen_kernel_id
** Remove set_kernels_source
** Remove remove_kernels
** Remove kernel_idx in kernels_cache

* * Use kernel_impl_params instead of kernel_id
* Divide batch when entry_point are duplicated
* rollback removing unique_id

* * Fix get_kernel failure issue (#102467)
 - Modify has function of custom_gpu_primitive and generic_layer
 - Add ==operation of generic_layer for _kernels map in kernels_cache
 - Fix invalid kernel_impl_params related to unique_ptr life cycle issue

* Improve kernels_cache (#102467)
* Move add_kernels_source step to build_implementations
* Change replace kernels_code key to kernel_impl_params
* Return kernel vector in get_kernels

* Modify function name to get_kernels (#102467)

* Fix functions related graph serialization (#102467)

* Fix failure to run dynamic model (#102467)

* Add unit test

* Code review follow-up
- Add const to input params
- Add missing code to check kernel duplication in kernels_cache

* Add const to input params (#102467)

* [GPU] update hash and ==operator for generic_layer and custom_gpu_primitive (#102467)

* [GPU] override get_kernels_source in generic_layer and custom_gpu_primitive (#102467)

* [GPU] Fix onednn build error (#102467)

* [GPU] Fix Lin build error (#102467)

* [GPU] kernels_cache::get_kernels return vector of clone of cldnn::kernel (#102467)

* Updated serialization logics for improved kernel caches (#16262)

* primitive key kernel cache for serialization
* kernel serialization with binaries hash
* fix kernel cache init function for deserialization
* removed unnecessary codes

* [GPU] Update commnet and fix test failure (#16262)

* [GPU] Fix custom_gpu_primitive unit test failures (#16262)

* [GPU] Improved kernels cache serialization (#16262)
* removed hash in serialization logic
* update not to create a new kernels_cache for serialization
* code refactoring in serialization logic

* [GPU] Follow-up code review (#16262)

* [GPU] modify lock(#16262)

* [GPU] Fix custom_gpu_primitive unit test failure (#16262)

---------

Co-authored-by: Eddy Kim <eddy.kim@intel.com>
2023-03-28 18:48:19 +02:00
Vladimir Paramuzov
906939a1f1 [GPU] Fixed invalid is_dynamic flag value for scalar inputs (#16565) 2023-03-28 10:03:51 +04:00
hyunback kim
d06a22f4e4 [GPU] Support FC+eltwise fusion in fp16 for OneDNN (#16303)
* [GPU] Support FC+eltwise fusion in fp16

Signed-off-by: hyunback <hyunback.kim@intel.com>
2023-03-28 14:49:49 +09:00
Roman Lyamin
5113a5538c [GPU] Added shape canonicalization mechanism (#16166) 2023-03-27 15:02:06 +04:00
Sergey Shlyapnikov
ce67ac09d3 [GPU] Disable OneDNN primitive cache (#16525) 2023-03-26 23:29:47 +04:00
Andrew Kwangwoong Park
2956717118 [GPU] Added shape agnostic TopK kernel (#16161)
* [GPU] Added shape agnostic TopK kernel implementation

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Update kernel to use internal buffers for shape agnostic kernel

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Add WA to compile_graph for shape agnostic arg_max_min_axis with non-const k input

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Fix is_dynamic pameter for FillCLKernelData with the case where the output is static shape

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Fix corner case where inbuf size becomes 0 when ops_size is 1

Signed-off-by: Andrew Park <andrew.park@intel.com>

---------

Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-03-25 22:32:17 -07:00
Ilya Lavrenov
580b99c99b Align plugins in caching properties (#16528)
* Align plugins in caching properties

* Fixed caching mock tests

* Added new TestNoCachingProperties test

* Fixed test

* Added ov::caching_properties to API 1.0 metrics as well
2023-03-25 00:26:18 +04:00
Taylor Yeonbok Lee
6a25143045 [GPU] Prevent memory reset at runtime allocation for dynamic shape, fix wrong padding handling (#16351)
* Prevent memory reset at runtime allocation for dynamic shape

* Set default alloc to reset mem

* Additional fixes :
- If there is any convolution/deconvolution users which requires padded input, enqueue reset buffer when reuse buffer.
- Removed cl finish from gpu_buffer::fill. (Hopefully it should be waited only when needed. Otherwise sync is to be done by event)
- Removed buffer reset from on_execute of nonzero count, which is not needed any more.

* Remove unused API

* Fix tensor offset to project the padding

* Added unittest

* Applied review comment
2023-03-24 13:10:33 -07:00
Andrei Gorbachev
cabb917b1f [GPU] Fix warnings (#16516)
* fix a few warnings

* cast size_t to uint32_t
2023-03-24 13:26:24 +04:00
Kelvin Choi
8518a3a8e8 [GPU] Disable converting gather8 to 7 pass because GPU plugin supports gather8:nagative-index feature (#15868)
* Add GatherV7 and gatherV8 for convert_gather_0d pattern

* Add updating output_shape using reorder/reshape for scalar indice instead of using ConvertGather0D pass

* Add WA for NMS-gather8 pattern
2023-03-23 23:12:12 -07:00