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

Andrei Hagiescu

dblp:40/1714 · DBLP profile ↗
← Back
10ranked-venue papers
5as first author
0since 2021 · last 2019
—ORCID · none

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

Systems, architecture and hardware · 9 · 5 first-authorApplied, 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.

Computer architecture, parallel and distributed computing, and storage systems
6 papers
GPUs and heterogeneous computing · 34% Reconfigurable computing and FPGAs · 31% Embedded and real-time systems · 11%
Software engineering, system software, and programming languages
3 papers
Compilers and program optimization · 100%
Interdisciplinary, comprehensive, and emerging computing
2 papers
Bioinformatics and computational biology · 100%

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

TopicWeightPapersLastEvidence papers
Compilers and program optimization
code generation
0.422014
Mapping Streaming Applications onto GPU Systems · IEEE Trans. Parallel Distributed Syst. 2014
GPU code generation for ODE-based applications with phased shared-data access patterns · ACM Trans. Archit. Code Optim. 2013
GPUs and heterogeneous computing › GPU programming
GPU code generation
0.422014
Mapping Streaming Applications onto GPU Systems · IEEE Trans. Parallel Distributed Syst. 2014
GPU code generation for ODE-based applications with phased shared-data access patterns · ACM Trans. Archit. Code Optim. 2013
Reconfigurable computing and FPGAs › application mapping
streaming application mapping
0.322014
Mapping Streaming Applications onto GPU Systems · IEEE Trans. Parallel Distributed Syst. 2014
Scalable framework for mapping streaming applications onto multi-GPU systems · PPoPP 2012
GPUs and heterogeneous computing
multi-GPU computing
0.222014
Scalable framework for mapping streaming applications onto multi-GPU systems · PPoPP 2012
Mapping Streaming Applications onto GPU Systems · IEEE Trans. Parallel Distributed Syst. 2014
Hardware accelerators and domain-specific architectures › data-parallel accelerator
SIMD accelerator
0.112011
Co-synthesis of FPGA-based application-specific floating point simd accelerators · FPGA 2011
Reconfigurable computing and FPGAs › FPGA accelerator
FPGA-based stream processing
0.112009
A computing origami: folding streams in FPGAs · DAC 2009
Electronic design automation › timing analysis
end-to-end latency analysis
0.112007
Performance Analysis of FlexRay-based ECU Networks · DAC 2007
Embedded and real-time systems › cyber-physical system platforms
in-vehicle networks
0.112007
Performance Analysis of FlexRay-based ECU Networks · DAC 2007
Embedded and real-time systems
real-time communication
0.112007
Performance Analysis of FlexRay-based ECU Networks · DAC 2007
Electronic design automation
timing analysis
0.112007
Performance Analysis of FlexRay-based ECU Networks · DAC 2007
Parallel and multicore computing › graph partitioning
streaming graph partitioning
0.112014
Mapping Streaming Applications onto GPU Systems · IEEE Trans. Parallel Distributed Syst. 2014
Bioinformatics and computational biology
systems biology
0.012013
GPU code generation for ODE-based applications with phased shared-data access patterns · ACM Trans. Archit. Code Optim. 2013
GPUs and heterogeneous computing
GPU computing
0.012013
GPU code generation for ODE-based applications with phased shared-data access patterns · ACM Trans. Archit. Code Optim. 2013
High-performance computing › performance optimization
shared memory optimization
0.012013
GPU code generation for ODE-based applications with phased shared-data access patterns · ACM Trans. Archit. Code Optim. 2013
Embedded and real-time systems › embedded processor
FPGA embedded processor
0.012011
Co-synthesis of FPGA-based application-specific floating point simd accelerators · FPGA 2011
Distributed systems
stream processing
0.012009
A computing origami: folding streams in FPGAs · DAC 2009
Embedded and real-time systems › automotive embedded systems
electronic control unit
0.012007
Performance Analysis of FlexRay-based ECU Networks · DAC 2007
Parallel and multicore computing
task scheduling
0.012007
Performance Analysis of FlexRay-based ECU Networks · DAC 2007

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

