Creates a noiseless virtual engine object from a device specification proto.

The device specification protocol buffer specifies qubits and gates on the device and can be retrieved from a stored "proto.txt" file or from the QCS API.

processor_ids names of the processors to simulate. These are arbitrary string identifiers and do not have to match the processors' names in QCS. This can be a single string or list of strings.
device_specifications v2.device_pb2.DeviceSpecification proto to create validating devices from. This can be a single DeviceSpecification or a list of them. There should be one DeviceSpecification for each processor_id.
gate_sets Iterable of serializers to use in the processor.

ValueError if processor_ids and device_specifications are not the same length.