usecrate::module::Module;/// One layer of a model split by [`LayerParallelism`](super::LayerParallelism). It runs on the
/// device its placement gives it, and what it returns moves to the next layer's device.
pubtraitDistributedLayer: Module {/// What the layer takes, already on its device.
typeInput;/// What the layer returns, left on its device.
typeOutput;/// Run the layer.
fnforward(&self, input:Self::Input)->Self::Output;}