jjzjj

RK3588 CPU GPU DDR NPU定频和性能模式设置

loitawu 2023-09-03 原文

RK3588 CPU GPU NPU DDR定频和性能模式设置方法

文章目录

查看RK3588 CPU GPU DDR NPU的频率电压表

在设计上面通过ADB命令可以查看机器的频率电压信息:

rk3588_s:/ $ su
rk3588_s:/ # cat /d/opp/opp_summary                                                                                                                                                           
 device                rate(Hz)    target(uV)    min(uV)    max(uV)
-------------------------------------------------------------------
 platform-fdab0000.npu
                      200000000       675000      675000      850000
                                      675000      675000      850000
                      300000000       675000      675000      850000
                                      675000      675000      850000
                      400000000       675000      675000      850000
                                      675000      675000      850000
                      500000000       675000      675000      850000
                                      675000      675000      850000
                      600000000       675000      675000      850000
                                      675000      675000      850000
                      700000000       675000      675000      850000
                                      675000      675000      850000
                      800000000       712500      712500      850000
                                      712500      712500      850000
                      900000000       762500      762500      850000
                                      762500      762500      850000
                     1000000000       812500      812500      850000
                                      812500      812500      850000
 platform-dmc
                      528000000       675000      675000      675000
                     1068000000       725000      725000      725000
                     1560000000       800000      800000      800000
                     2112000000       850000      850000      850000
 platform-fb000000.gpu
                      300000000       675000      675000      850000
                                      675000      675000      850000
                      400000000       675000      675000      850000
                                      675000      675000      850000
                      500000000       675000      675000      850000
                                      675000      675000      850000
                      600000000       675000      675000      850000
                                      675000      675000      850000
                      700000000       675000      675000      850000
                                      675000      675000      850000
                      800000000       700000      700000      850000
                                      700000      700000      850000
                      900000000       750000      750000      850000
                                      750000      750000      850000
                     1000000000       800000      800000      850000
                                      800000      800000      850000
 cpu6
                      408000000       675000      675000     1000000
                                      675000      675000     1000000
                      600000000       675000      675000     1000000
                                      675000      675000     1000000
                      816000000       675000      675000     1000000
                                      675000      675000     1000000
                     1008000000       675000      675000     1000000
                                      675000      675000     1000000
                     1200000000       675000      675000     1000000
                                      675000      675000     1000000
                     1416000000       675000      675000     1000000
                                      675000      675000     1000000
                     1608000000       700000      700000     1000000
                                      700000      700000     1000000
                     1800000000       762500      762500     1000000
                                      762500      762500     1000000
                     2016000000       837500      837500     1000000
                                      837500      837500     1000000
                     2208000000       912500      912500     1000000
                                      912500      912500     1000000
                     2400000000       962500      962500     1000000
                                      962500      962500     1000000
 cpu4
                      408000000       675000      675000     1000000
                                      675000      675000     1000000
                      600000000       675000      675000     1000000
                                      675000      675000     1000000
                      816000000       675000      675000     1000000
                                      675000      675000     1000000
                     1008000000       675000      675000     1000000
                                      675000      675000     1000000
                     1200000000       675000      675000     1000000
                                      675000      675000     1000000
                     1416000000       675000      675000     1000000
                                      675000      675000     1000000
                     1608000000       700000      700000     1000000
                                      700000      700000     1000000
                     1800000000       762500      762500     1000000
                                      762500      762500     1000000
                     2016000000       837500      837500     1000000
                                      837500      837500     1000000
                     2208000000       912500      912500     1000000
                                      912500      912500     1000000
                     2400000000       962500      962500     1000000
                                      962500      962500     1000000
 cpu0
                      408000000       675000      675000      950000
                                      675000      675000      950000
                      600000000       675000      675000      950000
                                      675000      675000      950000
                      816000000       675000      675000      950000
                                      675000      675000      950000
                     1008000000       675000      675000      950000
                                      675000      675000      950000
                     1200000000       675000      675000      950000
                                      675000      675000      950000
                     1416000000       712500      712500      950000
                                      712500      712500      950000
                     1608000000       787500      787500      950000
                                      787500      787500      950000
                     1800000000       875000      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  stats
cpuinfo_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  stats
cpuinfo_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  stats
cpuinfo_cur_freq  cpuinfo_min_freq  related_cpus                scaling_available_governors    scaling_driver    scaling_max_freq  scaling_setspeed
rk3588_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:/ $ su
rk3588_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  name              power      target_freq  trans_stat
available_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_governors                                                                                                                       
dmc_ondemand userspace powersave performance simple_ondemand

