A system comprising: one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: receiving data representing operations to be executed in order to perform a job on a plurality of hardware accelerators of a plurality of different accelerator types, wherein the data representing the operations specifies a computational graph representing the operations; generating , for the job and from the computational graph representing the operations, an embedding representing features of the computational graph, wherein generating comprises processing the computational graph as an input using a machine learning model that has been trained to generate embeddings in an embedding space from the computational graph such that positions of each embedding in the embedding space reflect a respective performance metric of the computational graph on each of the plurality of different accelerator types according to a performance objective function, and wherein embeddings close to each other in the embedding space correspond to computational graphs that perform similarly according to the performance objective function; generating , from the embedding, a respective predicted performance metric for the job for each of the plurality of different accelerator types according to the performance objective function; and providing , to a scheduling system, one or more recommendations determined based on the respective predicted performance metrics for scheduling the job on one or more recommended types of hardware accelerators, wherein the scheduling system is configured to schedule the job for execution (i) by one or more of the plurality of hardware accelerators and (ii) based on the one or more recommendations . receiving data representing operations to be executed in order to perform a job on a plurality of hardware accelerators of a plurality of different accelerator types, wherein the data representing the operations specifies a computational graph representing the operations; generating , for the job and from the computational graph representing the operations, an embedding representing features of the computational graph, wherein generating comprises processing the computational graph as an input using a machine learning model that has been trained to generate embeddings in an embedding space from the computational graph such that positions of each embedding in the embedding space reflect a respective performance metric of the computational graph on each of the plurality of different accelerator types according to a performance objective function, and wherein embeddings close to each other in the embedding space correspond to computational graphs that perform similarly according to the performance objective function; generating , from the embedding, a respective predicted performance metric for the job for each of the plurality of different accelerator types according to the performance objective function; and providing , to a scheduling system, one or more recommendations determined based on the respective predicted performance metrics for scheduling the job on one or more recommended types of hardware accelerators, wherein the scheduling system is configured to schedule the job for execution (i) by one or more of the plurality of hardware accelerators and (ii) based on the one or more recommendations . <EOS>