From dd3e064db4a1ffd3ecf1739142763ae505fee779 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Fri, 7 Aug 2015 13:56:49 -0700 Subject: [PATCH] [docs] add multi-gpu usage note to interfaces --- docs/tutorial/interfaces.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/tutorial/interfaces.md b/docs/tutorial/interfaces.md index 40602948cc3..9006179d0f1 100644 --- a/docs/tutorial/interfaces.md +++ b/docs/tutorial/interfaces.md @@ -50,6 +50,13 @@ For a full example of fine-tuning, see examples/finetuning_on_flickr_style, but # query the first device caffe device_query -gpu 0 +**Parallelism**: the `-gpu` flag to the `caffe` tool can take a comma separated list of IDs to run on multiple GPUs. A solver and net will be instantiated for each GPU so the batch size is effectively multiplied by the number of GPUs. To reproduce single GPU training, reduce the batch size in the network definition accordingly. + + # train on GPUs 0 & 1 (doubling the batch size) + caffe train -solver examples/mnist/lenet_solver.prototxt -gpu 0,1 + # train on all GPUs (multiplying batch size by number of devices) + caffe train -solver examples/mnist/lenet_solver.prototxt -gpu all + ## Python The Python interface -- pycaffe -- is the `caffe` module and its scripts in caffe/python. `import caffe` to load models, do forward and backward, handle IO, visualize networks, and even instrument model solving. All model data, derivatives, and parameters are exposed for reading and writing.