默认是自动变频模式:simple_ondemand(恢复的话设置为该模式即可)

设置手动定频模式:userspace

1|rk3588_s:/ $ su
rk3588_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  upthreshold
available_governors    device    governor          max_freq  name      power             system_status  timer        uevent

获取DDR支持的频点

rk3588_s:/ # cat sys/class/devfreq/dmc/available_frequencies                                                                                                                              
528000000 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:/ $ su
rk3588_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  name              power      target_freq  trans_stat  userspace
available_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_governors                                                                                                                       
dmc_ondemand userspace powersave performance simple_ondemand

默认是自动变频模式:simple_ondemand(恢复的话设置为该模式即可)

设置手动定频模式:userspace

1|rk3588_s:/ $ su
rk3588_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/load                                                                                                                                            
NPU load:  Core0:  0%, Core1:  0%, Core2:  0%,

CPU性能模式

1|rk3588_s:/ $ su
rk3588_s:/ # echo performance > /sys/devices/system/cpu/cpufreq/policy6/scaling_governor

GPU性能模式

1|rk3588_s:/ $ su
rk3588_s:/ # echo performance > sys/class/devfreq/fb000000.gpu/governor

DDR性能模式

1|rk3588_s:/ $ su
rk3588_s:/ # echo performance > sys/class/devfreq/dmc/governor

NPU性能模式

1|rk3588_s:/ $ su
rk3588_s:/ # echo performance > sys/class/devfreq/fdab0000.npu/governor

如果有帮到您,欢迎 点赞 关注

博客主页

有关RK3588 CPU GPU DDR NPU定频和性能模式设置的更多相关文章

  1. ruby - 使用 RubyZip 生成 ZIP 文件时设置压缩级别 - 2

    我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看ruby​​zip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d

  2. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  3. ruby-openid:执行发现时未设置@socket - 2

    我在使用omniauth/openid时遇到了一些麻烦。在尝试进行身份验证时,我在日志中发现了这一点:OpenID::FetchingError:Errorfetchinghttps://www.google.com/accounts/o8/.well-known/host-meta?hd=profiles.google.com%2Fmy_username:undefinedmethod`io'fornil:NilClass重要的是undefinedmethodio'fornil:NilClass来自openid/fetchers.rb,在下面的代码片段中:moduleNetclass

  4. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  5. ruby - 如何在续集中重新加载表模式? - 2

    鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende

  6. ruby-on-rails - 如何使用 instance_variable_set 正确设置实例变量? - 2

    我正在查看instance_variable_set的文档并看到给出的示例代码是这样做的:obj.instance_variable_set(:@instnc_var,"valuefortheinstancevariable")然后允许您在类的任何实例方法中以@instnc_var的形式访问该变量。我想知道为什么在@instnc_var之前需要一个冒号:。冒号有什么作用? 最佳答案 我的第一直觉是告诉你不要使用instance_variable_set除非你真的知道你用它做什么。它本质上是一种元编程工具或绕过实例变量可见性的黑客攻击

  7. ruby-on-rails - date_field_tag,如何设置默认日期? [ rails 上的 ruby ] - 2

    我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问

  8. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  9. ruby - 是否有用于序列化和反序列化各种格式的对象层次结构的模式? - 2

    给定一个复杂的对象层次结构,幸运的是它不包含循环引用,我如何实现支持各种格式的序列化?我不是来讨论实际实现的。相反,我正在寻找可能会派上用场的设计模式提示。更准确地说:我正在使用Ruby,我想解析XML和JSON数据以构建复杂的对象层次结构。此外,应该可以将该层次结构序列化为JSON、XML和可能的HTML。我可以为此使用Builder模式吗?在任何提到的情况下,我都有某种结构化数据-无论是在内存中还是文本中-我想用它来构建其他东西。我认为将序列化逻辑与实际业务逻辑分开会很好,这样我以后就可以轻松支持多种XML格式。 最佳答案 我最

  10. ruby-on-rails - 有没有办法为 CarrierWave/Fog 设置上传进度指示器? - 2

    我在Rails应用程序中使用CarrierWave/Fog将视频上传到AmazonS3。有没有办法判断上传的进度,让我可以显示上传进度如何? 最佳答案 CarrierWave和Fog本身没有这种功能;你需要一个前端uploader来显示进度。当我不得不解决这个问题时,我使用了jQueryfileupload因为我的堆栈中已经有jQuery。甚至还有apostonCarrierWaveintegration因此您只需按照那里的说明操作即可获得适用于您的应用的进度条。 关于ruby-on-r

随机推荐