ConcatTileFusionPass

Description

Concats the inputs of the Tile operators with the same Multiple to fuse the Tile operators, as shown in the following figures.

Mode 1

Mode 2

Restrictions

  • Only Tile/TileD+Concat operators are supported.
  • Concat[ConcatD/ConcatV2/ConcatV2D] and Tile/TileD support only one output.
  • concat_dim of Concat cannot be the same as the broadcast axis of Tile/TileD.
  • Concat supports only data edges. Control edges can exist only in the input of Tile nodes.
  • Only static scenarios are supported.
  • The inputs of Tile/TileD must have identical multiples and must appear consecutively among the inputs of the Concat. The number of consecutive Tile/TileD operators must be greater than two.
  • The product of the input tensor shape dimensions of Tile/TileD must be less than or equal to shape_limited_.

    shape_limited_ = vector_calculate_size x 2 x vector_core_num/data_type_size

    data_type_size indicates the data size of the output tensor of Concat[ConCatD/ConcatV2/ConcatV2D].

    To view the values of vector_calculate_size and vector_core_num, perform the following steps:

    View the platform information file in the ${INSTALL_DIR}/${arch}/data/platform_config folder and search for the keywords "vec_calc_size" or "vector_core_cnt" to obtain the values of vector_calculate_size and vector_core_num. Replace ${INSTALL_DIR} with the CANN component directory. For example, if the installation is performed by the root user, the default file storage path is /usr/local/Ascend/cann.

Availability

Atlas inference product

Atlas 200I/500 A2 inference product

Atlas training product

Atlas A2 training product/Atlas A2 inference product

Atlas A3 training product/Atlas A3 inference product