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. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Thiago S. F. X. Teixeira

dblp:136/6047 · also Thiago Santos Faria Xavier Teixeira · DBLP profile ↗
← Back
7ranked-venue papers
3as first author
4since 2021 · last 2025
0000-0002-8031-0652ORCID · verified

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

Systems, architecture and hardware · 4 · 3 first-author · 2 since 2021Artificial intelligence and machine learning · 2 · 2 since 2021Software engineering, systems software and programming languages · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 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.

Computer architecture, parallel and distributed computing, and storage systems
2 papers
Parallel and multicore computing · 100%
Artificial intelligence
2 papers
Language models and text generation · 100%
Software engineering, system software, and programming languages
2 papers
Program verification · 77% Program synthesis and code generation · 23%

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

TopicWeightPapersLastEvidence papers
Program verification
equivalence checking
0.912025
EquiBench: Benchmarking Large Language Models' Reasoning about Program Semantics via Equivalence Checking · EMNLP 2025
Parallel and multicore computing › parallel computing › parallel optimization
parallel code optimization
0.912025
Improving Parallel Program Performance with LLM Optimizers via Agent-System Interfaces · ICML 2025
Parallel and multicore computing › task allocation
task-to-core mapping
0.912025
Improving Parallel Program Performance with LLM Optimizers via Agent-System Interfaces · ICML 2025
Parallel and multicore computing
task allocation
0.712023
Automated Mapping of Task-Based Programs onto Distributed and Heterogeneous Machines · SC 2023
Parallel and multicore computing › parallel programming models
task-based programming
0.712023
Automated Mapping of Task-Based Programs onto Distributed and Heterogeneous Machines · SC 2023
Natural language and speech › Language models and text generation
large language model
0.312025
Improving Parallel Program Performance with LLM Optimizers via Agent-System Interfaces · ICML 2025
Program synthesis and code generation
code generation with language models
0.312025
Improving Parallel Program Performance with LLM Optimizers via Agent-System Interfaces · ICML 2025

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

