Raman Sarokin
d92c3720a0
Added generic API neutral Arguments for better(generic) task description.
...
Added MetalArguments for compute task.
Showed example of usage in FullyConnected.
PiperOrigin-RevId: 336932028
Change-Id: I86e9c4fd967a69ad18cf08b4e0c6acef2f3a681e
2020-10-13 12:46:06 -07:00
Raman Sarokin
a2e00ba674
Added support of dynamic weights for DepthWise Convolution in OpenCL.
...
PiperOrigin-RevId: 335916814
Change-Id: I95d93791293291e3499cf99e58bbc404119d88f8
2020-10-07 12:04:40 -07:00
Raman Sarokin
073362c7dc
Added support of NEG for GPU backends.
...
PiperOrigin-RevId: 330009294
Change-Id: I8955b499adfb1ca23084d36d79d8509bbc37e4eb
2020-09-03 16:00:36 -07:00
Raman Sarokin
2cea1ba130
Added enum for batched matmul operator.
...
PiperOrigin-RevId: 329999689
Change-Id: Id2fcacaa14a4a0858691dd391bf7f3c3d99175db
2020-09-03 15:01:00 -07:00
Raman Sarokin
8ea12c187f
Added enums for comparison operators.
...
PiperOrigin-RevId: 329995064
Change-Id: I310411cf4dd038875a13b753910a17789aafa282
2020-09-03 14:38:29 -07:00
Raman Sarokin
0377e1f434
Added new operation types(for reduce operations).
...
Added OpenCL selection of reduce ops.
PiperOrigin-RevId: 329362643
Change-Id: I9d44d2cc1471ae2a57d0d5c731a526dbf600382c
2020-08-31 13:18:47 -07:00
Fergus Henderson
a8c3b05740
(lite) Add missing dependency on
...
//third_party/tensorflow/lite/delegates/gpu/common:data_type
This is needed due to
#include "third_party/tensorflow/lite/delegates/gpu/common/data_type.h"
in conv.cc.
PiperOrigin-RevId: 329031366
Change-Id: I0c0f8e5c86ecf4ce461256f7c1af1f89e74ff777
2020-08-28 16:48:21 -07:00
Robert David
0a0a9eeb6b
Change unordered containers to Swiss table.
...
PiperOrigin-RevId: 325332451
Change-Id: I5349d9b9e9227b62752f21e0b2c777bfcc59d3eb
2020-08-06 16:27:38 -07:00
Robert David
9fefb3b50a
Tool generated fixes for unused dependencies.
...
PiperOrigin-RevId: 324706583
Change-Id: Ia8512b20d27791d935d207fd50180593ca5e2ccc
2020-08-03 16:45:32 -07:00
Robert David
6dbc50195e
Automatic readability finding fixes.
...
PiperOrigin-RevId: 324682656
Change-Id: I009a949fbf08eeb5e45d19d8a1918a988960311b
2020-08-03 14:34:39 -07:00
Robert David
a3df6cff1b
Add MeanStddevNormalization to the list of operations and the OpenCL operation selector.
...
PiperOrigin-RevId: 324678979
Change-Id: Ie4ba8df7d57f184f2bdcd790d4ec761ba1681dee
2020-08-03 14:10:52 -07:00
Raman Sarokin
024a8354e5
AddAttributes and MultiplyAttributes replaced with ElementwiseAttributes.
...
PiperOrigin-RevId: 324337337
Change-Id: I57ad0a5c4cff387f24b4375751a805ae939ddbb6
2020-07-31 19:05:25 -07:00
Raman Sarokin
a904462bf4
Reading of half_pixel_centers attribute for TfLiteResizeNearestNeighborParams in model_builder.
...
Added support of half_pixel_centers for ResizeNearest in GPU backends.
PiperOrigin-RevId: 324134037
Change-Id: I52ee5b02f50f20a5e409bd01c90f1d1d332fa50a
2020-07-30 19:45:02 -07:00
A. Unique TensorFlower
52de0efaa3
Add a copy operation type to the GPU commands
...
PiperOrigin-RevId: 322826307
Change-Id: If068eac6823d4165be24db8f9a2e7e7f36040399
2020-07-23 11:52:32 -07:00
Raman Sarokin
57511d5dcc
Added support of ELU activation for GPU backend.
...
PiperOrigin-RevId: 322660529
Change-Id: Icb285d475197ea487839c76e84a70f0f9ba6a755
2020-07-22 15:05:09 -07:00
A. Unique TensorFlower
381c6e98d2
Use internal linkage for classes defined in compute_task.mm.
...
PiperOrigin-RevId: 321461539
Change-Id: Ie6b9755897088b5363c62d9ab8e8d93ca89af9a8
2020-07-15 16:41:28 -07:00
Raman Sarokin
9c9e961174
Added support of HWC constant tensor in ElementwiseWithOneInputAndConstantArguent.
...
Remove Mul (replaced by elementwise).
Changed Add (some cases handled in elementwise).
PiperOrigin-RevId: 315000693
Change-Id: Icd981170d11f17df418361a554dc08822f3ee273
2020-06-05 14:56:38 -07:00
Taehee Jeong
282f234242
Adds QuantizeAndDequantize kernel to Metal backend
...
* Fixed comment to match implementation.
PiperOrigin-RevId: 314684033
Change-Id: Ice38717811c8a5f6abf4a4fb65ecbdf7b9ed42ca
2020-06-04 01:02:22 -07:00
Raman Sarokin
f613c99b3a
Reading node attributes for Add/Mul/Elementwise only when this ops have single input.
...
PiperOrigin-RevId: 314553895
Change-Id: I800327a2a2bf494b255126d27d06b62012de6994
2020-06-03 10:19:28 -07:00
Raman Sarokin
90264d496c
Added HWC tensor to possible arguments of TensorOrScalar.
...
Added checks in Metal/OpenGL.
Added support of HWC tensor in OpenCL.
PiperOrigin-RevId: 314413761
Change-Id: Ifbcdc620809b7338932f7aabe63190dfc1510f3b
2020-06-02 15:21:27 -07:00
A. Unique TensorFlower
edabfee6e0
Increase the minimum support iOS version from 10 to 11.
...
PiperOrigin-RevId: 310899980
Change-Id: I40bcece83fe070b8eeb950c500c473b62f03221f
2020-05-11 06:34:23 -07:00
Raman Sarokin
c43c69e388
Some tests fixes.
...
PiperOrigin-RevId: 310170770
Change-Id: Ie957e6f9ac3eee6be3fa4db7a8bbdaf57e15f508
2020-05-06 09:57:47 -07:00
Raman Sarokin
426be62ae5
Modified convolution reader to support dynamic weights.
...
Added checks in Metal and OpenGL that does not support dynamic weights.
PiperOrigin-RevId: 309433450
Change-Id: I2b1dbe4b07bfa399b4bfbf144096b651c4510f42
2020-05-01 10:47:02 -07:00
Juhyun Lee
b26b6b5669
Rename IntegralDivideRoundUp to DivideRoundUp.
...
PiperOrigin-RevId: 307447663
Change-Id: I1e0f6c9f058e3f0457a7522f1d10f7da8ab8610d
2020-04-20 12:06:03 -07:00
Juhyun Lee
22350e7ca8
Convert template classes to simple classes:
...
* Value<TensorRef<BHWC>> is now Value.
* Graph<TensorRef<BHWC>> -> Model<TensorRef<BHWC>> -> typedef GraphFloat32 is now a single class GraphFloat32.
PiperOrigin-RevId: 306926255
Change-Id: I6730c1a999504c7484aec16ecf4b6aa213607c70
2020-04-16 14:54:32 -07:00
A. Unique TensorFlower
ae0a9a4461
This CL optimizes C++11 range-based for loops where the variable is copied in each iteration but it would suffice to obtain it by const reference. This is only applied to loop variables of types that are expensive to copy which means they are not trivially copyable or have a non-trivial copy constructor or destructor.
...
To ensure that it is safe to replace the copy with a const reference the following heuristic is employed:
The loop variable is const qualified.
The loop variable is not const, but only const methods or operators are invoked on it, or it is used as const reference or value argument in constructors or function calls.
PiperOrigin-RevId: 305169937
Change-Id: I682f40e98a074f074332e6e4d0d47575c9909286
2020-04-06 19:54:28 -07:00
Raman Sarokin
ee27301273
Fixed alignment in struct.
...
PiperOrigin-RevId: 305154275
Change-Id: I99a4a0bf00cf278ac35032b660501d3ae3890ad4
2020-04-06 17:44:27 -07:00
Raman Sarokin
2557efa9ba
Added specialized concat for channels when all channels divisible by 4.
...
PiperOrigin-RevId: 305067398
Change-Id: Id30fe786a6b10a09c389ccc01494c7f87ff9b2d9
2020-04-06 11:01:23 -07:00
Raman Sarokin
9a85d6fe42
Fixed typo in FullyConnected.
...
PiperOrigin-RevId: 304690191
Change-Id: I5bde450f0cba6ca64d09e015ba2439e7aa20e5a3
2020-04-03 14:20:20 -07:00
Raman Sarokin
34c95ccc99
Added missing bias for Winograd36To4x4Tile4x1.
...
PiperOrigin-RevId: 304685460
Change-Id: Iaa5c55ea0d0512c120f80b6cf925f0e55534e9a1
2020-04-03 14:06:08 -07:00
Raman Sarokin
d27151c789
Fixed TransposedConv4x4.
...
Changed Softmax/FullyConnected/Conv barrier definition.
PiperOrigin-RevId: 304517962
Change-Id: Iedf1fb2c4d810abd5a14dbe245825aafe7a8ceb9
2020-04-02 18:21:08 -07:00
Raman Sarokin
bfcaa9b762
Added new version of Winograd4x4To36.
...
Improved Intel performance.
PiperOrigin-RevId: 304515047
Change-Id: I423783b798493f3a9859ce4aada15b8b486156cf
2020-04-02 18:01:02 -07:00
Raman Sarokin
6181852a83
Added new version of Winograd36To4x4.
...
Improved Intel performance.
PiperOrigin-RevId: 304506365
Change-Id: I3d2fd76658a2abee1e02b12d043a8707adba8879
2020-04-02 17:00:51 -07:00
Raman Sarokin
f0412987d7
Convolution params selection changed for Intel.
...
PiperOrigin-RevId: 304339069
Change-Id: I9897d5d318b8bc50a99fa9a248b465bd1a74b377
2020-04-01 23:58:07 -07:00
Raman Sarokin
0e531f62a9
Fixed threadgroup memory barriers for FullyConnected and Softmax.
...
PiperOrigin-RevId: 304313053
Change-Id: I944e2d05c65cd502e35e550b0f6c6c8a2efd01ff
2020-04-01 19:57:11 -07:00
Raman Sarokin
1778de6f64
Added new ways of weights uploading.
...
Improved Intel performance.
Added macos test for convolution.
PiperOrigin-RevId: 304262331
Change-Id: If9b433364d4e6122f6f039e9da490cdfa770677d
2020-04-01 14:30:32 -07:00
Raman Sarokin
3c8e9b7f3e
Added new layout for Convolution weights in Metal.
...
Improved Intel performance.
PiperOrigin-RevId: 304239414
Change-Id: If627338ea09d7265299870981e6543b305238ab1
2020-04-01 12:35:10 -07:00
Raman Sarokin
ed0d053b9d
Added vendors to DeviceInfo.
...
Metal convolution performance improved for Intel.
PiperOrigin-RevId: 304060255
Change-Id: Idaf828ab2e995da7bbe0e189fb7cfc2d242519c7
2020-03-31 15:36:51 -07:00
Raman Sarokin
2bf52af68f
Fixed accumulator precision for generic DepthWise implementation.
...
Removed inlined constants for kernel sizes.
Added test.
PiperOrigin-RevId: 304026983
Change-Id: I4f9eac57ba1ec4e6f929d3ab7c9176f0d6f3b4ce
2020-03-31 12:55:59 -07:00
A. Unique TensorFlower
09910a1774
Fixed accumulator precision for generic DepthWise implementation.
...
Removed inlined constants for kernel sizes.
PiperOrigin-RevId: 303938922
Change-Id: I4f1359341b8aa4a9c70b4c9f786657e5cbfdf645
2020-03-31 04:48:00 -07:00
Raman Sarokin
1303fce83c
GpuType replaced with DeviceInfo.
...
PiperOrigin-RevId: 303447708
Change-Id: If384b4b8acad6eec4861b392f3765575fd85de15
2020-03-27 18:49:20 -07:00
Raman Sarokin
86f5733999
Fixed accumulator precision for generic DepthWise implementation.
...
Removed inlined constants for kernel sizes.
PiperOrigin-RevId: 303445102
Change-Id: If7de0468fc5554c85165f1a7020b54af512a7426
2020-03-27 18:23:02 -07:00
Raman Sarokin
5b533a3f31
Added structure that describes Device(Apple GPU).
...
PiperOrigin-RevId: 303397307
Change-Id: I1aa5a48a17fb4d0c0eb45b9cdfc2196492493013
2020-03-27 13:53:59 -07:00
Raman Sarokin
94bc5b2b52
Removed unused ConvolutionTransposed3x3.
...
PiperOrigin-RevId: 303397293
Change-Id: I62b6dc3add95edf19e1cbf41c7282b23669d7b49
2020-03-27 13:49:33 -07:00
Raman Sarokin
e5724ac1e9
More logical block size selection for convolution.
...
PiperOrigin-RevId: 303247791
Change-Id: I8f546aab662b6fdbec9847ac052ff9de5ae178b3
2020-03-26 20:15:51 -07:00
Raman Sarokin
3120c59944
Added missing header.
...
PiperOrigin-RevId: 303237370
Change-Id: I8a3fc00b0735ee37c2c763d49e945ee435078504
2020-03-26 18:40:59 -07:00
Raman Sarokin
f011d16d50
Added Winograd selection for Metal backend.
...
PiperOrigin-RevId: 303212484
Change-Id: Ia19dbaf8d9a5bdf344a7f3306edfdfc18eb9c78a
2020-03-26 16:04:10 -07:00
Raman Sarokin
8e137a00d9
Winograd convolution for Metal backend.
...
Fixes for Winograd conversion.
PiperOrigin-RevId: 303007165
Change-Id: I3d1de82579317485b36954c888c8ea19b9de5712
2020-03-25 17:33:18 -07:00
Raman Sarokin
673bac75fd
Winograd36To4x4 transformation for Metal backend.
...
PiperOrigin-RevId: 302765124
Change-Id: I90f6ccb2c4235c696848444a7fe0349891b0baaa
2020-03-24 15:59:35 -07:00
Raman Sarokin
92a9e3678e
Winograd4x4To36 transformation for Metal backend.
...
PiperOrigin-RevId: 302756706
Change-Id: I7ccfad44ac68a8f006d7223af6cc40af1cdcab3d
2020-03-24 15:19:24 -07:00