Daniil Berezun

dblp:192/0203 · DBLP profile ↗
← Back
4ranked-venue papers
1as first author
2since 2021 · last 2024
0000-0001-6306-275XORCID · corroborated

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

Systems, architecture and hardware · 2 · 1 since 2021Software engineering, systems software and programming languages · 2 · 1 first-author · 1 since 2021

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.

Computer architecture, parallel and distributed computing, and storage systems
1 paper
GPUs and heterogeneous computing · 56% Memory systems · 44%
Software engineering, system software, and programming languages
1 paper
Compilers and program optimization · 100%

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

TopicWeightPapersLastEvidence papers
Compilers and program optimization
partial evaluation
0.412020
Optimizing GPU programs by partial evaluation · PPoPP 2020
GPUs and heterogeneous computing
GPU programming
0.412020
Optimizing GPU programs by partial evaluation · PPoPP 2020
Memory systems
memory optimization
0.412020
Optimizing GPU programs by partial evaluation · PPoPP 2020
GPUs and heterogeneous computing › GPU programming
CUDA
0.112020
Optimizing GPU programs by partial evaluation · PPoPP 2020

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

program transformation · 0.9partial evaluation · 0.9
YearPublicationVenuePosition
2024 A Case Study in Functional Conversion and Mode Inference in miniKanren
abstract
Many programs which solve complicated problems can be seen as inversions of other, much simpler, programs. One particular example is transforming verifiers into solvers, which can be achieved with low effort by implementing the verifier in a relational language and then executing it in the backward direction. Unfortunately, as it is common with inverse computations, interpretation overhead may lead to subpar performance compared to direct program inversion. In this paper we discuss functional conversion aimed at improving relational miniKanren specifications with respect to a known fixed direction. Our preliminary evaluation demonstrates a significant performance increase for some programs which exemplify the approach.
Ekaterina Verbitskaia, Igor Engel, Daniil Berezun
PEPM3
2021 Efficient Parallel Algorithms for String Comparison
abstract
The longest common subsequence (LCS) problem on a pair of strings is a classical problem in string algorithms. Its extension, the semi-local LCS problem, provides a more detailed comparison of the input strings, without any increase in asymptotic running time. Several semi-local LCS algorithms have been proposed previously; however, to the best of our knowledge, none have yet been implemented. In this paper, we explore a new hybrid approach to the semi-local LCS problem. We also propose a novel bit-parallel LCS algorithm. In the experimental part of the paper, we present an implementation of several existing and new parallel LCS algorithms and evaluate their performance.
Nikita Mishin, Daniil Berezun, Alexander Tiskin
ICPP2
2020 Optimizing GPU programs by partial evaluation
abstract
While GPU utilization allows one to speed up computations to the orders of magnitude, memory management remains the bottleneck making it often a challenge to achieve the desired performance. Hence, different memory optimizations are leveraged to make memory being used more effectively. We propose an approach automating memory management utilizing partial evaluation, a program transformation technique that enables data accesses to be pre-computed, optimized, and embedded into the code, saving memory transactions. An empirical evaluation of our approach shows that the transformed program could be up to 8 times as efficient as the original one in the case of CUDA C naïve string pattern matching algorithm implementation.
Aleksey Tyurin, Daniil Berezun, Semyon V. Grigorev
PPoPP2
2017 Compiling untyped lambda calculus to lower-level code by game semantics and partial evaluation (invited paper)
abstract
Any expression M in ULC (the untyped λ-calculus) can be compiled into a rather low-level language we call LLL, whose programs contain none of the traditional implementation devices for functional languages: environments, thunks, closures, etc. A compiled program is first-order functional and has a fixed set of working variables, whose number is independent of M. The generated LLL code in effect traverses the subexpressions of M.
Daniil Berezun, Neil D. Jones
PEPM1