Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
/ELAPSPublic

Experimental Linear Algebra Performance Studies

License

NotificationsYou must be signed in to change notification settings

HPAC/ELAPS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Experimental Linear Algebra Performance Studies

Table of Contentsgenerated withDocToc

What is ELAPS?

ELAPS is a multi-platform open source environment for fast yet powerfulexperimentation with dense linear algebra kernels, algorithms, and libraries.It allows to construct experiments to investigate how performance andefficiency vary depending on factors such as caching, algorithmic parameters,problem size, and parallelism. Experiments are designed either through Pythonscripts or a specialized GUI, and run on the whole spectrum of architectures,ranging from laptops to clusters, accelerators, and supercomputers. Theresulting experiment reports provide various metrics and statistics that can beanalyzed both numerically and visually.

Requirements

  • C/C++ compiler

  • Python version 2.7.x

  • PyQt4

  • Matplotlib

  • Kernels to measure (e.g. BLAS/LAPACK libraries)

Overview

The Framework consists for three layers:

  • The first, "bottom" layer is written in C/C++ and contains the Sampler, alow-level command line tool responsible for executing and timing individualkernels. The Sampler has to be compiled for each specific combination ofhardware and libraries (the only stage in which the user needs to configurethe system); ELAPS can interface with any number of Samplers.Seedocs/Sampler.md.

    The Sampler comes with a set of utility routines that cover basic tasks ofexperiment setups, such as matrix initializations and file-I/O.Seedocs/Utility.md.

  • The second, "middle" layer is the Python libraryelaps, which centersaround the classExperiment that implements the previously introducedexperiments. An Experiment can be executed on different Samplers, bothlocally or through job submission systems. The outcome is aReport, whichprovides not only structured access to the individual measurements, but alsofunctionality to analyze different metrics and statistics.Seedocs/Experiment.mdanddocs/Report.md.

    This layer also includes theplot module, which is based on the matplotliblibrary, and is used to easily visualize Reports in graphical form.Seedocs/plot.md.

  • The third, "top" layer adds a graphical user interface, written in PyQt4, toboth designExperiments in thePlayMat and studyReports and plots intheViewer.Seedocs/PlayMat.mdanddocs/Viewer.md.

Installation

To use ELAPS:

  • clone the GitHub repository, and
  • compile one or moreSamplers (seedocs/Sampler.md).

Now, ELAPS is ready to go. To get started, runbin/PlayMat.


[8]ページ先頭

©2009-2025 Movatter.jp