Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenXiangShan
NEMU
提交
4e60b417
N
NEMU
项目概览
OpenXiangShan
/
NEMU
大约 1 年 前同步成功
通知
7
Star
171
Fork
67
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
NEMU
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4e60b417
编写于
5月 30, 2023
作者:
B
BigWhiteDog
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add some useful scripts
上级
9799f8b3
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
100 addition
and
0 deletion
+100
-0
modify_pointdir_structure.py
modify_pointdir_structure.py
+48
-0
onesimpoint.py
onesimpoint.py
+52
-0
未找到文件。
modify_pointdir_structure.py
0 → 100644
浏览文件 @
4e60b417
#!/usr/bin/env python3
import
subprocess
import
os
import
time
import
signal
import
argparse
import
shutil
parser
=
argparse
.
ArgumentParser
()
parser
.
add_argument
(
'-d'
,
'--cpts-dir'
,
type
=
str
,
required
=
True
)
args
=
parser
.
parse_args
()
base_dir
=
args
.
cpts_dir
# base_dir = '/nfs/home/share/zhangchuanqi/gcpt_cpts/simpoint-spec06-gcb-o2-50M'
os
.
chdir
(
base_dir
)
workloads
=
os
.
listdir
(
base_dir
)
workloads
=
list
(
filter
(
lambda
x
:
len
(
x
.
split
(
'_'
))
<=
2
,
workloads
))
print
(
workloads
)
for
w
in
workloads
:
workload_dir
=
os
.
path
.
join
(
base_dir
,
w
)
cpt_idxs
=
os
.
listdir
(
workload_dir
)
for
cidx
in
cpt_idxs
:
if
not
cidx
.
isdigit
():
continue
cpt_dir
=
os
.
path
.
join
(
workload_dir
,
cidx
)
cpt_files
=
os
.
listdir
(
cpt_dir
)
for
cpt_file
in
cpt_files
:
if
cpt_file
.
endswith
(
'gz'
):
try
:
weight
=
float
(
cpt_file
.
split
(
'_'
)[
-
2
])
except
:
weight
=
0.0
if
weight
<
0.000001
:
continue
cpt_path
=
os
.
path
.
join
(
cpt_dir
,
cpt_file
)
new_cpt_dirname
=
f
'
{
w
}{
cpt_file
[:
-
4
]
}
'
key
=
cpt_file
.
split
(
'_'
)[
1
]
new_cpt_dir
=
os
.
path
.
join
(
base_dir
,
new_cpt_dirname
,
'0'
)
os
.
makedirs
(
new_cpt_dir
,
exist_ok
=
True
)
new_cpt_path
=
os
.
path
.
join
(
new_cpt_dir
,
f
'_
{
key
}
_.gz'
)
# print(f'mv {cpt_path} {new_cpt_path}')
shutil
.
move
(
cpt_path
,
new_cpt_path
)
print
(
f
'rm -rf
{
workload_dir
}
'
)
shutil
.
rmtree
(
workload_dir
)
onesimpoint.py
0 → 100644
浏览文件 @
4e60b417
#!/usr/bin/env python3
import
subprocess
import
os
import
time
import
signal
import
argparse
parser
=
argparse
.
ArgumentParser
()
parser
.
add_argument
(
"--cluster"
,
type
=
str
,
required
=
True
)
parser
.
add_argument
(
'--cpt-interval'
,
type
=
int
,
default
=
100000000
)
parser
.
add_argument
(
'-w'
,
'--workload'
,
type
=
str
,
required
=
True
)
parser
.
add_argument
(
'-b'
,
'--bbl'
,
type
=
str
,
required
=
True
)
parser
.
add_argument
(
"--nemu-home"
,
type
=
str
,
default
=
'/nfs/home/zhangchuanqi/lvna/for_xs/xs-env/nemu-tracing'
)
parser
.
add_argument
(
'--simpoint-cluster-dir'
,
type
=
str
,
default
=
'/nfs/home/share/zhangchuanqi/gcpt_cluster'
)
parser
.
add_argument
(
'--cpts-dir'
,
type
=
str
,
default
=
'/nfs/home/share/zhangchuanqi/gcpt_cpts'
)
args
=
parser
.
parse_args
()
os
.
environ
[
'NEMU_HOME'
]
=
args
.
nemu_home
os
.
chdir
(
args
.
nemu_home
)
generate_bbv_cmd
=
f
'./build/riscv64-nemu-interpreter -b -D outputs -C
{
args
.
cluster
}
'
+
\
f
'--cpt-interval
{
args
.
cpt_interval
}
'
+
\
'-r resource/gcpt_restore/build/gcpt.bin '
+
\
f
'
{
args
.
bbl
}
'
+
\
f
'-w
{
args
.
workload
}
'
+
\
'--simpoint-profile '
print
(
generate_bbv_cmd
)
# subprocess.run(generate_bbv_cmd, shell=True)
real_cluster_dir
=
os
.
path
.
join
(
args
.
simpoint_cluster_dir
,
args
.
cluster
)
real_workload_simpoint_dir
=
os
.
path
.
join
(
args
.
simpoint_cluster_dir
,
args
.
cluster
,
args
.
workload
)
os
.
makedirs
(
real_workload_simpoint_dir
,
exist_ok
=
True
)
generate_weights_cmd
=
f
'./resource/simpoint/simpoint_repo/bin/simpoint
\
-loadFVFile ./outputs/
{
args
.
cluster
}
/
{
args
.
workload
}
/simpoint_bbv.gz
\
-saveSimpoints
{
real_workload_simpoint_dir
}
/simpoints0 -saveSimpointWeights
{
real_workload_simpoint_dir
}
/weights0
\
-inputVectorsGzipped -maxK 30 -numInitSeeds 2 -iters 1000 -seedkm 123456 -seedproj 654321'
print
(
generate_weights_cmd
)
# subprocess.run(generate_weights_cmd, shell=True)
take_cpt_cmd
=
f
'./build/riscv64-nemu-interpreter
{
args
.
bbl
}
\
-D
{
args
.
cpts_dir
}
-w
{
args
.
workload
}
-C
{
args
.
cluster
}
\
-b -S
{
real_cluster_dir
}
--cpt-interval
{
args
.
cpt_interval
}
\
-r resource/gcpt_restore/build/gcpt.bin'
print
(
take_cpt_cmd
)
subprocess
.
run
(
take_cpt_cmd
,
shell
=
True
)
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录