1 Star 6 Fork 44

我本人 / OHCompilerDaily

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

交叉编译整体流程

  1. 构建linux编译环境:准备ark_js_vm等;依赖包等。
  2. linux环境上游编译目标文件。
  3. win+设备环境下游运行测试。
graph LR
	A[构建编译环境] --> B[编译]
	B --> C[推文件到设备]
	C --> D[运行测试]
	D --> E[结果统计归纳]

流程说明(速通版)

  1. fork工程;蓝区搭环境;配置gitee信息;下载工程。
  2. 源码放到pgo/src/mytest目录;执行python compile_pgo.py mytest
  3. 黄区拉工程;连设备;执行python run_ark_workload_pgo_hos.py mytest 5

详细流程说明

环境搭建

蓝区host侧编译

  • fork本项目到自己的gitee,拉取到linux服务器。请在服务器上配置好自己的gitee相关信息,保证可以pull和push
  • 将写好的ts文件(请保证每个文件可独立运行)打包成一个文件夹,命名为mytest (可自由命名)。
  • 将mytest文件夹放到{$PROJECT_PATH}/pgo/src/下,你会得到{$PROJECT_PATH}/pgo/src/mytest/*.ts类似的目录结构。
  • 到{$PROJECT_PATH}/pgo/下,执行python compile_pgo.py mytest
    • 执行之前,需要修改第15行的Arkcompiler路径:
    • ARK_COMPILER_PATH = 'YOUR_PATH' # 最近编译器路径
  • python脚本执行时,会把编译产物汇总到{$PROJECT_PATH}/pgo/tools下。
  • 如果成功执行,编译出的an/ai/ap/abc将会出现在{$PROJECT_PATH}/pgo/out/mytest。
  • 所有文件将会自动commit并push到你的仓库。

  • 同时支持swift的编译,脚本在{$PROJECT_PATH}/swift下,文件路径类似。

gitee仓库

  • 请确保你fork了本项目,其余操作脚本将自动执行。

黄区跑测

  • 在黄区windows电脑上拉取最新的工程文件,这包含了你编译出的文件。

  • usb连接HOS设备,请确保你root了手机,以及可能需要锁频锁核进行测试。

  • 控制台进入{$PROJECT_PATH}/pgo/out/目录:

    • 执行 python run_ark_workload_pgo_hos.py mytest 5 [no_pgo]
    • 其中最后一个参数[no_pgo]是可选的:默认不指定,将执行aot优化的测试;若指定,则执行解释器测试。
    • 5 是循环次数。

    需要安装一个pandas的python库,若已安装则忽略:pip install pandas。

  • 输出将出现在当前目录下,一个xxx.csv文件,可以用excel打开。


  • 同时支持swift跑测,文件组织结构和arkts基本相同。
  • 同时支持v8-jit/v8-asm跑测,无需编译,直接跑测即可。

空文件

简介

取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/qishui7/ohcompiler-daily.git
git@gitee.com:qishui7/ohcompiler-daily.git
qishui7
ohcompiler-daily
OHCompilerDaily
master

搜索帮助