It's not maintained properly, nor tested, and the engineering of these files has, frankly, become rather messy. se.py (and fs.py) are in the "configs/example" directory because they were intended to be examples of how to configure a gem5 simulation. Overtime they have been extended and used as a de-facto CLI to gem5 which they were never intended to be. This CLI is an inefficient, poorly documented way to configure a system and leads to all sorts problems. As an example, the cross-product of the all the CLI options is HUGE and a lot in them don't work or don't make sense. There really no way for the user to know what's right and what's wrong. This doesn't sit right with me.
Configuring a gem5 system should be seen more like writing a program. The scope of what can be done is infinite and is managed by giving the developer a language to state in a structured way what they want. gem5 is the interpreter for this language and the output is the simulation. Using fs.py/se.py to configure a system is like trying to develop a CPP program by CLI. You quickly run into limits. The reason I believe this was accepted for so long in gem5 is that configuring a non-trivial systems involved writing 100s of lines of Python code, a lot of which didn't vary much between different simulations. Building on our programming language comparison, we developed a standard library containing commonly used components which can be connected into a system in a modular manner: https://www.gem5.org/documentation/gem5-stdlib/overview. This library is continually tested, and we put significant engineering resources to maintaining its stability and extending it with new features. With the gem5 stdlib users can configure simulations in a few lines of Python. Here is an example of configuring an X86 FS system simulation running Ubuntu 18.04 boot to userspace with just 7 lines: https://github.com/gem5/gem5/blob/f29bfc0640c88a79eb7f94454ce31b3237ec0066/configs/example/gem5_library/x86-ubuntu-run.py. The stdlib addresses the problems se.py and fs.py were kept to address, in better way. Above all else, there's really no one who works regularly on the project willing to maintain these files to our standards. While they are deprecated and will be removed in a later release, we have no problem with people continuing to use them. They are open source, so take copy and use them in your work as you see fit. In deprecating them we are simply ceding responsibility so we may focus more-so on parts of the project we believe deliver better value to the community. Kind regards, Bobby -- Dr. Bobby R. Bruce Room 3050, Kemper Hall, UC Davis Davis, CA, 95616 web: https://www.bobbybruce.net > On Aug 26, 2023, at 6:52 AM, chengyong zhong via gem5-users > <gem5-users@gem5.org> wrote: > > Hi all, > I'm wondering why the config/example/se.py has been deprecated, it was a > helpful configuration for extending custom configuration. > _______________________________________________ > gem5-users mailing list -- gem5-users@gem5.org > To unsubscribe send an email to gem5-users-le...@gem5.org
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org