RK3588 CPU GPU DDR NPU定频和性能模式设置
RK3588 CPU GPU NPU DDR定频和性能模式设置方法
文章目录
- RK3588 CPU GPU NPU DDR定频和性能模式设置方法
-
- 查看RK3588 CPU GPU DDR NPU的频率电压表
- CPU定频
-
- 获取当前CPU支持的频点
- 获取cpu运行的模式
- 设置手动定频模式:userspace
- 设置频率为2016000
- 确认是否设置成功
- GPU定频
-
- GPU的节点路径
- 获取GPU支持的频点
- 获取GPU运行的模式
- 设置手动定频模式:userspace
- 设置频率为1000000000
- 确认是否设置成功
- 查看GPU的负载
- DDR定频
-
- DDR的节点路径
- 获取DDR支持的频点
- 获取DDR运行的模式
- 设置手动定频模式:userspace
- 设置频率为2112000000
- 确认是否设置成功
- 查看DDR的负载
- NPU定频
-
- NPU的节点路径
- 获取NPU支持的频点
- 获取NPU运行的模式
- 设置手动定频模式:userspace
- 设置频率为1000000000
- 确认是否设置成功
- 查看NPU的负载
- CPU性能模式
- GPU性能模式
- DDR性能模式
- NPU性能模式
查看RK3588 CPU GPU DDR NPU的频率电压表
在设计上面通过ADB命令可以查看机器的频率电压信息:
rk3588_s:/ $ surk3588_s:/ # cat /d/opp/opp_summary device rate(Hz) target(uV) min(uV) max(uV)------------------------------------------------------------------- platform-fdab0000.npu 200000000675000 675000 850000 675000 675000 850000 300000000675000 675000 850000 675000 675000 850000 400000000675000 675000 850000 675000 675000 850000 500000000675000 675000 850000 675000 675000 850000 600000000675000 675000 850000 675000 675000 850000 700000000675000 675000 850000 675000 675000 850000 800000000712500 712500 850000 712500 712500 850000 900000000762500 762500 850000 762500 762500 8500001000000000812500 812500 850000 812500 812500 850000 platform-dmc 528000000675000 675000 6750001068000000725000 725000 7250001560000000800000 800000 8000002112000000850000 850000 850000 platform-fb000000.gpu 300000000675000 675000 850000 675000 675000 850000 400000000675000 675000 850000 675000 675000 850000 500000000675000 675000 850000 675000 675000 850000 600000000675000 675000 850000 675000 675000 850000 700000000675000 675000 850000 675000 675000 850000 800000000700000 700000 850000 700000 700000 850000 900000000750000 750000 850000 750000 750000 8500001000000000800000 800000 850000 800000 800000 850000 cpu6 408000000675000 675000 1000000 675000 675000 1000000 600000000675000 675000 1000000 675000 675000 1000000 816000000675000 675000 1000000 675000 675000 10000001008000000675000 675000 1000000 675000 675000 10000001200000000675000 675000 1000000 675000 675000 10000001416000000675000 675000 1000000 675000 675000 10000001608000000700000 700000 1000000 700000 700000 10000001800000000762500 762500 1000000 762500 762500 10000002016000000837500 837500 1000000 837500 837500 10000002208000000912500 912500 1000000 912500 912500 10000002400000000962500 962500 1000000 962500 962500 1000000 cpu4 408000000675000 675000 1000000 675000 675000 1000000 600000000675000 675000 1000000 675000 675000 1000000 816000000675000 675000 1000000 675000 675000 10000001008000000675000 675000 1000000 675000 675000 10000001200000000675000 675000 1000000 675000 675000 10000001416000000675000 675000 1000000 675000 675000 10000001608000000700000 700000 1000000 700000 700000 10000001800000000762500 762500 1000000 762500 762500 10000002016000000837500 837500 1000000 837500 837500 10000002208000000912500 912500 1000000 912500 912500 10000002400000000962500 962500 1000000 962500 962500 1000000 cpu0 408000000675000 675000 950000 675000 675000 950000 600000000675000 675000 950000 675000 675000 950000 816000000675000 675000 950000 675000 675000 9500001008000000675000 675000 950000 675000 675000 9500001200000000675000 675000 950000 675000 675000 9500001416000000712500 712500 950000 712500 712500 9500001608000000787500 787500 950000 787500 787500 9500001800000000875000 875000 950000 875000 875000 950000
CPU定频
RK3588的cpu是4个A55+4个A76,分为3组单独管理,节点分别是:
/sys/devices/system/cpu/cpufreq/policy0:(对应4个A55:CPU0-3)affected_cpus cpuinfo_max_freq cpuinfo_transition_latency scaling_available_frequencies scaling_cur_freq scaling_governor scaling_min_freq statscpuinfo_cur_freq cpuinfo_min_freq related_cpus scaling_available_governors scaling_driver scaling_max_freq scaling_setspeed/sys/devices/system/cpu/cpufreq/policy4:(对应2个A76:CPU4-5)affected_cpus cpuinfo_max_freq cpuinfo_transition_latency scaling_available_frequencies scaling_cur_freq scaling_governor scaling_min_freq statscpuinfo_cur_freq cpuinfo_min_freq related_cpus scaling_available_governors scaling_driver scaling_max_freq scaling_setspeed/sys/devices/system/cpu/cpufreq/policy6:(对应2个A76:CPU6-7)affected_cpus cpuinfo_max_freq cpuinfo_transition_latency scaling_available_frequencies scaling_cur_freq scaling_governor scaling_min_freq statscpuinfo_cur_freq cpuinfo_min_freq related_cpus scaling_available_governors scaling_driver scaling_max_freq scaling_setspeedrk3588_s:/ #
以上3个CPU是独立控制,下面以设置CPU6-7为例说明如何设置CPU6-7的频率
获取当前CPU支持的频点
rk3588_s:/ # cat /sys/devices/system/cpu/cpufreq/policy6/scaling_available_frequencies 408000 600000 816000 1008000 1200000 1416000 1608000 1800000 2016000 2208000 2400000
获取cpu运行的模式
rk3588_s:/ # cat /sys/devices/system/cpu/cpufreq/policy6/scaling_available_governors conservative ondemand userspace powersave performance schedutil
默认是自动变频模式:schedutil(恢复的话设置为该模式即可)
设置手动定频模式:userspace
1|rk3588_s:/ $ surk3588_s:/ # echo userspace > /sys/devices/system/cpu/cpufreq/policy6/scaling_governor
设置频率为2016000
rk3588_s:/ # echo 2016000 > /sys/devices/system/cpu/cpufreq/policy6/scaling_setspeed
确认是否设置成功
rk3588_s:/ # cat /sys/devices/system/cpu/cpufreq/policy6/cpuinfo_cur_freq 2016000
其他两组CPU也是类似的方式进行设置,操作对应的节点即可。
GPU定频
GPU的节点路径
rk3588_s:/ # ls sys/class/devfreq/fb000000.gpu/ available_frequencies cur_freq governor max_freq namepower target_freq trans_statavailable_governors device load min_freq polling_interval subsystem timer uevent
获取GPU支持的频点
rk3588_s:/ # cat sys/class/devfreq/fb000000.gpu/available_frequencies 1000000000 900000000 800000000 700000000 600000000 500000000 400000000 300000000 200000000
获取GPU运行的模式
rk3588_s:/ # cat sys/class/devfreq/fb000000.gpu/available_governorsdmc_ondemand userspace powersave performance simple_ondemand
默认是自动变频模式:simple_ondemand(恢复的话设置为该模式即可)
设置手动定频模式:userspace
1|rk3588_s:/ $ surk3588_s:/ # echo userspace > sys/class/devfreq/fb000000.gpu/governor
设置频率为1000000000
rk3588_s:/ # echo 1000000000 > sys/class/devfreq/fb000000.gpu/userspace/set_freq
确认是否设置成功
rk3588_s:/ # cat sys/class/devfreq/fb000000.gpu/cur_freq 1000000000
查看GPU的负载
rk3588_s_evb7:/ # cat /sys/class/devfreq/fb000000.gpu/load 28@300000000Hz
DDR定频
DDR的节点路径
1|rk3588_s:/ # ls sys/class/devfreq/dmc/ available_frequencies cur_freq downdifferential load min_freq polling_interval subsystem target_freq trans_stat upthresholdavailable_governors device governor max_freq name power system_status timer uevent
获取DDR支持的频点
rk3588_s:/ # cat sys/class/devfreq/dmc/available_frequencies528000000 1068000000 1560000000 2112000000
获取DDR运行的模式
rk3588_s:/ # cat sys/class/devfreq/dmc/available_governors dmc_ondemand userspace powersave performance simple_ondemand
默认是自动变频模式:dmc_ondemand(恢复的话设置为该模式即可)
设置手动定频模式:userspace
1|rk3588_s:/ $ surk3588_s:/ # echo userspace > sys/class/devfreq/dmc/governor
设置频率为2112000000
rk3588_s:/ # echo 2112000000 > sys/class/devfreq/dmc/userspace/set_freq
确认是否设置成功
rk3588_s:/ # cat sys/class/devfreq/dmc/cur_freq 2112000000
查看DDR的负载
rk3588_s_evb7:/ # cat /sys/class/devfreq/dmc/load 7@528000000Hz
NPU定频
NPU的节点路径
1|rk3588_s:/ # ls sys/class/devfreq/fdab0000.npu/ available_frequencies cur_freq governor max_freq namepower target_freq trans_stat userspaceavailable_governors device load min_freq polling_interval subsystem timer uevent
获取NPU支持的频点
rk3588_s:/ # cat sys/class/devfreq/fdab0000.npu/available_frequencies 200000000 300000000 400000000 500000000 600000000 700000000 800000000 900000000 1000000000
获取NPU运行的模式
rk3588_s:/ # cat sys/class/devfreq/fdab0000.npu/available_governorsdmc_ondemand userspace powersave performance simple_ondemand
默认是自动变频模式:simple_ondemand(恢复的话设置为该模式即可)
设置手动定频模式:userspace
1|rk3588_s:/ $ surk3588_s:/ # echo userspace > sys/class/devfreq/fdab0000.npu/governor
设置频率为1000000000
rk3588_s:/ # echo 1000000000 > sys/class/devfreq/fdab0000.npu/userspace/set_freq
确认是否设置成功
rk3588_s:/ # cat sys/class/devfreq/fdab0000.npu/cur_freq 1000000000
查看NPU的负载
rk3588_s_evb7:/ # cat /sys/kernel/debug/rknpu/loadNPU load: Core0: 0%, Core1: 0%, Core2: 0%,
CPU性能模式
1|rk3588_s:/ $ surk3588_s:/ # echo performance > /sys/devices/system/cpu/cpufreq/policy6/scaling_governor
GPU性能模式
1|rk3588_s:/ $ surk3588_s:/ # echo performance > sys/class/devfreq/fb000000.gpu/governor
DDR性能模式
1|rk3588_s:/ $ surk3588_s:/ # echo performance > sys/class/devfreq/dmc/governor
NPU性能模式
1|rk3588_s:/ $ surk3588_s:/ # echo performance > sys/class/devfreq/fdab0000.npu/governor
如果有帮到您,欢迎 点赞 关注
博客主页