stream graph partitioning · 0.7dynamic bayesian network approximation · 0.5heterogeneous thread mix · 0.4pipeline execution · 0.3architecture-driven mapping · 0.3monte carlo simulation · 0.1dynamic bayesian network · 0.1GPU computing · 0.1parameterizable vector elements · 0.1automated co-design toolchain · 0.1compositional performance analysis · 0.1MATLAB · 0.1
YearPublicationVenuePosition
2019 Large-Scale and High-Throughput QR Decomposition on an FPGA
abstract
The QR decomposition, also called the QR factorization, is one of core matrix operations that is used to solve a linear inverse/solver problem. We develop a high-throughput QR decomposition for large-scale matrices on FPGA. We refine the modified Gram-Schmit QRD algorithm into a hardware-friendly algorithmic flow and describe the core architecture in C. We synthesize our code using an Intel FPGA SDK for OpenCL targeting an Intel Arria 10 FPGA device.
Dajung Lee, Andrei Hagiescu, Dan Pritsker
FCCM2
2014 Mapping Streaming Applications onto GPU Systems
abstract
Graphics processing units leverage on a large array of parallel processing cores to boost the performance of the streaming computation patterns frequently found in graphics applications. Unfortunately, while many other general purpose applications also exhibit streaming behavior, they possess unfavorable data layout and poor computation-to-communication ratios that may penalize any straight-forward GPU implementation. In this paper we describe a performance-driven code generation framework that maps general purpose streaming applications onto GPU systems. This automated framework takes into account the idiosyncrasies of the GPU pipeline and the unique memory hierarchy. The framework has been implemented as a back-end to the StreamIt programming language compiler. Several key features in this framework ensure maximized performance and scalability. First, the generated code increases the effectiveness of the on-chip memory hierarchy by employing a heterogeneous mix of compute and memory access threads. Our scheme goes against the conventional wisdom of GPU programming which is to use a large number of homogeneous threads. Second, we utilise an efficient stream graph partitioning algorithm to handle larger applications and achieve the best performance under the given on-chip memory constraints. Lastly, the framework maps complex applications onto multiple GPUs using a highly effective parallel execution scheme. Our comprehensive experiments show its scalability and significant speedup compared to a previous state-of-the-art solution.
Huynh Phung Huynh, Andrei Hagiescu, Zhongliang Ong, Weng-Fai Wong, Rick Siow Mong Goh
IEEE Trans. Parallel Distributed Syst.2
2013 GPU code generation for ODE-based applications with phased shared-data access patterns
abstract
We present a novel code generation scheme for GPUs. Its key feature is the platform-aware generation of a heterogeneous pool of threads. This exposes more data-sharing opportunities among the concurrent threads and reduces the memory requirements that would otherwise exceed the capacity of the on-chip memory. Instead of the conventional strategy of focusing on exposing as much parallelism as possible, our scheme leverages on the phased nature of memory access patterns found in many applications that exhibit massive parallelism. We demonstrate the effectiveness of our code generation strategy on a computational systems biology application. This application consists of computing a Dynamic Bayesian Network (DBN) approximation of the dynamics of signalling pathways described as a system of Ordinary Differential Equations (ODEs). The approximation algorithm involves (i) sampling many (of the order of a few million) times from the set of initial states, (ii) generating trajectories through numerical integration, and (iii) storing the statistical properties of this set of trajectories in Conditional Probability Tables (CPTs) of a DBN via a prespecified discretization of the time and value domains. The trajectories can be computed in parallel. However, the intermediate data needed for computing them, as well as the entries for the CPTs, are too large to be stored locally. Our experiments show that the proposed code generation scheme scales well, achieving significant performance improvements on three realistic signalling pathways models. These results suggest how our scheme could be extended to deal with other applications involving systems of ODEs.
Andrei Hagiescu, Bing Liu 0013, R. Ramanathan 0002, Sucheendra K. Palaniappan, Bipasa Chattopadhyay, P. S. Thiagarajan, Weng-Fai Wong
ACM Trans. Archit. Code Optim.1
2012 Guppy: A GPU-like soft-core processor
abstract
The popularity of GPU programming languages that explicitly express thread-level parallelism leads to the question of whether they can also be used for programming reconfigurable accelerators. This paper describes Guppy, a GPU-like softcore processor based on the in-order LEON3 core. Our long-term vision is to have a unified programming paradigm for accelerators - regardless of whether they are FPGA or GPU based. While others have explored this from a high level hardware synthesis perspective, we chose to adopt the approach of a parametrically reconfigurable softcore. We will discuss the main architecture features of Guppy, compare its performance to the original core. Our design has been synthesized on a Xilinx Virtex 5 FPGA.
Abdullah Al-Dujaili, Florian Deragisch, Andrei Hagiescu, Weng-Fai Wong
FPT3
2012 Scalable framework for mapping streaming applications onto multi-GPU systems
abstract
Graphics processing units leverage on a large array of parallel processing cores to boost the performance of a specific streaming computation pattern frequently found in graphics applications. Unfortunately, while many other general purpose applications do exhibit the required streaming behavior, they also possess unfavorable data layout and poor computation-to-communication ratios that penalize any straight-forward execution on the GPU. In this paper we describe an efficient and scalable code generation framework that can map general purpose streaming applications onto a multi-GPU system. This framework spans the entire core and memory hierarchy exposed by the multi-GPU system. Several key features in our framework ensure the scalability required by complex streaming applications. First, we propose an efficient stream graph partitioning algorithm that partitions the complex application to achieve the best performance under a given shared memory constraint. Next, the resulting partitions are mapped to multiple GPUs using an efficient architecture-driven strategy. The mapping balances the workload while considering the communication overhead. Finally, a highly effective pipeline execution is employed for the execution of the partitions on the multi-GPU system. The framework has been implemented as a back-end of the StreamIt programming language compiler. Our comprehensive experiments show its scalability and significant performance speedup compared with a previous state-of-the-art solution.
Huynh Phung Huynh, Andrei Hagiescu, Weng-Fai Wong, Rick Siow Mong Goh
PPoPP2
2012 Approximate probabilistic analysis of biopathway dynamics
abstract
MOTIVATION: Biopathways are often modeled as systems of ordinary differential equations (ODEs). Such systems will usually have many unknown parameters and hence will be difficult to calibrate. Since the data available for calibration will have limited precision, an approximate representation of the ODEs dynamics should suffice. One must, however, be able to efficiently construct such approximations for large models and perform model calibration and subsequent analysis. RESULTS: We present a graphical processing unit (GPU) based scheme by which a system of ODEs is approximated as a dynamic Bayesian network (DBN). We then construct a model checking procedure for DBNs based on a simple probabilistic linear time temporal logic. The GPU implementation considerably extends the reach of our previous PC-cluster-based implementation (Liu et al., 2011b). Further, the key components of our algorithm can serve as the GPU kernel for other Monte Carlo simulations-based analysis of biopathway dynamics. Similarly, our model checking framework is a generic one and can be applied in other systems biology settings. We have tested our methods on three ODE models of bio-pathways: the epidermal growth factor-nerve growth factor pathway, the segmentation clock network and the MLC-phosphorylation pathway models. The GPU implementation shows significant gains in performance and scalability whereas the model checking framework turns out to be convenient and efficient for specifying and verifying interesting pathways properties. AVAILABILITY: The source code is freely available at http://www.comp.nus.edu.sg/~rpsysbio/pada-gpu/
Bing Liu 0013, Andrei Hagiescu, Sucheendra K. Palaniappan, Bipasa Chattopadhyay, Weng-Fai Wong, P. S. Thiagarajan
Bioinform.2
2011 Co-synthesis of FPGA-based application-specific floating point simd accelerators
abstract
The constant push for feature richness in mobile and embedded devices has significantly increased computational demand. However, stringent energy constraints typically remain in place. Embedding processor cores in FPGAs offers a path to having customized instruction processors that can meet the performance and energy demands. Ideally, the customization process should be automated to reduce the design effort, and indirectly the time to market. However, the automatic generation of custom extensions for floating point computation remains a challenge in FPGA co-design. We propose an approach for accelerating such computation via application-specific SIMD extensions. We describe an automated co-design toolchain that generates code and application-specific platform extensions that implement SIMD instructions with a parameterizable number of vector elements. The parallelism exposed by encapsulating computation in vector instructions is matched to an adjustable pool of execution units. Experiments on actual hardware show significant performance improvements. Our framework provides an important extension to the capabilities of embedded processor FPGAs which traditionally dealt with bit, integer, and low intensity floating point code, to now being able to handle vectorizable floating point computation.
Andrei Hagiescu, Weng-Fai Wong
FPGA1
2011 Automated Architecture-Aware Mapping of Streaming Applications Onto GPUs
abstract
Graphic Processing Units (GPUs) are made up of many streaming multiprocessors, each consisting of processing cores that interleave the execution of a large number of threads. Groups of threads - called warps and wave fronts, respectively, in nVidia and AMD literature - are selected by the hardware scheduler and executed in lockstep on the available cores. If threads in such a group access the slow off-chip global memory, the entire group has to be stalled, and another group is scheduled instead. The utilization of a given multiprocessor will remain high if there is a sufficient number of alternative thread groups to select from. Many parallel general purpose applications have been efficiently mapped to GPUs. Unfortunately, many stream processing applications exhibit unfavorable data movement patterns and low computation-to-communication ratio that may lead to poor performance. In this paper, we describe an automated compilation flow that maps most stream processing applications onto GPUs by taking into consideration two important architectural features of nVidia GPUs, namely interleaved execution as well as the small amount of shared memory available in each streaming multiprocessors. In particular, we show that using a small number of compute threads such that the memory footprint is reduced, we can achieve high utilization of the GPU cores. Our scheme goes against the conventional wisdom of GPU programming which is to use a large number of homogeneous threads. Instead, it uses a mix of compute and memory access threads, together with a carefully crafted schedule that exploits parallelism in the streaming application, while maximizing the effectiveness of the unique memory hierarchy. We have implemented our scheme in the compiler of the Stream It programming language, and our results show a significant speedup compared to the state-of-the-art solutions.
Andrei Hagiescu, Huynh Phung Huynh, Weng-Fai Wong, Rick Siow Mong Goh
IPDPS1
2009 A computing origami: folding streams in FPGAs
abstract
Stream processing represents an important class of applications that spans telecommunications, multimedia and the Internet. The implementation of streaming programs in FPGAs has attracted significant attention because of their inherent parallelism and high performance requirements. Languages, tools, and even custom hardware for streaming have been proposed, some of which are commercially available.
Andrei Hagiescu, Weng-Fai Wong, David F. Bacon, Rodric M. Rabbah
DAC1
2007 Performance Analysis of FlexRay-based ECU Networks
abstract
It is now widely believed that FlexRay will emerge as the predominant protocol for in-vehicle automotive communication systems. As a result, there has been a lot of recent interest in timing and predictability analysis techniques that are specifically targeted towards FlexRay. In this paper we propose a compositional performance analysis framework for a network of electronic control units (ECUs) that communicate via a FlexRay bus. Given a specification of the tasks running on the different ECUs, the scheduling policy used at each ECU, and a specification of the FlexRay bus (e.g. slot sizes and message priorities), our framework can answer questions related to the maximum end-to-end delay experienced by any message, the amount of buffer required at each communication controller and the utilization of the different ECUs and the bus. In contrast to previous timing analysis techniques which analyze the FlexRay bus in isolation, our framework is fully compositional and allows the modeling of the schedulers at the ECUs and the FlexRay protocol in a seamless manner. As a result, it can be used to analyze large systems and does not involve any computationally expensive step like solving an ILP (which previous approaches require). We illustrate our framework using detailed examples and also present results from a Matlab-based implementation.
Andrei Hagiescu, Unmesh D. Bordoloi, Samarjit Chakraborty, Prahladavaradan Sampath, P. Vignesh V. Ganesan, S. Ramesh 0002
DAC1