Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions caffe2/operators/quantized/int8_add_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ class Int8AddOp final : public Operator<CPUContext> {
static_cast<uint8_t>(Y_zero_point), Y_scale,
activationLimits(Y_scale, Y_zero_point, Ac).first,
activationLimits(Y_scale, Y_zero_point, Ac).second,
0 /* flags */,
&qnnpackOperator_);
CAFFE_ENFORCE(
createStatus == qnnp_status_success,
Expand Down
2 changes: 2 additions & 0 deletions caffe2/operators/quantized/int8_average_pool_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ class Int8AveragePoolOp final : public ConvPoolOpBase<CPUContext> {
Y->zero_point, Y->scale,
activationLimits(Y->scale, Y->zero_point, Ac).first,
activationLimits(Y->scale, Y->zero_point, Ac).second,
0 /* flags */,
&this->qnnpackGlobalOperator_);
CAFFE_ENFORCE(
createStatus == qnnp_status_success,
Expand Down Expand Up @@ -102,6 +103,7 @@ class Int8AveragePoolOp final : public ConvPoolOpBase<CPUContext> {
Y->zero_point, Y->scale,
activationLimits(Y->scale, Y->zero_point, Ac).first,
activationLimits(Y->scale, Y->zero_point, Ac).second,
0 /* flags */,
&this->qnnpackOperator_);
CAFFE_ENFORCE(
createStatus == qnnp_status_success,
Expand Down
1 change: 1 addition & 0 deletions caffe2/operators/quantized/int8_channel_shuffle_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ class Int8ChannelShuffleOp final : public ConvPoolOpBase<CPUContext> {
const qnnp_status createStatus = qnnp_create_channel_shuffle_nc_x8(
G /* groups */,
C / G /* group channels */,
0 /* flags */,
&this->qnnpackOperator_);
CAFFE_ENFORCE(
createStatus == qnnp_status_success,
Expand Down
1 change: 1 addition & 0 deletions caffe2/operators/quantized/int8_conv_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ class Int8ConvOp final : public ConvPoolOpBase<CPUContext> {
Y->scale,
activationLimits(Y->scale, Y->zero_point, Ac).first,
activationLimits(Y->scale, Y->zero_point, Ac).second,
0 /* flags */,
&this->qnnpackObject_);
CAFFE_ENFORCE(
createStatus == qnnp_status_success,
Expand Down
1 change: 1 addition & 0 deletions caffe2/operators/quantized/int8_conv_transpose_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ class Int8ConvTransposeOp final : public ConvTransposeUnpoolBase<CPUContext> {
Y->scale,
std::numeric_limits<uint8_t>::min(),
std::numeric_limits<uint8_t>::max(),
0 /* flags */,
&this->qnnpackObject_);
CAFFE_ENFORCE(
createStatus == qnnp_status_success,
Expand Down
4 changes: 2 additions & 2 deletions caffe2/operators/quantized/int8_fc_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ class Int8FCOp final : public Operator<CPUContext> {
Y->scale,
std::numeric_limits<uint8_t>::min(),
std::numeric_limits<uint8_t>::max(),
0 /* flags */,
&this->qnnpackObject_);
CAFFE_ENFORCE(
createStatus == qnnp_status_success,
Expand All @@ -88,8 +89,7 @@ class Int8FCOp final : public Operator<CPUContext> {
inputPtr,
K /* input stride */,
Y->t.template mutable_data<uint8_t>(),
N /* output stride */,
nullptr /* threadpool */);
N /* output stride */);
CAFFE_ENFORCE(
setupStatus == qnnp_status_success,
"failed to setup QNNPACK fully connected operator");
Expand Down
1 change: 1 addition & 0 deletions caffe2/operators/quantized/int8_leaky_relu_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ class Int8LeakyReluOp final : public Operator<CPUContext> {
static_cast<uint8_t>(Y_zero_point), Y_scale,
0 /* output min */,
255 /* output max */,
0 /* flags */,
&qnnpackOperator_);
CAFFE_ENFORCE(
createStatus == qnnp_status_success,
Expand Down
1 change: 1 addition & 0 deletions caffe2/operators/quantized/int8_max_pool_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ class Int8MaxPoolOp final : public ConvPoolOpBase<CPUContext> {
channels,
activationLimits(Y->scale, Y->zero_point, Ac).first,
activationLimits(Y->scale, Y->zero_point, Ac).second,
0 /* flags */,
&this->qnnpackOperator_);
CAFFE_ENFORCE(
createStatus == qnnp_status_success,
Expand Down
1 change: 1 addition & 0 deletions caffe2/operators/quantized/int8_relu_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ class Int8ReluOp final : public Operator<CPUContext> {
1 /* channels */,
X.zero_point /* output min */,
255 /* output max */,
0 /* flags */,
&qnnpackOperator_);
CAFFE_ENFORCE(
createStatus == qnnp_status_success,
Expand Down
1 change: 1 addition & 0 deletions caffe2/operators/quantized/int8_sigmoid_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ class Int8SigmoidOp final : public Operator<CPUContext> {
static_cast<uint8_t>(Y_zero_point), Y_scale,
0 /* output min */,
255 /* output max */,
0 /* flags */,
&qnnpackOperator_);
CAFFE_ENFORCE(
createStatus == qnnp_status_success,
Expand Down
1 change: 1 addition & 0 deletions caffe2/operators/quantized/int8_softmax_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ class Int8SoftmaxOp final : public Operator<CPUContext> {
X.t.numel() / X.t.size(0) /* channels */,
X_scale,
static_cast<uint8_t>(Y_zero_point), Y_scale,
0 /* flags */,
&qnnpackOperator_);
CAFFE_ENFORCE(
createStatus == qnnp_status_success,
Expand Down
2 changes: 1 addition & 1 deletion third_party/QNNPACK
Submodule QNNPACK updated 92 files
+94 −65 CMakeLists.txt
+1 −1 README.md
+5 −2 bench/add.cc
+156 −0 bench/average-pooling.cc
+11 −10 bench/channel-shuffle.cc
+86 −196 bench/convolution.cc
+92 −0 bench/global-average-pooling.cc
+148 −0 bench/max-pooling.cc
+92 −0 bench/sigmoid.cc
+95 −0 bench/softargmax.cc
+44 −38 configure.py
+13 −2 include/qnnpack.h
+43 −42 jni/Android.mk
+1 −0 src/add.c
+9 −37 src/average-pooling.c
+1 −0 src/channel-shuffle.c
+1 −0 src/clamp.c
+7 −78 src/convolution.c
+3 −29 src/deconvolution.c
+2 −2 src/fully-connected.c
+1 −0 src/global-average-pooling.c
+231 −0 src/indirection.c
+26 −29 src/init.c
+1 −0 src/leaky-relu.c
+7 −21 src/max-pooling.c
+17 −17 src/operator-run.c
+2 −2 src/q8dwconv/mp8x25-neon.c
+2 −2 src/q8dwconv/mp8x25-sse2.c
+3 −3 src/q8dwconv/up8x9-aarch32-neon.S
+2 −2 src/q8dwconv/up8x9-neon.c
+2 −2 src/q8dwconv/up8x9-sse2.c
+1 −1 src/q8gavgpool/mp8x7p7q-neon.c
+1 −1 src/q8gavgpool/mp8x7p7q-sse2.c
+3 −2 src/q8vadd/neon.c
+2 −2 src/q8vadd/sse2.c
+1 −0 src/qnnpack/assembly.h
+45 −0 src/qnnpack/indirection.h
+25 −0 src/qnnpack/isa-checks.h
+11 −15 src/qnnpack/params.h
+8 −8 src/qnnpack/q8dwconv.h
+2 −2 src/qnnpack/q8gavgpool.h
+3 −3 src/qnnpack/q8vadd.h
+1 −0 src/sigmoid.c
+1 −0 src/softargmax.c
+4 −4 test/add-operator-tester.h
+30 −32 test/add.cc
+5 −7 test/average-pooling-operator-tester.h
+2 −2 test/average-pooling.cc
+5 −5 test/avgpool-microkernel-tester.h
+4 −4 test/channel-shuffle-operator-tester.h
+20 −22 test/channel-shuffle.cc
+2 −13 test/clamp-microkernel-tester.h
+3 −3 test/clamp-operator-tester.h
+0 −2 test/clamp.cc
+38 −37 test/convolution-operator-tester.h
+146 −146 test/convolution.cc
+40 −39 test/deconvolution-operator-tester.h
+67 −67 test/deconvolution.cc
+41 −44 test/dwconv-microkernel-tester.h
+12 −13 test/fully-connected-operator-tester.h
+31 −33 test/fully-connected.cc
+5 −5 test/gavgpool-microkernel-tester.h
+26 −36 test/gemm-microkernel-tester.h
+1 −1 test/global-average-pooling-operator-tester.h
+56 −42 test/hgemm.cc
+4 −3 test/leaky-relu-operator-tester.h
+0 −2 test/leaky-relu.cc
+2 −2 test/lut-microkernel-tester.h
+2 −2 test/lut-norm-microkernel-tester.h
+4 −7 test/max-pooling-operator-tester.h
+2 −3 test/maxpool-microkernel-tester.h
+1,551 −1,448 test/q8avgpool.cc
+271 −214 test/q8conv.cc
+1,222 −0 test/q8dwconv.cc
+894 −797 test/q8gavgpool.cc
+669 −516 test/q8gemm.cc
+0 −454 test/q8mpdw.cc
+0 −712 test/q8updw.cc
+0 −335 test/q8uvadd.cc
+356 −0 test/q8vadd.cc
+2 −2 test/rmax-microkernel-tester.h
+353 −326 test/sgemm.cc
+4 −3 test/sigmoid-operator-tester.h
+7 −6 test/softargmax-operator-tester.h
+111 −106 test/u8clamp.cc
+2 −1 test/u8lut32norm.cc
+1,646 −1,547 test/u8maxpool.cc
+56 −46 test/u8rmax.cc
+17 −33 test/vadd-microkernel-tester.h
+2 −1 test/x8lut.cc
+202 −154 test/x8zip.cc
+0 −1 test/zip-microkernel-tester.h