  Quantum computing is currently moving from an academic idea to a practical
reality. Quantum computing in the cloud is already available and allows users
from all over the world to develop and execute real quantum algorithms.
However, companies which are heavily investing in this new technology such as
Google, IBM, Rigetti, Intel, IonQ, and Xanadu follow diverse technological
approaches. This led to a situation where we have substantially different
quantum computing devices available thus far. They mostly differ in the number
and kind of qubits and the connectivity between them. Because of that, various
methods for realizing the intended quantum functionality on a given quantum
computing device are available. This paper provides an introduction and
overview into this domain and describes corresponding methods, also referred to
as compilers, mappers, synthesizers, transpilers, or routers.
