Giter Site home page Giter Site logo

itomaldonado / multiprocessor-benchmarking-exploration Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 12.82 MB

Multiprocessor Benchmark Exploration with NPB-OMP 3.3

Makefile 1.12% Fortran 81.41% C 16.02% C++ 0.85% SourcePawn 0.01% Python 0.47% Shell 0.11% Awk 0.02%

multiprocessor-benchmarking-exploration's Introduction

Fall 2015 - Computer Architecture Final Project

This directory contains the OpenMP implementation of the NAS Parallel Benchmarks, Version 3.3 (NPB3.3-OMP). These were used as part of the Rutger's Fall 2015 Computer Architecture Class. For more information about the full suite please refer to README.nasa.

Compilation

We currently have is set-up to compile using gcc for an x86 architecture. This can be seen in the file ./config/make.def.
We also have it set-up to only compile problem sizes A,B,C,S and W. This can be seen in the file ./config/suite.def.

To compile (in a *inx environment) simply run ./compile_suite.sh all the generated executables will be found in ./bin/ and will be in the format of <program>.<class>.x for example, for the program BT with class A the executable will be bt.A.x.

For a full explanation of compilation and running of the benchmarks in other architectures and different class sizes please refer to README.install.

Running

We included the ./run_all.sh shell script to ease execution of the programs and should work on any *inx environment. Tun run them simply run ./run_all.sh <Threads> <Runs> where <Threads> means the max number of threads to run (it will run from 1 to <Threads>) and <Runs> means the number of iterations to run for each one. For example, to run all benchmarks from 1 - 8 treads 5 times you will run:

./run_all.sh 8 5

This will generate a folder called ./outputs/ which will contain a .out file for each program/run. The format of this file is <program>.T<thread>.run<run>.out where <program> is the name of the program's executable, <thread> is the current thread and <run> is the current run. For example bt.A.x.T2.run5.out represents the output file for the program bt.A.x on thread 2 and run 5.

Combining results

For convinience, we also included the ./outputs_to_csv.py python script that will combine all of the results into two .csv files in the directory ./csv/. The two files are:

  • npb-benchmark-all-output.csv: Contains timings for all sub-sections of a program, as reported by the benchmark.
  • npb-benchmark-total-output.csv: Contains only total execution time for the program as a whole.

To run, you need to have python 2.7.9+ installed, then simply do: python outputs_to_csv.py.

Our results

We also included two other directories ./result_outputs_archived which include the collected raw output files generated by our runs, and ./result_graphs/ includes the results in .xlsx format with graphs and pivots tables for visualizing the data.

Collected Raw Outputs

Follow the format: NPB-outputs-t<threads>-<os>-[no]timerflag[-affinity].zip where you show the number of threads used, the OS, if we had the option to show all timers via the timerflag and if we used OpenMP affinity options.

  • NPB-outputs-t4-linux-timerflag-affinity.zip
  • NPB-outputs-t4-linux-timerflag.zip
  • NPB-outputs-t4-mac-notimerflag.zip
  • NPB-outputs-t8-mac-timerflag.zip
  • NPB-outputs-t8-osx-timerflag.zip
  • NPB-outputs-t8-win-notimerflag.zip

Result Graphs

Follow the format: npb-benchmark-t<threads>-<os>[-affinity].xlsx where you show the number of threads used, the OS, if we had the option to show all timers via the timerflag and if we used OpenMP affinity options.

  • npb-benchmark-all-t4-linux.xlsx
  • npb-benchmark-all-t4-linux-affinity.xlsx
  • npb-benchmark-all-t4-mac.xlsx
  • npb-benchmark-all-t8-mac.xlsx
  • npb-benchmark-total-t4-linux.xlsx
  • npb-benchmark-total-t4-linux-affinity.xlsx
  • npb-benchmark-total-t4-mac.xlsx
  • npb-benchmark-total-t4-win.xlsx
  • npb-benchmark-total-t8-mac.xlsx
  • npb-benchmark-total-t8-win.xlsx

multiprocessor-benchmarking-exploration's People

Contributors

itomaldonado avatar mingtaiha avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.