OpenCL如何启用性能模

OpenCL如何启用性能模

  • 10 如何开启性能模式
    • 10.1 Adreno A3x GPU
      • 10.1.1 CPU设置
      • 10.1.2 GPU设置
    • 10.2 Adreno A4x GPU and Adreno A5x GPU
  • 11 完结

10 如何开启性能模式

要启用性能模式,Android设备通常需要root访问(adb root;adb remount)。注意,如果系统重新启动,需要重新运行这些命令。

10.1 Adreno A3x GPU

10.1.1 CPU设置

/*disabling mpdecision keeps all CPU cores ON*/
adb shell stop mpdecision
/*Set performance mode for all CPU cores. In this case, a dual core CPU*/
adb shell "echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
adb shell "echo 1 > /sys/devices/system/cpu/cpu1/online"
adb shell "echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor"

10.1.2 GPU设置

关闭功率调节策略:

  • 高版本支持以下方法来禁用功率调节:
"echo performance > /sys/class/kgsl/kgsl-3d0/devfreq/governor"
  • 旧版本支持以下方法来禁用功率调节:
/*Disable power scaling policy for GPU*/
adb shell "echo none > /sys/class/kgsl/kgsl-3d0/pwrscale/policy"

关闭GPU休眠,强制GPU时钟/总线投票/图形设备电源始终打开:

  • 保持时钟开启,直到空闲超时强制断电。
  • 永久保留总线投票。
  • 永久保持图形设备供电。

高版本的命令顺序为:

adb shell “echo 1 > /sys/class/kgsl/kgsl-3d0/force_clk_on”
adb shell “echo 1 > /sys/class/kgsl/kgsl-3d0/force_bus_on”
adb shell “echo 1 > /sys/class/kgsl/kgsl-3d0/force_rail_on”

旧版本的命令序列为:

/*Disable GPU from going into sleep*/
adb shell "echo 0 > /sys/class/kgsl/kgsl-3d0/pwrnap"
/*Or Set a very high timer value for GPU sleep interval*/
adb shell "echo 10000000 > /sys/class/kgsl/kgsl-3d0/idle_timer"

10.2 Adreno A4x GPU and Adreno A5x GPU

adb shell "cat /sys/class/kgsl/kgsl-3d0/gpuclk"
adb shell "echo 0 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel"
adb shell "echo performance >/sys/class/kgsl/kgsl-3d0/devfreq/governor"
adb shell "cd /sys/class/devfreq/qcom,cpubw.* && echo performance >
governor"
adb shell "echo performance >/sys/class/devfreq/qcom,cpubw.29/governor"
adb shell "echo 1 > /sys/devices/system/cpu/cpu0/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu1/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu2/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu3/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu4/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu5/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu6/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu7/online"
adb shell stop thermald
adb shell stop mpdecision
adb shell "echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
adb shell "echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor"
adb shell "echo performance > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor"
adb shell "echo performance > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor"
adb shell "echo performance > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor"
adb shell "echo performance > /sys/devices/system/cpu/cpu5/cpufreq/scaling_governor"
adb shell "echo performance > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor"
adb shell "echo performance > /sys/devices/system/cpu/cpu7/cpufreq/scaling_governor"
adb shell "cat /sys/class/kgsl/kgsl-3d0/gpuclk"
adb shell "echo 1 > /sys/class/kgsl/kgsl-3d0/force_clk_on"
adb shell "echo 1000000 > /sys/class/kgsl/kgsl-3d0/idle_timer"

仅GPU:

adb shell echo 0 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel
adb shell echo 0 > /sys/class/kgsl/kgsl-3d0/max_pwrlevel

11 完结

本系列文档打算提供一个详细的指导,基于Adreno gpu如何优化OpenCL程序。本文提供了大量的信息来帮助开发人员理解OpenCL基本原理和Adreno架构,以期能够掌握OpenCL优化技术。

OpenCL优化通常具有挑战性,需要大量的试验和错误。由于每个供应商可能有自己的最佳实践做相同的任务,这是重要的阅读和深入了解指南和实践的Adreno gpu。许多看起来微不足道的因素可能会对性能产生重大影响。不幸的是,如果没有实践和实践,这些问题很难解决。

由于时间限制和其他因素,有些主题没有涉及。Adreno gpu支持许多扩展,可以显著提高性能和添加额外的功能。例如,最近的Adreno gpus支持一些专有的图像格式,从图像信号处理器(ISP)捕获的原始图像和视频数据可以被压缩到直接和高效的处理。这可以节省一些手动处理,并提高带宽利用率。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部