About backends

What’s a backend?

In the nGraph Compiler stack, what we call a backend is responsible for function execution and value allocation. A backend can be used to carry out a programmed computation from a framework on a CPU or GPU; or it can be used with an Interpreter mode, which is primarily intended for testing, to analyze a program, or to help a framework developer customize targeted solutions. Experimental APIs to support current and future nGraph Backends are also available; see, for example, the section on the PlaidML Backend.

Backend Current nGraph support Future nGraph support
Intel® Architecture Processors (CPUs) Yes Yes
Intel® Nervana™ Neural Network Processor™ (NNPs) Yes Yes
NVIDIA* CUDA (GPUs) Yes Some
AMD* GPUs Yes Some

Hybrid Transformer

More detail coming soon

CPU Backend

More detail coming soon

GPU Backend

More detail coming soon

PlaidML Backend

The nGraph ecosystem has recently added initial (experimental) support for PlaidML, which is an advanced Machine Learning library that can further accelerate training models built on GPUs. When you select the PlaidML option as a backend, it behaves as an advanced tensor compiler that can further speed up training with large data sets.