### Next Release: CoMeT Simulator
CoMeT: CoMeT is next-generation open-source EDA toolchain for integrated core-memory interval thermal simulations of 2D, 2.5, and 3D multi-/many-core processors. CoMeT (partially) *subsumes* the code of HotSniper.
[Download CoMeT](https://github.com/marg-tools/CoMeT)
# HotSniper 7
An EDA toolchain for interval thermal simulations of 2D multi-/many-cores in an open system.
## Publication
### HotSniper: Sniper-Based Toolchain for Many-Core Thermal Simulations in Open Systems
Details of HotSniper can be found in our ESL 2018 paper, and please consider citing this paper in your work if you find this tool useful in your research.
> Pathania, Anuj, and Jörg Henkel. **"HotSniper: Sniper-Based Toolchain for Many-Core Thermal Simulations in Open Systems."** *IEEE Embedded Systems Letters* 11.2 (2018): 54-57.
[IEEE Xplore](https://ieeexplore.ieee.org/abstract/document/8444047)
## The HotSniper User Manual
Please refer to [Hot Sniper User Manual](https://github.com/anujpathania/HotSniper/blob/master/The%20HotSniper%20User%20Manual.pdf) to learn how to write custom scheduling policies that perform thermal-aware Dynamic Voltage Frequency Scaling (DVFS), Task Mapping, and Task Migration.
## Ground Rules
Found a Bug, Report [Here](https://github.com/anujpathania/HotSniper/issues)! Have a Question, Ask [Here](https://github.com/anujpathania/HotSniper/discussions)!
**No Direct Emails.**
## 1- Requirements
### Docker
HotSniper7 compiles and runs inside a Docker container. Therefore, you need to download & install Docker.
For more info: https://docs.docker.com/engine/install/ubuntu/
After installing Docker, make sure you are able to run it without needing sudo by following instructions here - https://docs.docker.com/engine/install/linux-postinstall/
### PinPlay
Download and extract Pinplay 3.2 to the root HotSniper7 directory as ```pin_kit```
```sh
wget --user-agent="Mozilla" https://www.intel.com/content/dam/develop/external/us/en/protected/pinplay-drdebug-3.2-pin-3.2-81205-gcc-linux.tar.gz
tar xf pinplay-drdebug-3.2-pin-3.2-81205-gcc-linux.tar.gz
mv pinplay-drdebug-3.2-pin-3.2-81205-gcc-linux pin_kit
```
## 2- Compiling HotSniper7
At this stage, the root HotSniper7 directory has a folder named ```pin_kit``` containing the PinPlay-3.2 library and a folder named ```hotspot```containing the HotSpot simulator. Since you now have Docker installed, let's create a ```container``` using the shipped ```Dockerfile```.
```sh
cd docker
make
make run
```
Now that we are inside our container, we can build HotSniper 7 and its requirements:
```sh
cd ..
```
### HotSpot
The [HotSpot] simulator is shipped with HotSniper7. All you need to do is to compile it:
```sh
cd hotspot
make
cd ..
```
### HotSniper 7
```sh
make
```
## 3- Compiling the Benchmarks
Run inside container:
```sh
#setting $GRAPHITE_ROOT to HotSniper7's root directory
export GRAPHITE_ROOT=$(pwd)
cd benchmarks
#setting $BENCHMARKS_ROOT to the benchmarks directory
export BENCHMARKS_ROOT=$(pwd)
#compiling the benchmarks
make
```
## 4- Running the Simulations
HotSniper7 is shipped with a ```simulationcontrol``` script that you can use to run batch simulations.
Run inside container:
```sh
cd simulationcontrol
PYTHONIOENCODING="UTF-8" python3 run.py
```
The path of the results' directory can be set inside the ```simulationcontrol/config.py``` file.
## 5- Evaluate your results
Quickly list the finished simulations:
```sh
cd simulationcontrol
PYTHONIOENCODING="UTF-8" python3 parse_results.py
```
Each run is stored in a separate directory in the results directory (see 4).
For quick visual check, many plots are automatically generated for you (IPS, power, etc).
To do your own (automated) evaluations, see the `simulationcontrol.resultlib` package for a set of helper functions to parse the results. See the source code of `parse_results.py` for a few examples.
## Configuration Checklist
- [ ] select technology node
- `config/base.cfg`: `power/technology_node`
- [ ] V/f-levels
- check `scripts/energystats.py`: `build_dvfs_table` (keep in mind that V/f-levels are specified at 22nm)
- [ ] power scaling (if technology node < 22nm)
- check `tools/mcpat.py`: `scale_power`
- [ ] select high-level architecture
- `simulationcontrol/config.py`: `SNIPER_CONFIG` and `NUMBER_CORES`
- [ ] set architectural parameters
- `config/base.cfg` and other config files as specified in the previous step
- [ ] set scheduling and DVFS parameters
- `config/base.cfg`: `scheduler/open/*` and `scheduler/open/dvfs/*`
- [ ] set `perf_model/core/frequency`
- [ ] start trial run to extract estimations from McPAT
- start a simulation based on `simulationcontrol/run.py`: `test_static_power`, kill it after ~5ms simulated time
- extract static power at low/high V/f levels from the command line output: take power of last / second-to-last core
- extract area of a core from `benchmarks/energystats-temp.txt`: take processor area (including L3 cache etc.), divide by number of cores, and scale it to your technology node. If file is empty, start simulation again, kill it, and check again.
- [ ] configure static power consumption
- `config/base.cfg`: `power/*`
- `inactive_power` must be set to static power consumption at min V/f level
- [ ] create floorplan (`*.flp`) and corresponding thermal model (`*.bin`)
- Option 1: use your own floorplan
- use [MatEX] to create the thermal model (`-eigen_out`) from your floorplan
- Option 2: use [thermallib] to create a simple regular floorplan (only per-core temperature, no finer granularity) and the corresponding thermal model
- core width is `sqrt(core area)` from McPAT area estimations
- example: `python3 create_thermal_model.py --amb 45 --crit 80 --core_naming sniper --core_width [core width] model [cores]x[cores]`
- NOTE: McPAT area estimations are high, i.e., observed temperatures are too low. Therefore, using a smaller core size should be considered as an option.
- [ ] specify floorplan, thermal model and other thermal settings in config
- `config/base.cfg`: `periodic_thermal`
- `tdp` is defined by the floorplan, temperature limits and cooling parameters
- [ ] create your scenarios
- `simulationcontrol/run.py` (e.g., similar to `def example`)
- [ ] set your output folder for traces
- `simulationcontrol/config.py`: `RESULTS_FOLDER`
- This folder usually is outside of the HotSniper folder because we don't want to commit results (large files) to the simulator repo.
- [ ] verify all configurations in `sim.cfg` of a finished run
## Common Errors
```UnicodeEncodeError: 'ascii' codec can't encode character '\xb0' in position 61: ordinal not in range(128)```
```sh
export PYTHONIOENCODING="UTF-8"
```
## Code Acknowledgements
Sniper: <http://snipersim.org>
McPat: https://www.hpl.hp.com/research/mcpat/
HotSpot: <http://lava.cs.virginia.edu/HotSpot/>
MatEx: http://ces.itec.kit.edu/846.php
thermallib: https://github.com/ma-rapp/thermallib
没有合适的资源?快使用搜索试试~ 我知道了~
一个EDA工具链,用于在开放系统中对2D多核众核.zip
共1353个文件
h:390个
cc:243个
c:181个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 3 浏览量
2023-04-08
18:04:44
上传
评论
收藏 16.11MB ZIP 举报
温馨提示
一个EDA工具链,用于在开放系统中对2D多核众核.zip
资源推荐
资源详情
资源评论
收起资源包目录
一个EDA工具链,用于在开放系统中对2D多核众核.zip (1353个子文件)
README-3.0 19KB
README-1.0 12KB
README-4.0 7KB
README-6.0 6KB
README-2.0 4KB
README-5.0 3KB
README-5.01 537B
README-5.02 236B
Dockerfile-ubuntu-16.04 2KB
Dockerfile-ubuntu-18.04 1KB
README-3.1 5KB
README-3.0.1 2KB
README-4.1 1KB
input.16384 55B
README-4.2 674B
README-3.0.2 282B
input.2048 54B
input.256 53B
README.barnes 2KB
8x8_eigendata.bin 2.75MB
gcc.bldconf 3KB
gcc-sniper.bldconf 393B
gcc-sniper.bldconf 380B
gcc-sniper.bldconf 274B
gcc-sniper.bldconf 139B
gcc-sniper.bldconf 135B
gcc-sniper.bldconf 135B
gcc-sniper.bldconf 133B
gcc-sniper.bldconf 132B
gcc-sniper.bldconf 132B
gcc-sniper.bldconf 131B
gcc-sniper.bldconf 131B
gcc-sniper.bldconf 131B
gcc-sniper.bldconf 131B
gcc-sniper.bldconf 130B
gcc-sniper.bldconf 130B
gcc-sniper.bldconf 129B
gcc-sniper.bldconf 129B
gcc-sniper.bldconf 128B
gcc-sniper.bldconf 128B
gcc-sniper.bldconf 127B
gcc-sniper.bldconf 127B
gcc-sniper.bldconf 127B
gcc-sniper.bldconf 127B
gcc-sniper.bldconf 127B
gcc-sniper.bldconf 126B
gcc-sniper.bldconf 126B
temperature_grid.c 182KB
room_model.C 153KB
flp.c 48KB
temperature_mobile.c 48KB
elemman.C 47KB
temperature.c 41KB
is.c 37KB
rad_main.C 37KB
slave2.C 35KB
fft.c 32KB
is.c 32KB
slave2.C 31KB
tif_dirread.c 31KB
construct_grid.C 30KB
tif_fax3.c 29KB
temperature_block.c 28KB
tif_getimage.c 26KB
visible.C 26KB
fft.C 25KB
tif_dir.c 25KB
radix.C 24KB
code.C 24KB
patchman.C 24KB
mkg3states.c 24KB
slave1.C 24KB
lu.C 24KB
tif_lzw.c 24KB
env.C 24KB
taskman.C 23KB
hotspot.c 23KB
memory.C 23KB
raytrace.C 22KB
tif_dirwrite.c 21KB
fmm.C 21KB
multi.C 21KB
hutv.C 20KB
main.C 20KB
glibps.c 19KB
main.C 19KB
display.C 19KB
lu.C 19KB
interactions.C 19KB
adaptive.C 19KB
smallobj.C 18KB
initia.C 18KB
fo.C 18KB
cr.C 18KB
rad_tools.C 18KB
block2.C 17KB
tri.C 17KB
numLL.C 17KB
tif_print.c 17KB
tif_write.c 17KB
共 1353 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9154
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于QT+C++的智能云监护仪项目,能够实时显示使用者心电、血氧、血压波形及其它各种参数+源码(毕业设计&课程设计&项目开发)
- 基于java开发的app接收硬件端传输的心音信号,具有显示心音波形,发出心音的功能+源码(毕业设计&课程设计&项目开发)
- Python 程序语言设计模式思路-行为型模式:职责链模式:将请求从一个处理者传递到下一个处理者
- 9241703124789646.16健身系统2.apk
- postgresql-16.3-1-windows-x64.exe
- Python 程序语言设计模式思路-结构型模式:装饰器讲解及利用Python装饰器模式实现高效日志记录和性能测试
- 基于YOLOv5和DeepSORT的多目标跟踪仿真与记录
- Python 程序语言设计模式思路-创建型模式:原型模式:通过复制现有对象来创建新对象,面向对象编程
- 卸载软件geek卸载软件geek
- Python 程序语言设计模式思路-创建型模式:单例模式,确保一个类的唯一实例(装饰器)面向对象编程、继承
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功