Skip to content

Docker image of the IBM Platform-Independent Software Analysis tool. Advanced Computer Architectures course project (A.Y. 2017/2018) at Polytechnic of Milan, Italy.

License

Notifications You must be signed in to change notification settings

nyxgear/ibm-pisa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker image of the IBM Platform-Independent Software Analysis

This Docker image aims to provide the installed and equipped IBM Platform-Independent Software Analysis tool ready to be used.

Please, visit the official repository for further details.

IBM Platform-Independent Software Analysis

IBM Platform-Independent Software Analysis is a framework based on the LLVM compiler infrastructure that analyzes C/C++ and Fortran code at instruction, basic block and function level at application run-time. Its objective is to generate a software model for sequential and parallel (OpenMP and MPI) applications in a hardware-independent manner. Two examples of use cases for this framework are:

  • Hardware-agnostic software characterization to support design decision to match hardware designs to applications.
  • Hardware design-space exploration studies by combining the software model with hardware performance models.

IBM Platform-Independent Software Analysis characterizes applications per thread and process and measures software properties such as: instruction-level parallelism, flow-control behavior, memory access pattern, and inter-process communication behavior.

A detailed description of the IBM Platform-Independent Software Analysis tool can be found here: IBM-PISA IJPP Paper.

More related publications are listed here: IBM-PISA-related projects.

Prerequisites

  • latest Docker version

To install Docker please refer to the official Docker installation page.

Usage

It is not required nor to clone the current repository nor to build the image before to use it.

cd /folder-of-your-source-code
# being inside your source code folder

# get the run script
wget https://raw.githubusercontent.com/nyxgear/ibm-pisa/master/run-ibm-pisa.sh

# make it executable
chmod u+x ./run-ibm-pisa.sh

# run it
./run-ibm-pisa.sh

The run-ibm-pisa.sh script will take care automatically on the first execution to download the image from the Docker Hub repository.

Then, each time you want to enter into the container and use all the IBM-PISA functionalities, just execute:

./run-ibm-pisa.sh

Once inside the the running container, the directory you'll be into will be the mounted version of the the directory you triggered the ./run-ibm-pisa.sh script from. This means that all the files that were in the directory from which you run the script are now available in the current directory (inside the container).

TIP Move the run-ibm-pisa.sh script in the directory you more prefer and execute it to mount that directory inside the container and use IBM-PISA functionalities.

Startup hook

In addition to the ./run-ibm-pisa.sh script you can exploit an additional hook script that is executed at first, each time the container is run.

Requirements for the hook script:

  • file name: docker-startup-hook.sh
  • file placed exactly in the same same directory of the run-ibm-pisa.sh script

To start from an example:

cd /folder-of-your-source-code
# being inside your source code folder

# get the docker-startup-hook.sh example
wget https://raw.githubusercontent.com/nyxgear/ibm-pisa/master/docker-startup-hook.sh

Build the image

If you want to build the image by yourself without exploiting the pre-built one available on Docker Hub

# clone the repository
git clone [email protected]:nyxgear/ibm-pisa.git

cd ibm-pisa

# build and squash
docker build --squash --tag nyxgear/ibm-pisa:latest -f Dockerfile .

WARNING: Usually, it takes long time to build the entire image.

Docker Hub repository

A build of this image can be found at nyxgear/ibm-pisa on Docker Hub.

Project presentation slides

IBM-PISA Docker Image - Project presentation slides

Project context

This project has been developed for the Advanced Computer Architecture course (A.Y. 2017/2018) at Politecnico di Milano.

About

Docker image of the IBM Platform-Independent Software Analysis tool. Advanced Computer Architectures course project (A.Y. 2017/2018) at Polytechnic of Milan, Italy.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published