A VM in Gorgonia is object that understands the exprgraph and has implemented the ability to do computation with it.

Techically speaking it is an interface{} with three methods:

type VM interface {
    RunAll() error

    // Close closes all the machine resources (CUDA, if any, loggers if any)
    Close() error

There different VMs in the current version of Gorgonia:

They function differently and take different inputs.