Person

Amir Shaikhha

This person is no longer with EPFL

Related publications (14)

Finally, a Polymorphic Linear Algebra Language

Amir Shaikhha, Lionel Emile Vincent Parreaux

Many different data analytics tasks boil down to linear algebra primitives. In practice, for each different type of workload, data scientists use a particular specialised library. In this paper, we present Pilatus, a polymorphic iterative linear algebra la ...
2019

Compiler Generation for Performance-Oriented Embedded DSLs (Short Paper)

Christoph Koch, Amir Shaikhha, Vojin Jovanovic

In this paper, we present a framework for generating optimizing compilers for performance-oriented embedded DSLs (EDSLs). This framework provides facilities to automatically generate the boilerplate code required for building DSL compilers on top of the ex ...
ASSOC COMPUTING MACHINERY2019

Unifying Analytic and Statically-Typed Quasiquotes

Christoph Koch, Amir Shaikhha, Lionel Emile Vincent Parreaux

Metaprograms are programs that manipulate (generate, analyze and evaluate) other programs. These tasks are greatly facilitated by quasiquotation, a technique to construct and deconstruct program fragments using quoted code templates expressed in the syntax ...
2018

Compilation and Code Optimization for Data Analytics

Amir Shaikhha

The trade-offs between the use of modern high-level and low-level programming languages in constructing complex software artifacts are well known. High-level languages allow for greater programmer productivity: abstraction and genericity allow for the same ...
EPFL2018

Squid: Type-Safe, Hygienic, and Reusable Quasiquotes

Christoph Koch, Amir Shaikhha, Lionel Emile Vincent Parreaux

Quasiquotes have been shown to greatly simplify the task of metaprogramming. This is in part because they hide the data structures of the intermediate representation (IR), instead allowing metaprogrammers to use the concrete syntax of the language they man ...
ACM2017

Quoted Staged Rewriting: A Practical Approach to Library-Defined Optimizations

Christoph Koch, Amir Shaikhha, Lionel Emile Vincent Parreaux

Staging has proved a successful technique for programmatically removing code abstractions, thereby allowing for faster program execution while retaining a high-level interface for the programmer. Unfortunately, techniques based on staging suffer from a num ...
ACM2017

How to Architect a Query Compiler

Christoph Koch, Ioannis Klonatos, Amir Shaikhha, Lionel Emile Vincent Parreaux, Mohammad Dashti Rahmat Abadi, Lewis Alexander Brown

This paper studies architecting query compilers. The state of the art in query compiler construction is lagging behind that in the compilers field. We attempt to remedy this by exploring the key causes of technical challenges in need of well founded soluti ...
2016

Building Efficient Query Engines in a High-Level Language

Christoph Koch, Ioannis Klonatos, Amir Shaikhha

Abstraction without regret refers to the vision of using high-level programming languages for systems development without experiencing a negative impact on performance. A database system designed according to this vision offers both increased productivity ...
2016

Yin-Yang: Concealing the Deep Embedding of DSLs

Martin Odersky, Christoph Koch, Amir Shaikhha, Sandro Stucki, Vojin Jovanovic, Vladimir Nikolaev

Deeply embedded domain-specific languages (EDSLs) intrinsically compromise programmer experience for improved program performance. Shallow EDSLs complement them by trading program performance for good programmer experience. We present Yin-Yang, a framework ...
Assoc Computing Machinery2015

Yin-Yang: Concealing the Deep Embedding of DSLs

Martin Odersky, Christoph Koch, Amir Shaikhha, Sandro Stucki, Vojin Jovanovic, Vladimir Nikolaev

Deeply embedded domain-specific languages (EDSLs) intrinsically compromise programmer experience for improved program performance. Shallow EDSLs complement them by trading program performance for good programmer experience. We present Yin-Yang, a framework ...
2014

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.