无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 1929|回复: 10
打印 上一主题 下一主题

[讨论] QEMU TCG

[复制链接]
跳转到指定楼层
1#
发表于 2023-1-22 19:04:10 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 winpefk 于 2023-1-27 20:50 编辑

首先,确实是本人班门弄斧了,效率提升不高(至少在麒麟710上)对于旗舰设备有奇效 [个人观察QEMU已经加入了LSE高效率补丁,Cpu如果支持lse,可以快不少](应该单核TCG可以到I3 二代最辣鸡的CPU性能了)(跑win8.1没大问题)
///////////START///////////

  1.先在termux上设置一个proot容器(其实在本人修改源码的情况下,安卓termux自带编译器成功构建了QEMU 7.0.0,可以不需要容器直接运行,但是CHESS BENCH 单核始终是3万步上下?容器版本5万步上下(估计是我CFLAGS设置不对)

2 apt update;apt upgrade;apt install build-essential;lib-pixman1-dev;libgtk(自行百度依赖)   

3 下载QEMU源码,解压缩 (个人百度,发不了URL)

4 改 configure :    搜索Meson_optimizers,会有一个优化选项,2改为3    然后设置CFLAGS:#分硬件而言,更钢炮的设备填上正确的CFLAGS可以比limbo更快

麒麟710/710a -march=armv8-a+fp+simd+crc+aes -mtune=cortex-a73.cortex-a53 (省电模式运行最快,要是开性能模式,去掉 .cortex-a53 )
其他设备如何判断这段内容看一楼  

#通用     -fallow-store-data-races \-fforce-addr \-fassociative-math \-fsel-sched-pipelining \-ffast-math -fno-unsafe-math-optimizations \-pipe \-finline-limit=1000 \-fsched-spec-load \-momit-leaf-frame-pointer -flto=auto \-fsched-spec-load-dangerous \ (在O3上堆叠的优化.)

-fomit-frame-pointer \ -fallow-store-data-races \-fforce-addr \-fassociative-math \-fsel-sched-pipelining \-ffast-math -funsafe-math-optimizations \-pipe \-finline-limit=1000 \-fsched-spec-load \-momit-leaf-frame-pointer \-fsched-spec-load-dangerous \(稳定性换性能)(蓝屏概率高,没有用处)


#    (最后的带有dangerous的可以删了,主要是让cache预测分支准确一些,但是毕竟"dangerous".)
make -j$(nproc)

make install
////////////结束///////////  

虚拟CPU性能:本教程QEMU > termux容器外部 apt安装的 > termux内部安装的 > apq > termux 容器外部安装的 bochs

内存性能:bochs > 任何系列QEMU ( C++ 确实高效 )//////   
2#
 楼主| 发表于 2023-1-22 19:07:56 | 只看该作者
本帖最后由 winpefk 于 2023-1-22 19:28 编辑

一楼:
首先 termux 外部运行 lscpu

如下是麒麟710的
Architecture:           aarch64                                                      
CPU op-mode(s):       32-bit, 64-bit                                             
   Byte Order:           Little Endian                                             
CPU(s):                 8                                                            
On-line CPU(s) list:  0-7                                                     
    Vendor ID:              ARM                                                         
Model name:           Cortex-A53                                                  
    Model:              4                                                            
   Thread(s) per core: 1                                                               
Core(s) per socket: 4                                                            
   Socket(s):          1                                                              
Stepping:           r0p4                                                         
  CPU(s) scaling MHz: 100%                                                            
CPU max MHz:        1709.0000                                                   
   CPU min MHz:        480.0000                                                      
  BogoMIPS:           3.84                                                            
Flags:              fp asimd evtstrm aes pmull sha1 sha2 crc32                  
Model name:           Cortex-A73                                                      
Model:              2
    Thread(s) per core: 1                                                               
Core(s) per socket: 4                                                               
Socket(s):          1                                                               
Stepping:           r0p2                                                            
CPU(s) scaling MHz: 100%                                                         
  CPU max MHz:        2189.0000                                                  
     CPU min MHz:        807.0000                                                        
BogoMIPS:           3.84                                                         
   Flags:              fp asimd evtstrm aes pmull sha1 sha2 crc32

可知麒麟710是arm big(a73).LITTLE (53)架构的    (73>53)
mtune填写:cortex-a73.cortex-a53
同理,march 填写
armv8-a+fp(有FP字样)+crc(有crc32字样)+aes+simd(asimd=simd)
如果有:asimdrdm(浮点加速) dcpop(???) atomics(lse加速) crypto(说是加密,其实是浮点硬件128位加速)

恭喜:TCG 效能会是 limbo的 1.7倍!!!
(有fp16字样的评论:在march上追加fp16之后,limbo 5.2 chess跑分和termux 容器跑分 )


在march上追加: +lse+rdma+crypto


QEMU 对浮点计算性能十分敏感

回复

使用道具 举报

3#
 楼主| 发表于 2023-1-22 19:21:15 | 只看该作者
本帖最后由 winpefk 于 2023-1-22 21:19 编辑

  • 附件镜像
andows.img (百度贴吧上有)
如上镇楼图是麒麟710容器qemu的表现


启动脚本:(termux 容器内运行)
qemu-system-x86_64 \
-hda /sdcard/Download/SDL/andows.img \
-drive index=3,format=raw,media=disk,file=fat:rw:/sdcard/Download/HDD \
-m 512 \
-cpu n270,tsc \
-vga std \
--no-hpet \
-vnc :0 \

其中,chess 下载后复制到 /sdcard/Download/HDD 下面,
img解压后复制到 /sdcard/Download/SDL下
用VNC连接
E盘有跑分工具





注意:CPU模拟的时候,在保证能够启动的情况下,功能支持越小,翻译越快 比如sandybridge,boardwell

有图:



Screenshot_20230122_211638.jpg (323.06 KB, 下载次数: 36)

同样的机子 limbo 5.1

同样的机子 limbo 5.1

chess.7z

106.99 KB, 下载次数: 3, 下载积分: 无忧币 -2

跑分

回复

使用道具 举报

4#
发表于 2023-1-23 19:32:38 | 只看该作者
感谢分享
回复

使用道具 举报

5#
发表于 2023-1-23 20:14:29 | 只看该作者
回复

使用道具 举报

6#
发表于 2023-1-24 01:34:05 | 只看该作者
回复

使用道具 举报

7#
发表于 2023-1-25 16:10:48 | 只看该作者
这是什么操作?有人细说一下么

点评

加速在安卓上虚拟机的效能  详情 回复 发表于 2023-1-25 18:32

评分

参与人数 1无忧币 +2 收起 理由
winpefk + 2 淡定

查看全部评分

回复

使用道具 举报

8#
 楼主| 发表于 2023-1-25 18:32:30 | 只看该作者
adminkk 发表于 2023-1-25 16:10
这是什么操作?有人细说一下么

加速在安卓上虚拟机的效能
回复

使用道具 举报

9#
 楼主| 发表于 2023-1-25 19:02:55 | 只看该作者

e

本帖最后由 winpefk 于 2023-1-25 21:02 编辑

/**


fomit-frame-pointer
CFLAGS-fomit-frame-pointer,,mno-frame-pointer,Ч
100
release
:mno-leaf-frame-pointer,fomit-frame-pointer
mno-leaf-frame-pointer
**/

(10

flto bug.
(clang + lld thin mode failed)





回复

使用道具 举报

10#
发表于 2023-4-22 00:53:43 | 只看该作者
谢谢老软件更新
回复

使用道具 举报

11#
发表于 前天 21:29 | 只看该作者
大佬nb,我等qemu小白第一次知道这些。以前只是通过实验知道最后一条内存性能的问题,但是没想到还有这些优化性能的法子。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-12 14:52

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表