Overview

These instructions are intended to walk the user through a detailed set of steps to build and install the optional external components used by SST. It is intended for users with intermediate knowledge in the operation of Unix/Linux/OSX environments.

NOTE: Building SST and its External Components can sometimes be cumbersome and error prone due to the sheer number of combinations of operating systems, compiler versions and external required components. It is STRONGLY recommended that users closely follow these instructions.

Optional External Components Installation

SST allows for a number of optional external packages which can be tricky to build. Some notes and hints are included here.

Carefully following the instructions provided below should minimize any problems that may arise.

Note: Some the external packages may require files from the SST 5.1.x distribution. SST 5.1.x should have already been downloaded and extracted before compiling and installing these dependent external packages. See Detailed Build and Installation Instructions for SST for more information.

DRAMSim2 2.2.2

OPTIONAL EXTERNAL COMPONENT

General Infomation:

DRAMsim is a hardware-validated, cycle-accurate, C based simulator for DRAM devices such as DDR3. The device parameters are configurable. Please refer to DRAMSim2 for more details.

HybridSim 2.0.1

OPTIONAL EXTERNAL COMPONENT - Requires NVDimmSim and DRAMSim2

General Infomation:

HybridSim provides cycle-accurate simulation of a non-volatile memory system augmented with a DRAM based cache. It uses DRAMSim2 for the DRAM model and NVDIMMSim for the non-volatile memory model. Pleaser refer to HybridSim for more information.

QSim 0.2.1

OPTIONAL EXTERNAL COMPONENT - LINUX ONLY

General Infomation:

QSim is a project which aims, as part of the Manifold simulation effort at Georgia Tech, to create a thread safe multicore emulation library based on the QEMU emulator. QSim provides instruction-level control of the emulated environment and detailed information about the executing instruction stream. X86 Linux guests are supported with hundreds of emulated hardware contexts, each of which can run in an independent host thread. Applications of QSim include trace-gathering, multithreaded software development, and its primary target: microarchitecture simulation.

GLPK 4.54

OPTIONAL EXTERNAL COMPONENT - Used by Scheduler Element for optional enhanced features

General Infomation:

The GLPK (GNU Linear Programming Kit) package is intended for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems. It is a set of routines written in ANSI C and organized in the form of a callable library.

METIS 5.1

OPTIONAL EXTERNAL COMPONENT - Used by Scheduler Element for optional enhanced features

General Infomation:

METIS is a set of serial programs for partitioning graphs, partitioning finite element meshes, and producing fill reducing orderings for sparse matrices. The algorithms implemented in METIS are based on the multilevel recursive-bisection, multilevel k-way, and multi-constraint partitioning schemes

Zoltan 3.8

OPTIONAL EXTERNAL COMPONENT - Used for SST Partitioning

General Infomation:

The Zoltan library is a collection of data management services for parallel, unstructured, adaptive, and dynamic applications. It simplifies the load-balancing, data movement, unstructured communication, and memory usage difficulties that arise in dynamic applications such as adaptive finite-element methods, particle methods, and crash simulations. Zoltan’s data-structure neutral design also lets a wide range of applications use it without imposing restrictions on application data structures. Its object-based interface provides a simple and inexpensive way for application developers to use the library and researchers to make new capabilities available under a common interface.

MacSim 2.2.0

OPTIONAL EXTERNAL COMPONENT

General Infomation:

MacSim is a heterogeneous architecture simulator, which is trace-driven and cycle-level. It thoroughly models architectural behaviors, including detailed pipeline stages, multi-threading, and memory systems. Currently, MacSim support x86 and NVIDIA PTX instruction set architectures (ISA). MacSim is capable of simulating a variety of architectures, such as Intel’s Sandy Bridge and NVIDIA’s Fermi. It can simulate homogeneous ISA multicore simulations as well as heterogeneous ISA multicore simulations.

Intel Pin Tool 2.14-71313

OPTIONAL EXTERNAL COMPONENT - Required for Ariel Element

General Infomation:

Pin is a dynamic binary instrumentation framework for the IA-32 and x86-64 instruction-set architectures that enables the creation of dynamic program analysis tools. Some tools built with Pin are Intel Parallel Inspector, Intel Parallel Amplifier and Intel Parallel Advisor. The tools created using Pin, called Pintools, can be used to perform program analysis on user space applications in Linux and Windows. As a dynamic binary instrumentation tool, instrumentation is performed at run time on the compiled binary files. Thus, it requires no recompiling of source code and can support instrumenting programs that dynamically generate code.