In order to illustrate the capabilities of MARTA, we have developed a set of cases of study which answer different research questions. For each case, we provide the full experimental setup needed to reproduce these experiments.
RQ.- How many independent FMA instructions can be executed in just one cycle, assuming hot cache, regardless of data type, vector size and ISA?
RQ.- Consider a vector operation of the form:
RQ.- Can we build an analytical model of the performance of gather/scatter based on number (and set it maps to?) of cache lines touched (hot cache)?
RQ.- How to relate source code metrics (e.g., loop depth, nesting, trip count,
type of array access: affine vs. non-affine, reuse direction/distance, etc.)
with the application of loop interchange in GCC, when using the flag
-floop-interchange
? In other words, can we reverse-engineer the cost model of
GCC to apply interchange?
RQ.- Does -ffast-math
flag always enable vectorization of reductions of
floats in GCC, even for scalars?
We also provide other examples of the tool and the integration with other tools.
MACVETH is a novel compiler for auto-vectorizing irregular codes. MARTA supports this compiler.
Just a dummy benchmark for testing the multithreading support of the framework.