misc: Add release notes for 20.1
Change-Id: I011ff987e222326dd7f0787c41043578b52b236a Signed-off-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/35375 Maintainer: Jason Lowe-Power <power.jg@gmail.com> Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-by: Matthew Poremba <matthew.poremba@amd.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
committed by
Jason Lowe-Power
parent
65338a63d2
commit
aae8bd9a66
120
RELEASE-NOTES.md
120
RELEASE-NOTES.md
@@ -1,6 +1,124 @@
|
||||
# Version 20.1.0.0
|
||||
|
||||
* m5.stats.dump() root argument renamed to roots to reflect the fact that it now takes a list of SimObjects
|
||||
Thank you to everyone that made this release possible!
|
||||
This has been a very productive release with [150 issues](https://gem5.atlassian.net/), over 650 commits (a 25% increase from the 20.0 release), and 58 unique contributors (a 100% increase!).
|
||||
|
||||
## Process changes
|
||||
|
||||
We are no longer using the "master" branch.
|
||||
Instead, we will have two branches:
|
||||
|
||||
* "stable": This will point to the latest stable release (gem5-20.1 as of today)
|
||||
* "develop": This is the latest development code that will be merged in to the "stable" branch at each release.
|
||||
|
||||
We suggest all *users* use the stable (default) branch.
|
||||
However, to contribute your fixes and new changes to gem5, it should be contributed to the develop branch.
|
||||
See CONTRIBUTING.md for more details.
|
||||
|
||||
gem5 has also implemented a project code of conduct.
|
||||
See the CODE-OF-CONDUCT.md file for details.
|
||||
In the code of conduct "we pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community."
|
||||
|
||||
## New features in 20.1
|
||||
|
||||
### New DRAM interface: Contributed by *Wendy Elsasser*
|
||||
|
||||
You can find details about this on the [gem5 blog](http://www.gem5.org/2020/05/27/memory-controller.html) or Wendy's talks on YouTube: [Talk on new interface and NVM](https://www.youtube.com/watch?v=t2PRoZPwwpk) and the [talk on LPDDR5](https://www.youtube.com/watch?v=ttJ9_I_Avyc)
|
||||
|
||||
* **[PYTHON API CHANGE]**: The DRAM models are now *DRAM interfaces* which is a child of the *memory controller*. Example change shown [in the blog post](http://www.gem5.org/project/2020/07/18/gem5-20-1.html).
|
||||
* The DRAM is split into a memory controller and a DRAM interface
|
||||
* `SimpleMemory` is no longer a drop-in replacement for a DRAM-based memory controller.
|
||||
* LPDDR5 model added
|
||||
* NVM model added
|
||||
* New memory controller model that can use both NVM and DRAM
|
||||
|
||||
### Improved on-chip interconnect model, HeteroGarnet: Contributed by *Srikant Bharadwaj*
|
||||
|
||||
You can find details about this on the [gem5 blog](http://www.gem5.org/2020/05/27/heterogarnet.html) and [Srikant's talk on YouTube](https://www.youtube.com/watch?v=AH9r44r2lHA).
|
||||
|
||||
* **[USER-FACING CHANGE]**: The network type options are now "simple" and "garnet" instead of "garnet2.0". (If "garnet2.0" is used, you will get a warning until gem5-20.2)
|
||||
* Added models for clock domain crossings and serialization/deserialization (SERDES)
|
||||
|
||||
### Transactional memory support: Contributed by *Timothy Hayes*
|
||||
|
||||
You can find details on the [Jira issue](https://gem5.atlassian.net/browse/GEM5-587)
|
||||
|
||||
* gem5 now supports Arm TME (transactional memory extensions)
|
||||
* Transactional memory is only implemented in the `MESI_Three_Level_HTM` Ruby protocol, and it is only implemented in Ruby.
|
||||
* This implements a checkpointing mechanism for the architectural state and buffering of speculative memory updates.
|
||||
* IBM POWER and x86 HTM extensions have *not* been implemented.
|
||||
|
||||
### Other new features
|
||||
|
||||
* External simulator integrations
|
||||
* Added support for DRAMSim3
|
||||
* Added back support for DRAMSim2
|
||||
* Armv8-A Self Hosted Debug extension added
|
||||
* KVM support for Armv8-A hosts without GICv2 hardware
|
||||
* Implemented Secure EL2 for Armv8-A
|
||||
|
||||
## Removed features
|
||||
|
||||
* Dropped support for mercurial version control
|
||||
|
||||
## New supported platforms
|
||||
|
||||
* GCC up to 10.2 is now supported. Minimum GCC is now 5.0.
|
||||
* Clang up to version 9. Minimum Clang is now 3.9.
|
||||
|
||||
## Platforms no longer support
|
||||
|
||||
* **[USER-FACING CHANGE]**: Python 2 is officially deprecated. We will drop support for Python 2 in the next release. In this release you will get a warning if you're using Python 2.
|
||||
* **[USER-FACING CHANGE]**: We have dropped support for GCC 4.X
|
||||
* **[USER-FACING CHANGE]**: We have dropped support for Scons 2.x (Note: this is the default in Ubuntu 16.04. Use pip to install a newer scons.)
|
||||
|
||||
See <http://www.gem5.org/documentation/general_docs/building> for gem5's current dependencies.
|
||||
|
||||
## Other changes
|
||||
|
||||
### Deprecating "master" and "slave"
|
||||
|
||||
* **[API CHANGE]**: The names "master" and "slave" have been deprecated
|
||||
* Special thanks to Lakin Smith, Shivani Parekh, Eden Avivi, and Emily Brickey.
|
||||
* Below is a guide to most of the name changes.
|
||||
* The goal was to replace problematic language with more descriptive and precise terms.
|
||||
* There may be some bugs introduced with this change as there were many places in the Python configurations which relied on "duck typing".
|
||||
* This change is mostly backwards compatible and warning will be issued until at least gem5-20.2.
|
||||
|
||||
```
|
||||
MasterPort -> RequestorPort
|
||||
SlavePort -> ResponsePort
|
||||
|
||||
xbar.slave -> xbar.cpu_side
|
||||
xbar.master -> xbar.mem_side
|
||||
|
||||
MasterId -> RequestorId
|
||||
```
|
||||
|
||||
### Testing improvements
|
||||
|
||||
* We now have Jenkins server (<http://jenkins.gem5.org/>) running nightly and other large tests. Special thanks to Mike Upton for setting this up!
|
||||
* Nightly tests run the "long" regression tests (many tests added).
|
||||
* Compiler tests run gem5 build for many targets and all compilers once a week.
|
||||
* Updated CI tester (kokoro) to use a more up-to-date environment.
|
||||
* Improved the testing infrastructure.
|
||||
* Almost all testing resources now available in [gem5-resources repository](https://gem5.googlesource.com/public/gem5-resources/).
|
||||
* Generally cleaned up the `tests/` directory in mainline gem5.
|
||||
* Many general testlib improvements.
|
||||
|
||||
### More changes
|
||||
|
||||
* **[PYTHON API CHANGE]**: m5.stats.dump() root argument renamed to roots to reflect the fact that it now takes a list of SimObjects
|
||||
* **[USER-FACING CHANGE]**: Checkpoint compatibility may be broken by the following changes
|
||||
* <https://gem5-review.googlesource.com/c/public/gem5/+/25145>
|
||||
* <https://gem5-review.googlesource.com/c/public/gem5/+/31874>
|
||||
* **[API CHANGE]** Changed `setCPU` to `setThreadContext` in Interrupts
|
||||
* Added a `Compressor` namespace.
|
||||
* **[API CHANGE]** The `Callback` class was removed and replaced with C++ lambdas.
|
||||
* Many objects' stats have been updated to the "new" stats style.
|
||||
* Many more objects have had their APIs formalized. See <http://www.gem5.org/documentation/general_docs/gem5-apis>
|
||||
|
||||
----------------------------------------------------------------------------------------------------
|
||||
|
||||
# Version 20.0.0.3
|
||||
|
||||
|
||||
Reference in New Issue
Block a user