gpt4 book ai didi

python - 使用 Pycharm 编写 gem5 配置脚本

转载 作者:行者123 更新时间:2023-12-04 13:44:13 30 4
gpt4 key购买 nike

为了使用更方便的 IDE 开发复杂的 gem5 python 配置脚本,必须添加 gem5 lib
到项目。但是,对于那些不是python和Pycharm专家的人(比如我自己)
有一些困难。

对于不熟悉 gem5 的人来说,这是
一个简短的解释:

gem5 是一个开源模拟器,用于检查硬件架构。
可以从github下载:link to github .
安装过程在以下link中描述.

<gem5_installation_dir>/gem5/configs/learning_gem5/part1

在上面的路径里面,有一个基本的python脚本文件:simple.py
此文件包含一些导入。
使用 Pycharm 编辑此文件需要一些位于 gem5 安装目录中的依赖项。
问题:
1) 如何将 gem5 的那些依赖添加到 Pycharm 中?
2) 如何使用 gem5 执行命令配置 Pycharm?

任何帮助,将不胜感激。

最佳答案

我在 gem5/configs/learning_gem5/part1/two_level.py 下的 gem5 d9cb548d83fa81858599807f54b52e5be35a6b03(2020 年 5 月)上看到的一些提示:

  • from common :常见的是在 configs/common由于上述原因而被发现 m5.util.addToPath('../../')打电话,所以加configs/到 PYTHONPATH,如下所示:PyCharm and PYTHONPATH
  • import m5来自 src/python/m5所以添加 src/python到上面的 PYTHONPATH
  • from caches import *来自兄弟learning_gem5/part1/caches.py ,很可能这会被 PyCharm 自动找到。否则,将该目录添加到 PYTHONPATH。
  • from m5.objects import * :这可能是您真正感兴趣的对象,因为它包含所有有趣的对象,但不幸的是 PyCharm 根本无法处理它我相信因为 SimObjects 在启动时通过 PyBind11 native 模块 + 代码以一种非常复杂的方式动态添加到该命名空间一代。

    更详细地描述其工作原理 can be found here ,但基本上每个 SimObject 类都会通过一些繁重的代码自动生成来完成这项工作,例如src/cpu/simple/AtomicSimpleCPU.py由于 SimObject('AtomicSimpleCPU.py')src/cpu/simple/SConscript .

    截至 2017 年,PyCharm 表示他们还没有适当的本地 C/C++ 扩展设置的计划:https://intellij-support.jetbrains.com/hc/en-us/community/posts/206018984-Developing-Python-extension-in-C-using-PyCharm

  • 话虽如此,我发现为 gem5 的 Python 部分使用 IDE 是不值得的。这是因为 Python 往往非常容易理解 with IPDB (或无法为其设置 IDE),如果您只是 grep你往往会很快猜到发生了什么事情。对于 C++,虽然我确实建议设置 Eclipse: How to setup Eclipse IDE for gem5 development?

    相关: Add custom modules to PyCharm Linter

    关于python - 使用 Pycharm 编写 gem5 配置脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51982735/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com