The benchmark is released as open-source and it is available in two ways: a virtual machine with all infrastructure ready for use, and as source code.
This tutorial aims to facilitate the configuration of MPSoCBench and all tools envolved. The following tools must be installed and properly configured. If you don't have any of the tools on your system, the next section can help you on necessary settings:
SystemC is a collection of C++ classes and templates that provides powerful mechanisms to model system architecture with hardware timing, concurrency and reactive behavior, allowing the creation of an executable specification of the system. To install SystemC 2.3.1, perform the following steps:
$ tar xvf systemc-2.3.1.tgz
$ mv systemc-2.3.1 systemc
$ make uninstall #if yout want to remove old versions $ ./configure --prefix=/opt/systemc $ make $ make install
ArchC is an Architecture Description Language (ADL) following a SystemC syntax style, which provides enough information in order to allow users to explore and verify a (new or legacy) processor's architecture by automatically generating not only software tools for code generation and inspection (like assemblers, linkers, and debuggers), but also executable processor models for platform representation. To install ArchC with TLM 2.0, perform the following steps:
$ tar xvf archc.tar.gz
$ make uninstall #if yout want to remove old versions $ ./configure --prefix=/opt/archc --with-systemc=/opt/systemc $ make $ make install
$ mkdir /opt/tools/compilers
$ tar xvf file_name.tar.gz
$ export PATH=/opt/tools/compilers/mips-newlib-elf/bin:$PATH $ export PATH=/opt/tools/compilers/arm-newlib-eabi/bin:$PATH $ export PATH=/opt/tools/compilers/powerpc-newlib-elf/bin:$PATH $ export PATH=/opt/tools/compilers/sparc-newlib-elf/bin:$PATH
The MPSoCBench suite benchmark is a scalable set of MPSoC platforms composed by four different processor models (ARM, PowerPC, MIPS, and SPARC), IPs, communication devices and a representative set of application adapted from Splash-2 and ParMibench benchmarks, which contains hundreds multi-core configurations with up to 64 cores.
$ git clone https://github.com/ArchC/MPSoCBench.git
$ tar xvf mpsocbench.tar.gz
$ rm processors -r $ git init $ git submodule add https://github.com/ArchC/mips.git processors/mips $ git submodule add https://github.com/ArchC/sparc.git processors/sparc $ git submodule add https://github.com/ArchC/powerpc.git processors/powerpc $ git submodule add https://github.com/ArchC/arm.git processors/arm
$ sh setup.sh
$ source env.sh
$ bash -l
If you are looking for an easy way to prepare the environment to use MPSoCBench, we suggest that you use a Virtual Machine. So, you can test and use this benchmark easily, and if you need improve performance, you can next install all tools in you computer. The source code will be available in this virtual machine as well. IMPORTANT: only the MPSoCBench 1.2 is available as a Virtual Machine. We will prepare a MPSoCBench 2.x Virtual Machine as soon as possible.