  The strong demand for efficient and performant deployment of Deep Learning
(DL) applications prompts the rapid development of a rich DL ecosystem. To keep
up with this fast advancement, it is crucial for modern DL frameworks to
efficiently integrate a variety of optimized tensor algebra libraries and
runtimes as their backends and generate the fastest possible executable using
these backends. However, current DL frameworks require significant manual
effort and expertise to integrate every new backend while failing to unleash
its full potential. Given the fast-evolving nature of the DL ecosystem, this
manual approach often slows down continuous innovations across different
layers; it prevents hardware vendors from the fast deployment of their
cutting-edge libraries, DL framework developers must repeatedly adjust their
hand-coded rules to accommodate new versions of libraries, and machine learning
practitioners need to wait for the integration of new technologies and often
encounter unsatisfactory performance.
  In this paper, we propose Collage, a DL framework that offers seamless
integration of DL backends. Collage provides an expressive backend registration
interface that allows users to precisely specify the capability of various
backends. By leveraging the specifications of available backends, Collage
automatically searches for an optimized backend placement strategy for a given
workload and execution environment. Our evaluation shows that Collage
outperforms the best existing framework for each hardware by $1.26\times$,
$1.43\times$, $1.40\times$ on average on NVIDIA's RTX 2070 GPU, V100 GPU, and
Intel's Xeon 8259CL CPU, respectively. Collage has been open-sourced and
deployed in Apache TVM.
