Build performance improvements:

Building all 6 ISAs separately.

$ time scons build/ARM/gem5.opt build/MIPS/gem5.opt build/POWER/gem5.opt
build/RISCV/gem5.opt build/SPARC/gem5.opt build/X86/gem5.opt

real    37m0.210s
user    764m20.963s
sys     46m18.113s

$ du -sh build
16G     build


Building "ALL" which has all 6 ISAs enabled together.

$ time scons build/ALL/gem5.opt

real    10m28.289s
user    194m31.505s
sys     9m36.281s

$ du -sh build
4.2G    build


Which is a build time reduction of about 72% on my system, and a build
directory size reduction of about 73%.

Gabe

On Sat, Nov 6, 2021 at 12:29 AM Gabe Black <[email protected]> wrote:

> As mentioned in the other thread, I can upload this hash as a branch on
> gerrit if people want to try it out.
>
> Gabe
>
> $ git log --oneline origin/develop..multiarch | wc -l
> 203
>
> $ build/ALL/gem5.opt configs/example/se.py --cpu-type=ArmAtomicSimpleCPU
> -c tests/test-progs/hello/bin/arm/linux/hello
> build/ALL/base/statistics.hh:280: warn: One of the stats is a legacy stat.
> Legacy stat is a stat that does not belong to any statistics::Group. Legacy
> stat is deprecated.
> gem5 Simulator System.  http://gem5.org
> gem5 is copyrighted software; use the --copyright option for details.
>
> gem5 version [DEVELOP-FOR-V21.2]
> gem5 compiled Nov  6 2021 00:23:55
> gem5 started Nov  6 2021 00:25:58
> gem5 executing on cake, pid 999191
> command line: build/ALL/gem5.opt configs/example/se.py
> --cpu-type=ArmAtomicSimpleCPU -c tests/test-progs/hello/bin/arm/linux/hello
>
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> Global frequency set at 1000000000000 ticks per second
> build/ALL/mem/mem_interface.cc:791: warn: DRAM device capacity (8192
> Mbytes) does not match the address range assigned (512 Mbytes)
> 0: system.remote_gdb: listening for remote gdb on port 7000
> **** REAL SIMULATION ****
> build/ALL/sim/simulate.cc:194: info: Entering event queue @ 0.  Starting
> simulation...
> Hello world!
> Exiting @ tick 2916500 because exiting with last active thread context
> Simulated exit code not 0! Exit code is 13
>
>
>
> [gblack@cake work]$ build/ALL/gem5.opt configs/example/se.py
> --cpu-type=X86AtomicSimpleCPU -c tests/test-progs/hello/bin/x86/linux/hello
> build/ALL/base/statistics.hh:280: warn: One of the stats is a legacy stat.
> Legacy stat is a stat that does not belong to any statistics::Group. Legacy
> stat is deprecated.
> gem5 Simulator System.  http://gem5.org
> gem5 is copyrighted software; use the --copyright option for details.
>
> gem5 version [DEVELOP-FOR-V21.2]
> gem5 compiled Nov  6 2021 00:23:55
> gem5 started Nov  6 2021 00:26:10
> gem5 executing on cake, pid 999224
> command line: build/ALL/gem5.opt configs/example/se.py
> --cpu-type=X86AtomicSimpleCPU -c tests/test-progs/hello/bin/x86/linux/hello
>
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> warn: membus.master is deprecated. `master` is now called `mem_side_ports`
> warn: membus.master is deprecated. `master` is now called `mem_side_ports`
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> Global frequency set at 1000000000000 ticks per second
> build/ALL/mem/mem_interface.cc:791: warn: DRAM device capacity (8192
> Mbytes) does not match the address range assigned (512 Mbytes)
> 0: system.remote_gdb: listening for remote gdb on port 7000
> **** REAL SIMULATION ****
> build/ALL/sim/simulate.cc:194: info: Entering event queue @ 0.  Starting
> simulation...
> Hello world!
> Exiting @ tick 5943000 because exiting with last active thread context
>
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to