项目简介
本项目是一个基于C++的模拟器,名为LogGOPSim,用于模拟大规模并行计算系统中的事件调度和处理过程。它能够模拟网络通信协议(如Portals 4)的通信操作,具备网络模块的简化和可视化功能,并且支持与GEM5处理器模拟器集成以模拟处理器行为。
项目的主要特性和功能
- 网络通信模拟:支持模拟网络通信协议的发送、接收、本地操作等。
- GEM5集成:可与GEM5处理器模拟器集成,模拟处理器行为。
- 可视化功能:能显示事件的处理过程。
- 自动调度生成:支持自动生成适用于Portals 4和通用调度的GOAL调度文件。
- 基准测试:提供评估模拟器性能的基准测试功能。
安装使用步骤
环境准备
- 安装依赖库:C++编译器(如g++)、re2c、gengetopt、libagraph。
- 可选依赖(安装GEM5支持):- 安装GEM5所需依赖:sudo apt-get install mercurial scons swig gcc m4 python python-dev libgoogle-perftools-dev g++ zlib1g-dev
- 复制GEM5仓库:hg clone -r 11794 http://repo.gem5.org/gem5
- 编译GEM5:scons build/ARM/gem5.opt -j 4
- 测试GEM5:build/ARM/gem5.opt configs/example/se.py -c tests/test-progs/hello/bin/arm/linux/hello
 
- 安装GEM5所需依赖:
编译与安装
- 编译LogGOPSim:- 无GEM5支持:./configure
- 有GEM5支持:- 安装lgs - gem5模块:./install_gem5mod.sh <path to gem5 BUILD>
- 编译GEM5为库:scons --without-python --with-cxx-config --without-tcmalloc -j 4 build/ARM/libgem5_opt.so
- 配置LogGOPSim:./configure --with-gem5=<path to gem5>
- 编译:make
- 安装:make install
 
- 安装lgs - gem5模块:
 
- 无GEM5支持:
运行模拟
- 无GEM5的LogP模拟:- 编写或生成GOAL调度文件。
- 使用txt2bin将调度文件转换为二进制格式。
- 执行模拟:LogGOPSim -f <调度文件>
 
- 带GEM5的LogP + packet模拟:- 生成网络拓扑文件。
- 编写或生成GOAL调度文件。
- 运行模拟:./run.sh <goal-file-prefix>
 
可视化
- 运行可视化:- 使用-V选项运行LogGOPSim:LogGOPSim -f <调度文件> -V viz.out
- 编译DrawViz:make
- 运行DrawViz:drawviz -i viz.out -o viz.eps
- 查看输出:gv viz.eps
 
- 使用
基准测试
- 构建基准测试:执行./init.sh {PATH TO GEM5}构建所有基准测试所需的二进制文件。
- 运行基准测试:使用./run_all_tests.sh运行所有基准测试。
- 创建可视化:使用./create_all_visualizations.sh创建所有测试的可视化结果。
引用
在使用此软件进行研究时,请引用以下文献: T. Hoefler, T. Schneider, A. Lumsdaine: LogGOPSim – Simulating Large-Scale Applications in the LogGOPS Model
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】