You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在GEM5 se模式运行SPEC2017的520.omnetpp_r时出现Network未找到错误

SPEC2017 520.omnetpp_r在GEM5 SE模式下运行报错的解决方法

问题背景

在x86环境下编译SPEC2017的520.omnetpp_r基准测试后,本地主机执行./omnetpp_r_base.wkx-x86-m64 -c General -r 0可正常运行;但在GEM5系统调用仿真(SE)模式下执行对应命令时,出现错误提示:

<!> Error: Network `largeNet' not found, check .ini and .ned files.

两种运行方式均处于SPEC默认的XXX/run路径下,相关信息如下:

工作目录

# wangkaixuan @ user-PowerEdge-T640 in ~/SPEC2017/benchspec/CPU/520.omnetpp_r/run/run_base_refrate_wkx-x86-m64.0000 [16:36:45] 
$ ls
General-0.sca.cmp  compare.err  compare.stdout  ned                    omnetpp.General-0.out  omnetpp_r_base.wkx-x86-m64  speccmds.err  speccmds.stdout
compare.cmd        compare.out  control         omnetpp.General-0.err  omnetpp.ini            speccmds.cmd                speccmds.out

主机本地运行情况

执行命令:

$ ./omnetpp_r_base.wkx-x86-m64 -c General -r 0

输出结果:

OMNeT++ Discrete Event Simulation  (C) 1992-2008 Andras Varga, OpenSim Ltd.
Version: 4.0, build: 090310-10709, edition: Academic Public License -- NOT FOR COMMERCIAL USE
See the license for distribution terms and warranty disclaimer
Setting up Cmdenv...
Loading NED files from a SPEC directory 13

Preparing for running configuration General, run #0...
Scenario: $repetition=0
Assigned runID=speccpu-runid
Setting up network `largeNet'...
Initializing...

Running simulation...
** Event #1   T=0   Elapsed: 0.000s (0m 00s)  0% completed   ev/sec=0

GEM5 SE模式运行情况

执行命令:

$ /home/data/userhome/wangkaixuan/Workspace/gem5-for-debug/build/X86_MESI_Two_Level/gem5.opt \
    --outdir=/home/data/userhome/wangkaixuan/Workspace/gem5-for-debug/mydebug \
    /home/data/userhome/wangkaixuan/Workspace/gem5-for-debug/configs/example/se.py \
    --num-cpus=1 --mem-size=8GB --cpu-type=DerivO3CPU --caches --l2cache --l1i_size=64kB --l1d_size=64kB \
    --fast-forward=10000000000 --maxinsts=1000000000 \
    -c /home/data/userhome/wangkaixuan/SPEC2017/benchspec/CPU/520.omnetpp_r/run/run_base_refrate_wkx-x86-m64.0000/omnetpp_r_base.wkx-x86-m64 \
    --option="-c General -r 0"

输出结果:

OMNeT++ Discrete Event Simulation  (C) 1992-2008 Andras Varga, OpenSim Ltd.
Version: 4.0, build: 090310-10709, edition: Academic Public License -- NOT FOR COMMERCIAL USE
See the license for distribution terms and warranty disclaimer
Loading NED files from a SPEC directory 0

Preparing for running configuration General, run #0...
Scenario: $repetition=0
Assigned runID=speccpu-runid

<!> Error: Network `largeNet' not found, check .ini and .ned files.


End.

解决方案

从输出差异可看出,本地运行时加载了13个NED文件,而GEM5中加载了0个,核心原因是程序在GEM5环境下无法找到NED文件所在目录,可通过以下步骤解决:

1. 指定GEM5运行的工作目录

GEM5默认不会切换到目标程序的所在目录执行,需通过--cwd参数将工作目录设置为SPEC的run路径,确保程序能找到ned文件夹和omnetpp.ini:

/home/data/userhome/wangkaixuan/Workspace/gem5-for-debug/build/X86_MESI_Two_Level/gem5.opt \
    --outdir=/home/data/userhome/wangkaixuan/Workspace/gem5-for-debug/mydebug \
    /home/data/userhome/wangkaixuan/Workspace/gem5-for-debug/configs/example/se.py \
    --num-cpus=1 --mem-size=8GB --cpu-type=DerivO3CPU --caches --l2cache --l1i_size=64kB --l1d_size=64kB \
    --fast-forward=10000000000 --maxinsts=1000000000 \
    --cwd=/home/data/userhome/wangkaixuan/SPEC2017/benchspec/CPU/520.omnetpp_r/run/run_base_refrate_wkx-x86-m64.0000 \
    -c /home/data/userhome/wangkaixuan/SPEC2017/benchspec/CPU/520.omnetpp_r/run/run_base_refrate_wkx-x86-m64.0000/omnetpp_r_base.wkx-x86-m64 \
    --option="-c General -r 0"

2. 强制指定NED文件路径

如果指定工作目录后仍有问题,可在--option中添加-n ./ned参数,直接告诉OMNeT++加载当前目录下的ned文件夹:

--option="-c General -r 0 -n ./ned"

3. 检查文件权限

确保GEM5运行用户对ned文件夹及内部文件有读取权限,执行以下命令修改权限:

chmod -R 755 /home/data/userhome/wangkaixuan/SPEC2017/benchspec/CPU/520.omnetpp_r/run/run_base_refrate_wkx-x86-m64.0000/ned

内容的提问来源于stack exchange,提问作者Kaixuan Wang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 19:05:18