Coder Social home page Coder Social logo

vpalatin / performance_modelisation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pourroyjean/performance_modelisation

0.0 1.0 0.0 3.08 MB

Sujet de thèse: Calcul Haute Performance : Caractérisation d’architectures et optimisation d’applications pour les futures générations de supercalculateurs

License: GNU General Public License v3.0

CMake 1.57% Shell 12.61% Awk 1.64% C 14.16% M4 0.58% Makefile 0.06% Roff 1.82% C++ 52.82% JavaScript 0.04% Python 14.56% Fortran 0.07% Jupyter Notebook 0.06%

performance_modelisation's Introduction

Intro to Performance optimisation

This package should be used by any programmer interested by tunning or monitoring the performance of his applications. This package contains the following tools:

  • Kernel Generator: used to determine what are the different frequency used by your processor during different scenario (AVX1, AVX2, Turbo ON/OFF...)
  • DML_MEM: a benchmark used to measure the performance of the memory subsystem by accessing memory with stride access
  • YAMB: a tool used to monitor the memory bus traffic.
  • Oprofile++: a tool to find and extract hot spots from an application

Install

Each tool/benchmark can be compiled separately. You can choose which one to compile by modifying the Cmake configuration file in src/CMakeLists.txt. For example, to only compile the Kernel Generator, you can use the following configuration:

add_subdirectory (benchmark_kernel_generator)
#add_subdirectory(tool_oprofile)
#add_subdirectory (tool_yamb)
#add_subdirectory (benchmark_dml_mem)

Here is the simplest way to download and install our tools:

git clone [email protected]:PourroyJean/performance_modelisation.git performance_modelisation
cd performance_modelisation
mkdir build
cd build
vi ../src/CMakeLists.txt  #to choose which tool to compile 
cmake ..
make

Configure each tool

Each tool can be compiled separately and have its own settings.

DML_MEM benchmark

The DML benchmark can be compiled with MPI or not. To do this, the following flag must be set in the cmake tool configuration:

cmake -DDML_BUILD_MPI=ON ..

To analyze the different steps of the benchmark (change of stride size, data set size) it can be interesting to monitor the memory bus traffic with YAMB and to annotate the graph with the library provided for. To do this, the following flag must be set in the cmake tool configuration:

cmake -DDML_USE_YAMB=ON ..

Requirement

  • CMAKE - An open-source, cross-platform family of tools designed to build, test and package software

Other

We also provide :

  • KeKKak: simple kernels is developped to have a fair comparison of microarchitectures on the Keccak algorithm

kldsfjsdkljf

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

performance_modelisation's People

Contributors

khennicb avatar pourroyjean avatar tinankh avatar

Watchers

 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.