proofread, fix dead link, standardize NVIDIA capitalization
authorEvan Shelhamer <shelhamer@imaginarynumber.net>
Thu, 3 Apr 2014 01:12:41 +0000 (18:12 -0700)
committerEvan Shelhamer <shelhamer@imaginarynumber.net>
Thu, 3 Apr 2014 01:12:41 +0000 (18:12 -0700)
Thanks NVIDIA for the GPUs!

docs/index.md
docs/performance_hardware.md

index a817292..baa512f 100644 (file)
@@ -16,7 +16,7 @@ Caffe aims to provide computer vision scientists and practitioners with a **clea
 For example, network structure is easily specified in separate config files, with no mess of hard-coded parameters in the code.
 
 At the same time, Caffe fits industry needs, with blazing fast C++/CUDA code for GPU computation.
-Caffe is currently the fastest GPU CNN implementation publicly available, and is able to process more than **40 million images per day** with a single K40 or Titan NVidia Card (20 million images per day on a single Tesla K20 NVidia Card)\*. Currently, caffe can process 192 images per second during training and 500 images per second during test (using K40 or Titan) (see [Performance, Hardware tips](/perfomance_hardware.html))\*.
+Caffe is currently the fastest GPU CNN implementation publicly available, and is able to process more than **40 million images per day** with a single NVIDIA K40 or Titan GPU (or 20 million images per day on a K20 GPU)\*. That's 192 images per second during training and 500 images per second during test.
 
 Caffe also provides **seamless switching between CPU and GPU**, which allows one to train models with fast GPUs and then deploy them on non-GPU clusters with one line of code: `Caffe::set_mode(Caffe::CPU)`.
 Even in CPU mode, computing predictions on an image takes only 20 ms when images are processed in batch mode. While in GPU mode, computing predictions on an image takes only 2 ms when images are processed in batch mode.
@@ -54,7 +54,7 @@ Please kindly cite Caffe in your publications if it helps your research:
 
 ### Acknowledgements
 
-Yangqing would like to thank the NVidia Academic program for providing K20 GPUs, and [Oriol Vinyals](http://www1.icsi.berkeley.edu/~vinyals/) for various discussions along the journey.
+Yangqing would like to thank the NVIDIA Academic program for providing K20 GPUs, and [Oriol Vinyals](http://www1.icsi.berkeley.edu/~vinyals/) for various discussions along the journey.
 
 A core set of BVLC members have contributed lots of new functionality and fixes since the original release (alphabetical by first name):
 
@@ -73,4 +73,4 @@ If you'd like to contribute, read [this](development.html).
 
 ---
 
-\*: When measured with the [SuperVision](http://www.image-net.org/challenges/LSVRC/2012/supervision.pdf) model that won the ImageNet Large Scale Visual Recognition Challenge 2012.
+\*: When measured with the [SuperVision](http://www.image-net.org/challenges/LSVRC/2012/supervision.pdf) model that won the ImageNet Large Scale Visual Recognition Challenge 2012. See [performance and hardware configuration details](/performance_hardware.html).
index 2f513d7..91b6825 100644 (file)
@@ -3,40 +3,56 @@ layout: default
 title: Caffe
 ---
 
-# Performance, Hardware tips
+# Performance and Hardware Configuration
 
-To measure the performance of different Nvidia cards we use the reference imagenet model provided in Caffe.
+To measure performance on different NVIDIA GPUs we use the Caffe reference ImageNet model.
 
-## K40 Nvidia \*
-### With ECC on
+For training, each time point is 20 iterations/minibatches of 256 images for 5,120 images total. For testing, a 50,000 image validation set is classified.
 
-K40 ecc on max speed 26.7 secs / 20 training iterations (256*20 images), 101 secs / validation test (50000 images)
-K40 ecc on default speed 31 secs / 20 training iterations (256*20 images), 117 secs / validation test (50000 images)
+**Acknowledgements**: BVLC members are very grateful to NVIDIA for providing several GPUs to conduct this research.
 
-### With ECC off
+## NVIDIA K40
 
-K40 ecc off max speed 26.5 secs / 20 training iterations (256*20 images), 100 secs / validation test (50000 images)
-K40 ecc off default speed 31 secs / 20 training iterations (256*20 images), 118 secs / validation test (50000 images)
+Performance is best with ECC off and boost clock enabled. While ECC makes a negligible difference in speed, disabling it frees ~1 GB of GPU memory.
 
-### K40 Performance tip
+Best settings with ECC off and maximum clock speed:
 
-To get the maximum performance of K40 NVidia one can adjust clock speed and dissable ecc (at your own risk).
+* Training is 26.5 secs / 20 iterations (5,120 images)
+* Testing is 100 secs / validation set (50,000 images)
 
-To turn off ECC and reboot
-       sudo nvidia-smi -e 0
-Active permance flag
-       sudo nvidia-smi -pm 1
-and then set clocks speed
-       sudo nvidia-smi -i 0 -ac 3004,875 
+Other settings:
 
+* ECC on, max speed: training 26.7 secs / 20 iterations, test 101 secs / validation set
+* ECC on, default speed: training 31 secs / 20 iterations, test 117 secs / validation set
+* ECC off, default speed: training 31 secs / 20 iterations, test 118 secs / validation set
 
-## Titan Nvidia \*
+### K40 configuration tips
 
-Titan 26.26 secs / 20 training iterations (256*20 images), 100 secs / validation test (50000 images)
+For maximum K40 performance, turn off ECC and boost the clock speed (at your own risk).
 
-## K20 Nvidia \*
+To turn off ECC, do
 
-Titan 36.0 secs / 20 training iterations (256*20 images), 133 secs / validation test (50000 images)
+    sudo nvidia-smi -i 0 --ecc-config=0    # repeat with -i x for each GPU ID
 
-\* BVLC members are very gratefull to Nvidia for providing several GPU cards for conducting this research.
\ No newline at end of file
+then reboot.
+
+Set the "persistence" mode of the GPU settings by
+
+    sudo nvidia-smi -pm 1
+
+and then set the clock speed with
+
+    sudo nvidia-smi -i 0 -ac 3004,875    # repeat with -i x for each GPU ID
+
+but note that this configuration resets across driver reloading / rebooting. Include these commands in a boot script to intialize these settings.
+
+
+## NVIDIA Titan
+
+Training: 26.26 secs / 20 iterations (5,120 images).
+Testing: 100 secs / validation set (50,000 images).
+
+## NVIDIA K20
+
+Training: 36.0 secs / 20 iterations (5,120 images).
+Testing: 133 secs / validation set (50,000 images)