reinforcement learning · 2.6opentuner · 2.6generative optimization · 2.6domain-specific language · 2.6benchmarking · 1.7auto-tuning · 0.7
YearPublicationVenuePosition
2025 EquiBench: Benchmarking Large Language Models' Reasoning about Program Semantics via Equivalence Checking
abstract
Anjiang Wei, Jiannan Cao, Ran Li, Hongyu Chen, Yuhui Zhang, Ziheng Wang, Yuan Liu, Thiago S. F. X. Teixeira, Diyi Yang, Ke Wang, Alex Aiken. Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing. 2025.
Anjiang Wei, Jiannan Cao, Thiago S. F. X. Teixeira, Diyi Yang, Alex Aiken
EMNLP8
2025 Improving Parallel Program Performance with LLM Optimizers via Agent-System Interfaces
abstract
Modern scientific discovery increasingly relies on high-performance computing for complex modeling and simulation. A key challenge in improving parallel program performance is efficiently mapping tasks to processors and data to memory, a process dictated by intricate, low-level system code known as mappers. Developing high-performance mappers demands days of manual tuning, posing a significant barrier for domain scientists without systems expertise. We introduce a framework that automates mapper development with generative optimization, leveraging richer feedback beyond scalar performance metrics. Our approach features the Agent-System Interface, which includes a Domain-Specific Language (DSL) to abstract away the low-level complexity of system code and define a structured search space, as well as AutoGuide, a mechanism that interprets raw execution output into actionable feedback. Unlike traditional reinforcement learning methods such as OpenTuner, which rely solely on scalar feedback, our method finds superior mappers in far fewer iterations. With just 10 iterations, it outperforms OpenTuner even after 1000 iterations, achieving $3.8\times$ faster performance. Our approach finds mappers that surpass expert-written mappers by up to $1.34\times$ speedup across nine benchmarks while reducing tuning time from days to minutes.
Anjiang Wei, Allen Nie, Thiago S. F. X. Teixeira, Rohan Yadav, Wonchan Lee, Ke Wang 0022, Alex Aiken
ICML3
2023 Automated Mapping of Task-Based Programs onto Distributed and Heterogeneous Machines
abstract
In a parallel and distributed application, a mapping is a selection of a processor for each computation or task and memories for the data collections that each task accesses. Finding high-performance mappings is challenging, particularly on heterogeneous hardware with multiple choices for processors and memories. We show that fast mappings are sensitive to the machine, application, and input. Porting to a new machine, modifying the application, or using a different input size may necessitate re-tuning the mapping to maintain the best possible performance.
Thiago S. F. X. Teixeira, Alexandra Henzinger, Rohan Yadav, Alex Aiken
SC1
2021 Online multimedia retrieval on CPU-GPU platforms with adaptive work partition
Rafael Souza, André Fernandes, Thiago S. F. X. Teixeira, George Teodoro, Renato Ferreira 0001
J. Parallel Distributed Comput.3
2019 Locus: A System and a Language for Program Optimization
abstract
We discuss the design and the implementation of Locus, a system and a language to orchestrate the optimization of applications. The increasing complexity of machines and the large space of program variants, produced by the many transformations available, conspire to make compilers deliver unsatisfactory performance. As a result, optimization experts must intervene to manually explore the space of program variants seeking the best version for each target machine. This intervention is unproductive, and maintaining and managing sequences of transformations as new architectures are adopted and new application features are incorporated is challenging.Locus allows collections of program transformation sequences to be specified separately from the application code. The language is able to represent in a clear notation complex collections of transformations that are applied to code regions selected by the programmer. The system integrates multiple optimization modules as well as search modules that facilitate the efficient traversal of the space of program variants. Locus is intended to help experts in the optimization process, specially for complex, long-lived applications that are to be executed on different environments. Four examples are presented to illustrate the power and simplicity of the language. Although not the primary focus of this paper, the examples also show that exploring the space of variants typically leads to better performing codes than those produced by conventional compiler optimizations that are based on heuristics.
Thiago S. F. X. Teixeira, Corinne Ancourt, David A. Padua, William Gropp
CGO1
2017 A DSL for Performance Orchestration
abstract
The complexity and diversity of today's computer architectures are requiring more attention from the software developers in order to harness all the computing power available. Furthermore, each different modern architecture requires a potentially non-overlapping set of optimizations to attain a higher fraction of its nominal peak speed. This leads to challenges about performance portability and code maintainability, in particular, how to manage different optimized versions of the same code tailored to different architectures and how to keep them up to date as new algorithmic features are added. This increasing complexity of the architectures and the extension of the optimization space tends to make compilers deliver unsatisfactory performance, and the gap between the performance of hand-tuned and compiler-generated code has grown dramatically. Even the use of advanced optimization flags is not enough to narrow this gap. On the other hand, optimizing applications manually is very time-consuming, and the developer needs to understand and interact with many different hardware features for each architecture. Successful research has been developed to assist the programmer in this painful and error-prone process of implementing, optimizing and porting applications to different architectures. Nonetheless, the adoption of these works has been mostly restricted to specific domains, such as dense linear algebra, Fourier transforms, and signal processing. We have developed the framework ICE that decouples the performance expert role from the application expert role (separation of concerns). It allows the use of architecture-specific optimizations while keeping the code maintainable on the long term. It is responsible to orchestrate the use of multiple optimization tools to application's baseline version and perform an empirical search to find the best sequence of optimizations and their parameters. The baseline version is regarded as not having any architecture- or compiler-specific optimizations. The optimizations and the empirical search are directed by a domain-specific language (DSL) in an external file. Application's code are often dramatically altered by adding multiple optimization cases for each architecture used. This DSL allows the performance expert to apply optimizations without disarrange the original code. The DSL has constructs to expose the options of the optimizations and generates a search space that can be traversed by different search tools. For instance, it has conditional statements that can be used to specify which optimizations should be carried out for each compiler. The DSL is not only the input of the empirical search, but also the output. It can be used so save the best sequence of transformations found in previous searches. The application's code is annotated with unique identifiers that are referenced in the DSL. Currently, source-to-source loop optimizations, algorithm and pragmas selection are accepted. The framework interface is flexible to integrate new optimization and search tools. And in case of any failure it falls back to the baseline version. We have applied the framework to linear algebra problems, stencil computations and to a production code for the simulation of plasma-coupled combustion~xpacc achieving up to 3x speedup. Other works have tried to solve the problem of facilitating optimizing applications, but they lack of important features comprised by ICE. CHiLL, Orio, and X Language simplifies the generation of optimized code. CHiLL is the only one among these that the instructions to carry out the optimizations are given using an external file, but it references loops by their position on the source and modifications in the source require modifications in the external file, restricting its use in large production codes. Only Orio empirically evaluates variants of the annotated code. Summarizing, the contributions of the framework are: the separation of concerns, incremental adoption, a DSL to specify the optimization space, interface to plug-in and compare different optimization and search tools, combination of empirical search with expert knowledge.
Thiago S. F. X. Teixeira, David A. Padua, William Gropp
PACT1
2014 Large-Scale Distributed Locality-Sensitive Hashing for General Metric Data
Eliezer S. Silva, Thiago S. F. X. Teixeira, George Teodoro, Eduardo Valle
SISAP2