GPU Boost on NVIDIA’s Tesla K40 GPU
2016-09-26 23:26
513 查看
What is GPU Boost?
GPU Boost is a new user controllable feature to change the processor clock speed on the Tesla K40 GPU. NVIDIA is currently supporting 4 selectable Stream Processor clock speeds and two selectable Memory Clock Speeds on the K40. The base clock for theStream Processors is 745MHz and the three selectable options are 666 MHz, 810 MHz and 875MHz (finally, a manufacturer not afraid of superstition!). The base Memory Clock frequencies are 3004MHz (default) and 324MHz (idle). Only the effects of tuning the Stream
Processor clock are discussed as there is no application performance increase that results from adjusting the Memory Clock. This blog shows the impact of GPU Boost on a seismic imaging application (Reverse Time Migration) and an electromagnetic solver (Finite-difference
time-domain).
GPU Boost is useful as not all applications have the same power profile. The K40 has a maximum 235W power capacity. For example, an application that runs at an average power consumption of 180W at the base frequency will have a 55W power headroom. By increasing
the clock frequency, the application theoretically can take advantage of the full 235W capacity.
Enabling GPU Boost
GPU Boost is controlled using NVIDIA’s System Management Interface utility (nvidia-smi) with the following commands:
Command | Explanation |
---|---|
nvidia-smi –q –d SUPPORTED_CLOCKS | Show Supported Clock Frequencies |
nvidia-smi –ac | Set the Memory and Graphics Clock Frequency |
nvidia-smi –q –d CLOCK | Shows current mode |
nvidia-smi –rac | Resets all clocks |
nvidia-smi –acp 0 | Allows non-root to change clocks |
nvidia-smiquery to find the supported clock frequencies gives the following output:
[srahim@corsair3 ~]$ nvidia-smi -q -d SUPPORTED_CLOCKS
==============NVSMI LOG==============
Timestamp : Mon Mar 10 17:38:22 2014
Driver Version : 331.20
Attached GPUs : 2
GPU 0000:05:00.0
Supported Clocks
Memory : 3004 MHz
Graphics : 875 MHz
Graphics : 810 MHz
Graphics : 745 MHz
Graphics : 666 MHz
Memory : 324 MHz
Graphics : 324 MHz
GPU 0000:42:00.0
Supported Clocks
Memory : 3004 MHz
Graphics : 875 MHz
Graphics : 810 MHz
Graphics : 745 MHz
Graphics : 666 MHz
Memory : 324 MHz
Graphics : 324 MHz
To set the clock speed to 666MHz, run
[srahim@corsair3 ~]$ sudo nvidia-smi –ac 3004,666
Applications clocks set to "(MEM 3004, SM 666)" for GPU 0000:05:00.0
All done.
If you try to set an unsupported clock speed, nvidia-smi shows a helpful message.
[srahim@corsair3 ~]$ sudo nvidia-smi -ac 3004,888 Specified clock combination "(MEM 3004, SM 888)" is not supported for GPU 0000:05:00.0. Run 'nvidia-smi -q -d SUPPORTED_CLOCKS' to see list of supported clock combinations Terminating early due to previous errors.
The current clock speed is checked with the following command:
[srahim@corsair3 ~]$ nvidia-smi -q -d CLOCK
==============NVSMI LOG==============
Timestamp : Tue Mar 11 10:40:16 2014
Driver Version : 331.20
Attached GPUs : 2
GPU 0000:05:00.0
Clocks
Graphics : 324 MHz
SM : 324 MHz
Memory : 324 MHz
Applications Clocks
Graphics : 666 MHz
Memory : 3004 MHz
Default Applications Clocks
Graphics : 745 MHz
Memory : 3004 MHz
Max Clocks
Graphics : 875 MHz
SM : 875 MHz
Memory : 3004 MHz
The GPU Boost settings are not persistent between reboots or driver unloads and should be scripted if persistence is desired. Unless the NVIDIA driver persistence mode is set with
nvidia-smi –pm 1, the driver may unload when the GPU is idle.
Unlike Intel’s Turbo Boost, GPU Boost is not on by default. This puts the impetus on the end user or system administrator to take advantage of this feature. An application can programmatically change the Boost clock with NVML if
run with appropriate permissions. Run
nvidia-smi –acp 0to grant non-root users permission to change clocks. Two caveats on the uses of GPU Boost from the document “NVIDIA GPU Boost for Tesla” are:
An important point to remember is that no matter which clocks the end user selects, if at any time the power monitoring algorithm detects that the application may exceed the 235 W, the GPU comes down to a lower clock level as a precaution. Once the power falls
below 235 W the GPU will raise its core clock to the selected clock. This happens automatically and the Tesla K40 does have a few clock levels below the base clock to handle any power digressions.
If the workload runs on multiple GPUs and is sensitive to all GPUs running at the same clock, the user may need to try out which particular clock works best for all GPUs.
If you are not running on multiple GPUs or multiple nodes, you should crank up the GPU clock speed to the maximum frequency. Keep the GPU clock at the default value of 745MHz or lower only if there are power consumption concerns.
GPU Boost is a relatively simple way to increase performance by up to 30%. It is certainly easier than optimizing a CUDA kernel. Unless you are doing some crazy multi-node MPI application, always boost your clock speed for higher performance!
相关文章推荐
- caffe-Cuda7.5-cudnnv4-GPU-NugetPackages-Tesla k40-VS2013-Anaconda2-pycharm2016.2 win10
- 截至2012年5月23日19点58分支持CUDA的NVIDIA的GPU列表(Tesla,Quadro,NVS)
- 截至2012年5月23日19点58分支持CUDA的NVIDIA的GPU列表(Tesla,Quadro,NVS)
- GPU Powered DeepLearning with NVIDIA DIGITS on EC2
- “宇宙最强”GPU —— NVIDIA Tesla V100 面向开发者开放试用!
- 谷歌TPU吊打GPU?NVIDIA不服:Tesla P40怒怼
- 基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记
- NVIDIA之Tesla、GeForce和Quadro系列GPU对比
- For those who are interested nVidia have made GPU Gems 1 available on their website. You can find it here
- Installing Nvidia CUDA on Ubuntu 14.04 for Linux GPU Computing
- NVIDIA Tesla/Quadro和GeForce GPU比较
- CUDA on NVIDIA GPU
- 并行加密算法系列(四)之AES on Nvidia GPU
- “宇宙最强”GPU —— NVIDIA Tesla V100 面向开发者开放试用!
- NVIDIA GPU—Tesla和GeForce的比较
- nvidia tesla k40
- HOW TO USE MPS ON SINGLE GPU
- xgboost gpu加速
- Installing C++ Boost on Microsoft Windows for Visual Studio .NET 2003/2005/Orcas