zoukankan      html  css  js  c++  java
  • 借助GPU Boost和K80 Autoboost提高性能

    原网站:https://devblogs.nvidia.com/increase-performance-gpu-boost-k80-autoboost/

    由于我主要使用nvidia-smi,故nvcc不做了解...有需要的可以参考原网站

    NVIDIA®GPU Boost™是NVIDIA®GeForce®和Tesla®GPU上的一项功能,可在有足够的功率和散热空间的情况下通过提高GPU内核和内存时钟速率来提高应用程序性能)。对于Tesla GPU,GPU Boost是针对在集群上运行的计算密集型工作负载而定制的。在这篇文章中,我将更详细地描述GPU Boost,并向您展示如何在应用程序中利用它。我还介绍了Tesla K80 autoboost,并演示了它可以自动匹配显式控制的应用程序时钟的性能。

    Tesla GPU的目标是特定的功率预算,例如Tesla K40的TDP(热设计功率)为235W,Tesla K80的TDP为300W。这些TDP额定值是上限,图1中的图表显示许多HPC工作负载并不接近此功率极限。特斯拉的NVIDIA GPU Boost可让用户通过使用可用功率余量来选择更高的图形时钟速率,从而提高应用程序性能。

                        图1:实际应用程序的平均GPU功耗

    NVIDIA GPU Boost通过应用程序时钟设置公开给Tesla加速器使用,并且在新的Tesla K80加速器上也可以通过新的autoboost功能启用,该功能默认启用。用户或系统管理员可以通过以下任一方法禁用自动升压功能并为应用程序手动设置正确的时钟:

     nvidia-smi  在节点上本地运行命令行工具

    使用NVIDIA系统管理界面控制GPU Boost

    您可以 nvidia-smi  用来控制应用程序时钟,而无需对应用程序进行任何更改。

    您可以通过将查询选项(-q)  传递给来显示当前应用程序时钟设置nvidia-smi使用  -i 和显示选项(-d),您可以过滤此视图以仅显示特定GPU的时钟信息。

     nvidia-smi -q -i 0 -d CLOCK 

    ==============NVSMI LOG==============
    
    Timestamp                           : Sat May  9 15:35:33 2020
    Driver Version                      : 384.81
    
    Attached GPUs                       : 2
    GPU 00000000:04:00.0
        Clocks
            Graphics                    : 324 MHz
            SM                          : 324 MHz
            Memory                      : 324 MHz
            Video                       : 405 MHz
        Applications Clocks
            Graphics                    : 562 MHz
            Memory                      : 2505 MHz
        Default Applications Clocks
            Graphics                    : 562 MHz
            Memory                      : 2505 MHz
        Max Clocks
            Graphics                    : 875 MHz
            SM                          : 875 MHz
            Memory                      : 2505 MHz
            Video                       : 540 MHz
        Max Customer Boost Clocks
            Graphics                    : N/A
        SM Clock Samples
            Duration                    : 26.64 sec
            Number of Samples           : 100
            Max                         : 875 MHz
            Min                         : 324 MHz
            Avg                         : 768 MHz
        Memory Clock Samples
            Duration                    : 26.64 sec
            Number of Samples           : 100
            Max                         : 2505 MHz
            Min                         : 324 MHz
            Avg                         : 2285 MHz
        Clock Policy
            Auto Boost                  : On
            Auto Boost Default          : On

    在更改应用程序时钟之前,您需要将GPU置于持久性模式并查询可用的应用程序时钟速率。持久模式可确保即使GPU上没有运行CUDA或X应用程序,驱动程序仍保持加载状态。这将保持当前状态,包括请求的应用程序时钟。持久性模式对于使应用程序时钟更改持续到应用程序运行是必需的。使用以下命令行启用持久性模式(对于GPU 0)。可以看出GPU0的对应频率为Graphics : 562 MHz,Memory : 2505 MHz

      sudo nvidia-smi -pm ENABLED -i 0-smi -pm ENABLED -i 0 

    之后可以查看频率

     nvidia-smi -q -i 0,1 -d SUPPORTED_CLOCKS  

    Timestamp                           : Sat May  9 15:50:16 2020
    Driver Version                      : 384.81
    
    Attached GPUs                       : 2
    GPU 00000000:04:00.0
        Supported Clocks
            Memory                      : 2505 MHz
                Graphics                : 875 MHz
                Graphics                : 862 MHz
                Graphics                : 849 MHz
                Graphics                : 836 MHz
                Graphics                : 823 MHz
                Graphics                : 810 MHz
                Graphics                : 797 MHz
                Graphics                : 784 MHz
                Graphics                : 771 MHz
                Graphics                : 758 MHz
                Graphics                : 745 MHz
                Graphics                : 732 MHz
                Graphics                : 719 MHz
                Graphics                : 705 MHz
                Graphics                : 692 MHz
                Graphics                : 679 MHz
                Graphics                : 666 MHz
                Graphics                : 653 MHz
                Graphics                : 640 MHz
                Graphics                : 627 MHz
                Graphics                : 614 MHz
                Graphics                : 601 MHz
                Graphics                : 588 MHz
                Graphics                : 575 MHz
                Graphics                : 562 MHz
            Memory                      : 324 MHz
                Graphics                : 324 MHz
    
    GPU 00000000:05:00.0
        Supported Clocks
            Memory                      : 2505 MHz
                Graphics                : 875 MHz
                Graphics                : 862 MHz
                Graphics                : 849 MHz
                Graphics                : 836 MHz
                Graphics                : 823 MHz
                Graphics                : 810 MHz
                Graphics                : 797 MHz
                Graphics                : 784 MHz
                Graphics                : 771 MHz
                Graphics                : 758 MHz
                Graphics                : 745 MHz
                Graphics                : 732 MHz
                Graphics                : 719 MHz
                Graphics                : 705 MHz
                Graphics                : 692 MHz
                Graphics                : 679 MHz
                Graphics                : 666 MHz
                Graphics                : 653 MHz
                Graphics                : 640 MHz
                Graphics                : 627 MHz
                Graphics                : 614 MHz
                Graphics                : 601 MHz
                Graphics                : 588 MHz
                Graphics                : 575 MHz
                Graphics                : 562 MHz
            Memory                      : 324 MHz
                Graphics                : 324 MHz

    请注意,支持的图形时钟频率与特定的内存时钟频率相关,因此在设置应用程序时钟时,必须同时设置内存时钟和图形时钟。使用 -ac 命令行选项执行此操作 

    sudo nvidia-smi -ac 2505,875 -i 0

    Applications clocks set to "(MEM 3004, SM 875)" for GPU 0000:04:00.0 All done

    可以使用 -rac  (“重置应用程序时钟”)选项重置默认值 

    $ sudo nvidia-smi  -rac -i 0
    All done.

    为避免在多用户环境中出现麻烦,更改应用程序时钟需要管理特权。但是,系统管理员可以通过将应用程序时钟许可权设置为 UNRESTRICTED  使用   -acp  (“应用程序时钟许可权”)选项来  放宽此要求,以允许非管理员用户更改应用程序时钟  nvidia-smi

    $ sudo nvidia-smi -acp UNRESTRICTED -i 0
    Applications clocks commands have been set to UNRESTRICTED for GPU 0000:04:00.0
    All done.

    请注意,建议使用应用程序时钟设置。如果由于散热或功耗等原因,GPU无法在选定的时钟上安全地运行,它将动态降低时钟。您可以使用来查询是否发生了这种情况   nvidia-smi -q -i 0 -d PERFORMANCE 此行为可确保即使应用程序时钟设置得太高,您也始终可以获得正确的结果。

  • 相关阅读:
    基于微信的域名交易系统(进度汇报之后台)
    基于微信的域名交易系统(数据库表-修订版)
    基于微信的域名交易系统(需求文档)
    基于微信的域名交易系统(功能细节敲定)
    基于微信的域名交易系统(数据库结构设计)
    文档
    你离毕业有多远 原型设计pro
    Current Position of GradPaul 毕业宝四月中旬进度
    Architecture of GradPaul 毕业宝架构设计
    翘课老黄历——设计文档
  • 原文地址:https://www.cnblogs.com/caishunzhe/p/12858513.html
Copyright © 2011-2022 走看看