arm_compute v17.12
diff --git a/documentation/search/classes_7.js b/documentation/search/classes_7.js
index f13ef7c..0d4c4a2 100644
--- a/documentation/search/classes_7.js
+++ b/documentation/search/classes_7.js
@@ -2,13 +2,70 @@
 [
   ['gaussian3x3validationfixture',['Gaussian3x3ValidationFixture',['../classarm__compute_1_1test_1_1validation_1_1_gaussian3x3_validation_fixture.xhtml',1,'arm_compute::test::validation']]],
   ['gaussian5x5validationfixture',['Gaussian5x5ValidationFixture',['../classarm__compute_1_1test_1_1validation_1_1_gaussian5x5_validation_fixture.xhtml',1,'arm_compute::test::validation']]],
+  ['gaussianpyramidhalfvalidationfixture',['GaussianPyramidHalfValidationFixture',['../classarm__compute_1_1test_1_1validation_1_1_gaussian_pyramid_half_validation_fixture.xhtml',1,'arm_compute::test::validation']]],
+  ['gcabsolutedifference',['GCAbsoluteDifference',['../classarm__compute_1_1_g_c_absolute_difference.xhtml',1,'arm_compute']]],
+  ['gcabsolutedifferencekernel',['GCAbsoluteDifferenceKernel',['../classarm__compute_1_1_g_c_absolute_difference_kernel.xhtml',1,'arm_compute']]],
+  ['gcaccessor',['GCAccessor',['../classarm__compute_1_1test_1_1_g_c_accessor.xhtml',1,'arm_compute::test']]],
+  ['gcactivationlayer',['GCActivationLayer',['../classarm__compute_1_1_g_c_activation_layer.xhtml',1,'arm_compute']]],
+  ['gcactivationlayerkernel',['GCActivationLayerKernel',['../classarm__compute_1_1_g_c_activation_layer_kernel.xhtml',1,'arm_compute']]],
+  ['gcbatchnormalizationlayer',['GCBatchNormalizationLayer',['../classarm__compute_1_1_g_c_batch_normalization_layer.xhtml',1,'arm_compute']]],
+  ['gcbatchnormalizationlayerkernel',['GCBatchNormalizationLayerKernel',['../classarm__compute_1_1_g_c_batch_normalization_layer_kernel.xhtml',1,'arm_compute']]],
+  ['gccol2imkernel',['GCCol2ImKernel',['../classarm__compute_1_1_g_c_col2_im_kernel.xhtml',1,'arm_compute']]],
+  ['gcdepthconcatenatelayer',['GCDepthConcatenateLayer',['../classarm__compute_1_1_g_c_depth_concatenate_layer.xhtml',1,'arm_compute']]],
+  ['gcdepthconcatenatelayerkernel',['GCDepthConcatenateLayerKernel',['../classarm__compute_1_1_g_c_depth_concatenate_layer_kernel.xhtml',1,'arm_compute']]],
+  ['gcdirectconvolutionlayer',['GCDirectConvolutionLayer',['../classarm__compute_1_1_g_c_direct_convolution_layer.xhtml',1,'arm_compute']]],
+  ['gcdirectconvolutionlayerkernel',['GCDirectConvolutionLayerKernel',['../classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml',1,'arm_compute']]],
+  ['gcdropoutlayer',['GCDropoutLayer',['../classarm__compute_1_1_g_c_dropout_layer.xhtml',1,'arm_compute']]],
+  ['gcdropoutlayerkernel',['GCDropoutLayerKernel',['../classarm__compute_1_1_g_c_dropout_layer_kernel.xhtml',1,'arm_compute']]],
+  ['gcfillborder',['GCFillBorder',['../classarm__compute_1_1_g_c_fill_border.xhtml',1,'arm_compute']]],
+  ['gcfillborderkernel',['GCFillBorderKernel',['../classarm__compute_1_1_g_c_fill_border_kernel.xhtml',1,'arm_compute']]],
+  ['gcfullyconnectedlayer',['GCFullyConnectedLayer',['../classarm__compute_1_1_g_c_fully_connected_layer.xhtml',1,'arm_compute']]],
+  ['gcfullyconnectedlayerreshapeweights',['GCFullyConnectedLayerReshapeWeights',['../classarm__compute_1_1_g_c_fully_connected_layer_reshape_weights.xhtml',1,'arm_compute']]],
+  ['gcgemm',['GCGEMM',['../classarm__compute_1_1_g_c_g_e_m_m.xhtml',1,'arm_compute']]],
+  ['gcgemminterleave4x4',['GCGEMMInterleave4x4',['../classarm__compute_1_1_g_c_g_e_m_m_interleave4x4.xhtml',1,'arm_compute']]],
+  ['gcgemminterleave4x4kernel',['GCGEMMInterleave4x4Kernel',['../classarm__compute_1_1_g_c_g_e_m_m_interleave4x4_kernel.xhtml',1,'arm_compute']]],
+  ['gcgemmmatrixaccumulatebiaseskernel',['GCGEMMMatrixAccumulateBiasesKernel',['../classarm__compute_1_1_g_c_g_e_m_m_matrix_accumulate_biases_kernel.xhtml',1,'arm_compute']]],
+  ['gcgemmmatrixadditionkernel',['GCGEMMMatrixAdditionKernel',['../classarm__compute_1_1_g_c_g_e_m_m_matrix_addition_kernel.xhtml',1,'arm_compute']]],
+  ['gcgemmmatrixmultiplykernel',['GCGEMMMatrixMultiplyKernel',['../classarm__compute_1_1_g_c_g_e_m_m_matrix_multiply_kernel.xhtml',1,'arm_compute']]],
+  ['gcgemmtranspose1xw',['GCGEMMTranspose1xW',['../classarm__compute_1_1_g_c_g_e_m_m_transpose1x_w.xhtml',1,'arm_compute']]],
+  ['gcgemmtranspose1xwkernel',['GCGEMMTranspose1xWKernel',['../classarm__compute_1_1_g_c_g_e_m_m_transpose1x_w_kernel.xhtml',1,'arm_compute']]],
+  ['gcim2colkernel',['GCIm2ColKernel',['../classarm__compute_1_1_g_c_im2_col_kernel.xhtml',1,'arm_compute']]],
+  ['gckernel',['GCKernel',['../classarm__compute_1_1_g_c_kernel.xhtml',1,'arm_compute']]],
+  ['gckernellibrary',['GCKernelLibrary',['../classarm__compute_1_1_g_c_kernel_library.xhtml',1,'arm_compute']]],
+  ['gclogits1dmaxkernel',['GCLogits1DMaxKernel',['../classarm__compute_1_1_g_c_logits1_d_max_kernel.xhtml',1,'arm_compute']]],
+  ['gclogits1dnormkernel',['GCLogits1DNormKernel',['../classarm__compute_1_1_g_c_logits1_d_norm_kernel.xhtml',1,'arm_compute']]],
+  ['gclogits1dshiftexpsumkernel',['GCLogits1DShiftExpSumKernel',['../classarm__compute_1_1_g_c_logits1_d_shift_exp_sum_kernel.xhtml',1,'arm_compute']]],
+  ['gcnormalizationlayer',['GCNormalizationLayer',['../classarm__compute_1_1_g_c_normalization_layer.xhtml',1,'arm_compute']]],
+  ['gcnormalizationlayerkernel',['GCNormalizationLayerKernel',['../classarm__compute_1_1_g_c_normalization_layer_kernel.xhtml',1,'arm_compute']]],
+  ['gcpixelwisemultiplication',['GCPixelWiseMultiplication',['../classarm__compute_1_1_g_c_pixel_wise_multiplication.xhtml',1,'arm_compute']]],
+  ['gcpixelwisemultiplicationkernel',['GCPixelWiseMultiplicationKernel',['../classarm__compute_1_1_g_c_pixel_wise_multiplication_kernel.xhtml',1,'arm_compute']]],
+  ['gcpoolinglayer',['GCPoolingLayer',['../classarm__compute_1_1_g_c_pooling_layer.xhtml',1,'arm_compute']]],
+  ['gcpoolinglayerkernel',['GCPoolingLayerKernel',['../classarm__compute_1_1_g_c_pooling_layer_kernel.xhtml',1,'arm_compute']]],
+  ['gcprogram',['GCProgram',['../classarm__compute_1_1_g_c_program.xhtml',1,'arm_compute']]],
+  ['gcscheduler',['GCScheduler',['../classarm__compute_1_1_g_c_scheduler.xhtml',1,'arm_compute']]],
+  ['gcsoftmaxlayer',['GCSoftmaxLayer',['../classarm__compute_1_1_g_c_softmax_layer.xhtml',1,'arm_compute']]],
+  ['gctensor',['GCTensor',['../classarm__compute_1_1_g_c_tensor.xhtml',1,'arm_compute']]],
+  ['gctensorallocator',['GCTensorAllocator',['../classarm__compute_1_1_g_c_tensor_allocator.xhtml',1,'arm_compute']]],
+  ['gctranspose',['GCTranspose',['../classarm__compute_1_1_g_c_transpose.xhtml',1,'arm_compute']]],
+  ['gctransposekernel',['GCTransposeKernel',['../classarm__compute_1_1_g_c_transpose_kernel.xhtml',1,'arm_compute']]],
   ['gemmcommon',['GemmCommon',['../class_gemm_common.xhtml',1,'']]],
   ['gemmdataset',['GEMMDataset',['../classarm__compute_1_1test_1_1datasets_1_1_g_e_m_m_dataset.xhtml',1,'arm_compute::test::datasets']]],
   ['gemmfixture',['GEMMFixture',['../classarm__compute_1_1test_1_1_g_e_m_m_fixture.xhtml',1,'arm_compute::test']]],
+  ['gemminfo',['GEMMInfo',['../classarm__compute_1_1_g_e_m_m_info.xhtml',1,'arm_compute']]],
+  ['gemminterleave4x4validationfixedpointfixture',['GEMMInterleave4x4ValidationFixedPointFixture',['../classarm__compute_1_1test_1_1validation_1_1_g_e_m_m_interleave4x4_validation_fixed_point_fixture.xhtml',1,'arm_compute::test::validation']]],
+  ['gemminterleave4x4validationfixture',['GEMMInterleave4x4ValidationFixture',['../classarm__compute_1_1test_1_1validation_1_1_g_e_m_m_interleave4x4_validation_fixture.xhtml',1,'arm_compute::test::validation']]],
+  ['gemminterleaveblockedvalidationfixture',['GEMMInterleaveBlockedValidationFixture',['../classarm__compute_1_1test_1_1validation_1_1_g_e_m_m_interleave_blocked_validation_fixture.xhtml',1,'arm_compute::test::validation']]],
   ['gemminterleaved',['GemmInterleaved',['../class_gemm_interleaved.xhtml',1,'']]],
-  ['gemmlowpoffsetvalidationfixture',['GEMMLowpOffsetValidationFixture',['../classarm__compute_1_1test_1_1validation_1_1_g_e_m_m_lowp_offset_validation_fixture.xhtml',1,'arm_compute::test::validation']]],
+  ['gemmlowpassemblyfixture',['GEMMLowpAssemblyFixture',['../classarm__compute_1_1test_1_1validation_1_1_g_e_m_m_lowp_assembly_fixture.xhtml',1,'arm_compute::test::validation']]],
+  ['gemmlowpdataset',['GEMMLowpDataset',['../classarm__compute_1_1test_1_1datasets_1_1_g_e_m_m_lowp_dataset.xhtml',1,'arm_compute::test::datasets']]],
+  ['gemmlowpmatrixmultiplycorefixture',['GEMMLowpMatrixMultiplyCoreFixture',['../classarm__compute_1_1test_1_1_g_e_m_m_lowp_matrix_multiply_core_fixture.xhtml',1,'arm_compute::test']]],
+  ['gemmlowpmatrixmultiplycorevalidationfixture',['GEMMLowpMatrixMultiplyCoreValidationFixture',['../classarm__compute_1_1test_1_1validation_1_1_g_e_m_m_lowp_matrix_multiply_core_validation_fixture.xhtml',1,'arm_compute::test::validation']]],
+  ['gemmlowpquantizedownint32touint8scalebyfixedpointvalidationfixture',['GEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointValidationFixture',['../classarm__compute_1_1test_1_1validation_1_1_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_validation_fixture.xhtml',1,'arm_compute::test::validation']]],
+  ['gemmlowpquantizedownint32touint8scalevalidationfixture',['GEMMLowpQuantizeDownInt32ToUint8ScaleValidationFixture',['../classarm__compute_1_1test_1_1validation_1_1_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_validation_fixture.xhtml',1,'arm_compute::test::validation']]],
   ['gemmvalidationfixedpointfixture',['GEMMValidationFixedPointFixture',['../classarm__compute_1_1test_1_1validation_1_1_g_e_m_m_validation_fixed_point_fixture.xhtml',1,'arm_compute::test::validation']]],
   ['gemmvalidationfixture',['GEMMValidationFixture',['../classarm__compute_1_1test_1_1validation_1_1_g_e_m_m_validation_fixture.xhtml',1,'arm_compute::test::validation']]],
+  ['get_5ftensor_5finfo_5ft',['get_tensor_info_t',['../structarm__compute_1_1detail_1_1get__tensor__info__t.xhtml',1,'arm_compute::detail']]],
+  ['get_5ftensor_5finfo_5ft_3c_20itensorinfo_20_2a_20_3e',['get_tensor_info_t< ITensorInfo * >',['../structarm__compute_1_1detail_1_1get__tensor__info__t_3_01_i_tensor_info_01_5_01_4.xhtml',1,'arm_compute::detail']]],
   ['globalpoolinglayervalidationfixture',['GlobalPoolingLayerValidationFixture',['../classarm__compute_1_1test_1_1validation_1_1_global_pooling_layer_validation_fixture.xhtml',1,'arm_compute::test::validation']]],
   ['globalpoolingshapes',['GlobalPoolingShapes',['../classarm__compute_1_1test_1_1datasets_1_1_global_pooling_shapes.xhtml',1,'arm_compute::test::datasets']]],
   ['googlenetgemmdataset',['GoogleNetGEMMDataset',['../classarm__compute_1_1test_1_1datasets_1_1_google_net_g_e_m_m_dataset.xhtml',1,'arm_compute::test::datasets']]],
@@ -19,14 +76,17 @@
   ['googlenetinceptionv1gemmdataset',['GoogLeNetInceptionV1GEMMDataset',['../classarm__compute_1_1test_1_1datasets_1_1_goog_le_net_inception_v1_g_e_m_m_dataset.xhtml',1,'arm_compute::test::datasets']]],
   ['googlenetinceptionv1normalizationlayerdataset',['GoogLeNetInceptionV1NormalizationLayerDataset',['../classarm__compute_1_1test_1_1datasets_1_1_goog_le_net_inception_v1_normalization_layer_dataset.xhtml',1,'arm_compute::test::datasets']]],
   ['googlenetinceptionv1poolinglayerdataset',['GoogLeNetInceptionV1PoolingLayerDataset',['../classarm__compute_1_1test_1_1datasets_1_1_goog_le_net_inception_v1_pooling_layer_dataset.xhtml',1,'arm_compute::test::datasets']]],
+  ['googlenetinceptionv1winogradlayerdataset',['GoogLeNetInceptionV1WinogradLayerDataset',['../classarm__compute_1_1test_1_1datasets_1_1_goog_le_net_inception_v1_winograd_layer_dataset.xhtml',1,'arm_compute::test::datasets']]],
   ['googlenetinceptionv4activationlayerdataset',['GoogLeNetInceptionV4ActivationLayerDataset',['../classarm__compute_1_1test_1_1datasets_1_1_goog_le_net_inception_v4_activation_layer_dataset.xhtml',1,'arm_compute::test::datasets']]],
   ['googlenetinceptionv4batchnormalizationlayerdataset',['GoogLeNetInceptionV4BatchNormalizationLayerDataset',['../classarm__compute_1_1test_1_1datasets_1_1_goog_le_net_inception_v4_batch_normalization_layer_dataset.xhtml',1,'arm_compute::test::datasets']]],
   ['googlenetinceptionv4convolutionlayerdataset',['GoogLeNetInceptionV4ConvolutionLayerDataset',['../classarm__compute_1_1test_1_1datasets_1_1_goog_le_net_inception_v4_convolution_layer_dataset.xhtml',1,'arm_compute::test::datasets']]],
   ['googlenetinceptionv4directconvolutionlayerdataset',['GoogLeNetInceptionV4DirectConvolutionLayerDataset',['../classarm__compute_1_1test_1_1datasets_1_1_goog_le_net_inception_v4_direct_convolution_layer_dataset.xhtml',1,'arm_compute::test::datasets']]],
   ['googlenetinceptionv4fullyconnectedlayerdataset',['GoogLeNetInceptionV4FullyConnectedLayerDataset',['../classarm__compute_1_1test_1_1datasets_1_1_goog_le_net_inception_v4_fully_connected_layer_dataset.xhtml',1,'arm_compute::test::datasets']]],
   ['googlenetinceptionv4poolinglayerdataset',['GoogLeNetInceptionV4PoolingLayerDataset',['../classarm__compute_1_1test_1_1datasets_1_1_goog_le_net_inception_v4_pooling_layer_dataset.xhtml',1,'arm_compute::test::datasets']]],
+  ['googlenetinceptionv4winogradlayerdataset',['GoogLeNetInceptionV4WinogradLayerDataset',['../classarm__compute_1_1test_1_1datasets_1_1_goog_le_net_inception_v4_winograd_layer_dataset.xhtml',1,'arm_compute::test::datasets']]],
   ['gpu_5fprops',['gpu_props',['../structmali__userspace_1_1gpu__props.xhtml',1,'mali_userspace']]],
   ['gpu_5fraw_5fgpu_5fprops',['gpu_raw_gpu_props',['../structmali__userspace_1_1gpu__raw__gpu__props.xhtml',1,'mali_userspace']]],
+  ['gradientdimensions',['GradientDimensions',['../classarm__compute_1_1test_1_1datasets_1_1_gradient_dimensions.xhtml',1,'arm_compute::test::datasets']]],
   ['graph',['Graph',['../classarm__compute_1_1graph_1_1_graph.xhtml',1,'arm_compute::graph']]],
   ['graphcontext',['GraphContext',['../classarm__compute_1_1graph_1_1_graph_context.xhtml',1,'arm_compute::graph']]],
   ['graphhints',['GraphHints',['../classarm__compute_1_1graph_1_1_graph_hints.xhtml',1,'arm_compute::graph']]]