How To Install

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.


Source Code - Installing all tools manually

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:

  • GCC
  • Python
  • SystemC 2.3.1 including TLM 2.0
  • Archc and compilers for target applications

SystemC

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:

  1. We recommend installing SystemC and the other tools on the opt directory, but if you want to install in another directory, replace the opt/ directory by the new path in all the following commands.
  2. Download the systemc-2.3.1.tgz (includes TLM)
  3. Unzip in the opt directory;
  4. $ tar xvf systemc-2.3.1.tgz 
  5. It is recommended that you rename the directory:
  6. $ mv systemc-2.3.1 systemc 
  7. Configure and install:
  8. $ make uninstall #if yout want to remove old versions 
    $ ./configure --prefix=/opt/systemc 
    $ make
    $ make install 
  9. Note that you use the SystemC paths to configure and compile the tool. Make sure that you use correct paths.
  10. You can ignore any compilation error of files from the examples directory;

ArchC and Cross-Compilers

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:

  1. We recommend installing ArchC and the other tools on the opt directory, but if you want to install in another directory, replace the opt/ directory by the new path in all the following commands.
  2. Download the ArchC
  3. Unzip in the /opt directory;
  4. $ tar xvf archc.tar.gz 
  5. Execute the command below to create configuration scripts:
  6. $ ./autogen.sh
  7. Configure and install. Note that you use the SystemC (including TLM) paths to configure ArchC. Make sure that you use correct paths:
  8. $ make uninstall #if yout want to remove old versions
    $ ./configure --prefix=/opt/archc --with-systemc=/opt/systemc
    $ make
    $ make install 
  9. Choose or create the directory where you want to store the compilers. For example:
    $ mkdir /opt/tools/compilers 
  10. Download the ArchC compilers from the ArchC website (Cross Compilers and Tools) for PowerPC, MIPS, SPARC, and ARM
  11. Unzip each one of them inside the directory you had chosen:
  12. $ tar xvf file_name.tar.gz  
  • Important: Please edit the ~/.profile file with the compiler paths. Example:
  • 
    $ 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
          

    MPSoCBench

    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.

    1. We recommend installing MPSoCBench and the other tools on the opt directory, but if you want to install in another directory, replace the opt/ directory by the new path in all the following commands.
    2. Download the MPSoCBench (latest version) or clone the project using the command bellow:
    3. 
      $ git clone https://github.com/ArchC/MPSoCBench.git
      
    4. In case of using the tar.gz package, unzip in the opt/ directory:
    5. $ tar xvf mpsocbench.tar.gz 
    6. And execute these following commands to get the processor model submodules (you can ignore this step if you use the git clone command to get the MPSoCBench):
    7. 
      $ 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
      
    8. Use the setup.sh script to download automatically the newest version of the ArchC processor models
    9. $ sh setup.sh 
    10. Use the env.sh script to configure your system environment automatically
    11. $ source env.sh 
      $ bash -l 

      Virtual Machine

      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.

      How To Install MPSoCBench 1.2 VM

    12. That's all folks! Go to How To Use for learning how to test and ho to use the MPSoCBench.