- Notifications
You must be signed in to change notification settings - Fork3
Experimental Linear Algebra Performance Studies
License
HPAC/ELAPS
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Experimental Linear Algebra Performance Studies
Table of Contentsgenerated withDocToc
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.
C/C++ compiler
Python version 2.7.x
PyQt4
Matplotlib
Kernels to measure (e.g. BLAS/LAPACK libraries)
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 library
elaps
, 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 the
plot
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 design
Experiment
s in thePlayMat and studyReport
s and plots intheViewer.Seedocs/PlayMat.mdanddocs/Viewer.md.
To use ELAPS:
- clone the GitHub repository, and
- compile one or more
Sampler
s (seedocs/Sampler.md).
Now, ELAPS is ready to go. To get started, runbin/PlayMat
.