Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Nikolay Mateev

dblp:89/2206 · DBLP profile ↗
← Back
9ranked-venue papers
3as first author
0since 2021 · last 2003
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 7 · 3 first-authorSoftware engineering, systems software and programming languages · 1Applied, interdisciplinary, general and emerging computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
4 papers
Compilers and program optimization · 65% Runtime systems and virtual machines · 20% Program analysis · 12%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
High-performance computing · 60% Processor architecture and microarchitecture · 40%

Topics — the 12 heaviest of 13, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization
loop transformation
0.122003
Fractal symbolic analysis · ACM Trans. Program. Lang. Syst. 2003
Tiling Imperfectly-Nested Loop Nests · SC 2000
Compilers and program optimization › memory optimization
cache optimization
0.012003
Fractal symbolic analysis · ACM Trans. Program. Lang. Syst. 2003
Compilers and program optimization
dependence analysis
0.012003
Fractal symbolic analysis · ACM Trans. Program. Lang. Syst. 2003
Program analysis
symbolic execution
0.012003
Fractal symbolic analysis · ACM Trans. Program. Lang. Syst. 2003
Runtime systems and virtual machines › binary translation
dynamic binary translation
0.012002
DELI: a new run-time control point · MICRO 2002
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation
0.012002
DELI: a new run-time control point · MICRO 2002
Compilers and program optimization › memory optimization
data locality optimization
0.012000
Tiling Imperfectly-Nested Loop Nests · SC 2000
Compilers and program optimization › sparse computation › sparse tensor compilation
sparse tensor code generation
0.012000
A Framework for Sparse Matrix Code Synthesis from High-level Specifications · SC 2000
Compilers and program optimization › loop transformation
tiling
0.012000
Tiling Imperfectly-Nested Loop Nests · SC 2000
Software maintenance and evolution › software reengineering
program restructuring
0.012003
Fractal symbolic analysis · ACM Trans. Program. Lang. Syst. 2003
Processor architecture and microarchitecture
instruction set emulation
0.012002
DELI: a new run-time control point · MICRO 2002
High-performance computing
sparse linear algebra
0.012000
A Framework for Sparse Matrix Code Synthesis from High-level Specifications · SC 2000

Methods — techniques the papers use, named apart from their topics

code caching · 0.1binary-level translation · 0.1product space embedding · 0.1common enumeration identification · 0.1cartesian product embedding · 0.1symbolic comparison · 0.0program simplification · 0.0
YearPublicationVenuePosition
2003 Fractal symbolic analysis
abstract
Modern compilers restructure programs to improve their efficiency. Dependence analysis is the most widely used technique for proving the correctness of such transformations, but it suffers from the limitation that it considers only the memory locations read and written by a statement without considering what is being computed by that statement. Exploiting the semantics of program statements permits more transformations to be proved correct, and is critical for automatic restructuring of codes such as LU with partial pivoting.One approach to exploiting the semantics of program statements is symbolic analysis and comparison of programs.In principle, this technique is very powerful, but in practice, it is intractable for all but the simplest programs.In this paper, we propose a new form of symbolic analysis and comparison of programs which is appropriate for use in restructuring compilers. Fractal symbolic analysis is an approximate symbolic analysis that compares a program and its transformed version by repeatedly simplifying these programs until symbolic analysis becomes tractable while ensuring that equality of the simplified programs is sufficient to guarantee equality of the original programs.Fractal symbolic analysis combines some of the power of symbolic analysis with the tractability of dependence analysis. We discuss a prototype implementation of fractal symbolic analysis, and show how it can be used to solve the long-open problem of verifying the correctness of transformations required to improve the cache performance of LU factorization with partial pivoting.
Vijay Menon 0002, Keshav Pingali, Nikolay Mateev
ACM Trans. Program. Lang. Syst.3
2002 A New Facility for Dynamic Control of Program Execution: DELI
Giuseppe Desoli, Nikolay Mateev, Evelyn Duesterwald, Paolo Faraboschi, Josh Fisher
EMSOFT2
2002 DELI: a new run-time control point
abstract
The Dynamic Execution Layer Interface (DELI) offers the following unique capability: it provides fine-grain control over the execution of programs, by allowing its clients to observe and optionally manipulate every single instruction - at run time - just before it runs. DELI accomplishes this by opening up art interface to the layer between the execution of software and hardware. To avoid the slowdown, DELI caches a private copy of the executed code and always runs out of its own private cache. In addition to giving powerful control to clients, DELI opens up caching and linking to ordinary emulators and just-in-time compilers, which their get the reuse benefits of the same mechanism. For example, emulators themselves call also use other clients, to mix emulation with already existing services, native code, and other emulators. This paper describes the basic aspects of DELI, including the underlying caching and linking mechanism, the Hardware Abstraction Mechanism (HAM), the Binary-Level Translation (BLT) infrastructure, and the Application Programming Interface (API) exposed to the clients. We also cover some of the services that clients could offer through the DELI, such as ISA emulation, software patching, and sandboxing. Finally, we consider a case study of emulation in detail: the emulation of a PocketPC system on the Lx/ST210 embedded VLIW processor. In this case, DELI enables us to achieve near-native performance, and to mix-and-match native and emulated code.
Giuseppe Desoli, Nikolay Mateev, Evelyn Duesterwald, Paolo Faraboschi, Joseph A. Fisher
MICRO2
2001 Fractal symbolic analysis
abstract
Modern compilers perform wholesale restructuring of programs to improve their efficiency. Dependence analysis is the most widely used technique for proving the correctness of such transformations, but it suffers from the limitation that it considers only the memory locations read and written by a statement, and does not assume any particular interpretation for the operations in that statement. Exploiting the semantics of these operations permits more transformations to be proved correct, and is critical for automatic restructuring of codes such as LU with partial pivoting.
Nikolay Mateev, Vijay Menon 0002, Keshav Pingali
ICS1
2000 Left-Looking to Right-Looking and Vice Versa: An Application of Fractal Symbolic Analysis to Linear Algebra Code Restructuring
Nikolay Mateev, Vijay Menon 0002, Keshav Pingali
Euro-Par1
2000 Synthesizing transformations for locality enhancement of imperfectly-nested loop nests
Nawaaz Ahmed, Nikolay Mateev, Keshav Pingali
ICS2
2000 Next-generation generic programming and its application to sparse matrix computations
abstract
The contributions of this paper are the following.
Nikolay Mateev, Keshav Pingali, Paul Stodghill, Vladimir Kotlyar
ICS1
2000 Tiling Imperfectly-Nested Loop Nests
abstract
Tiling is one of the more important transformations for enhancing locality of reference in programs. Intuitively, tiling a set of loops achieves the effect of interleaving iterations of these loops. Tiling of perfectly-nested loop nests (which are loop nests in which all assignment statements are contained in the innermost loop) is well understood. In practice, many loop nests are imperfectly-nested, so existing compilers use heuristics to try to find a sequence of transformations that convert such loop nests into perfectly-nested ones, but these heuristics do not always succeed. In this paper, we propose a novel approach to tiling imperfectly-nested loop nests. The key idea is to embed the iteration space of every statement in the imperfectly-nested loop nest into a special space called the product space which is tiled to produce the final code. We evaluate the effectiveness of this approach for dense numerical linear algebra benchmarks, relaxation codes, and the tomcatv code from the SPEC benchmarks. No other single approach in the literature can tile all these codes automatically.
Nawaaz Ahmed, Nikolay Mateev, Keshav Pingali
SC2
2000 A Framework for Sparse Matrix Code Synthesis from High-level Specifications
abstract
We present compiler technology for synthesizing sparse matrix code from (i) dense matrix code, and (ii) a description of the index structure of a sparse matrix. Our approach is to embed statement instances into a Cartesian product of statement iteration and data spaces, and to produce efficient sparse code by identifying common enumerations for multiple references to sparse matrices. The approach works for imperfectly-nested codes with dependences, and produces sparse code competitive with hand-written library code for the Basic Linear Algebra Subroutines (BLAS).
Nawaaz Ahmed, Nikolay Mateev, Keshav Pingali, Paul Stodghill
SC2