Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Kalyan Muthukumar is active.

Publication


Featured researches published by Kalyan Muthukumar.


international symposium on microarchitecture | 2000

The Intel IA-64 compiler code generator

Jay Bharadwaj; William Y. Chen; Weihaw Chuang; Gerolf F. Hoflehner; Kishore N. Menezes; Kalyan Muthukumar; Jim Pierce

In planning the new EPIC (Explicitly Parallel Instruction Computing) architecture, Intel designers wanted to exploit the high level of instruction-level parallelism (ILP) found in application code. To accomplish this goal, they incorporated a powerful set of features such as control and data speculation, predication, register rotation, loop branches, and a large register file. By using these features, the compiler plays a crucial role in achieving the overall performance of an IA-64 platform. This paper describes the electron code generator (ECG), the component of Intels IA-64 production compiler that maximizes the benefits of these features. The ECG consists of multiple phases. The first phase, translation, converts the optimizers intermediate representation (ILO) of the program into the ECG IR. Predicate region formation, if conversion, and compare generation occur in the predication phase. The ECG contains two schedulers: the software pipeliner for targeted cyclic regions and the global code scheduler for all remaining regions. Both schedulers make use of control and data speculation. The software pipeliner also uses rotating registers, predication, and loop branches to generate efficient schedules for integer as well as floating-point loops.


compiler construction | 2001

Software Pipelining of Nested Loops

Kalyan Muthukumar; Gautam B. Doshi

Software pipelining is a technique to improve the performance of a loop by overlapping the execution of several iterations. The execution of a software-pipelined loop goes through three phases: prolog, kernel, and epilog. Software pipelining works best if most of the time is spent in the kernel phase rather than in the prolog or epilog phases. This can happen only if the trip count of a pipelined loop is large enough to amortize the overhead of prolog and epilog phases. When a software-pipelined loop is part of a loop nest, the overhead of filling and draining the pipeline is incurred for every iteration of the outer loop. This paper introduces two novel methods to minimize the overhead of software-pipeline fill/drain in nested loops. In effect, these methods overlap the draining of the software pipeline corresponding to one outer loop iteration with the filling of the software pipeline corresponding to one or more subsequent outer loop iterations. This results in better instruction-level parallelism (ILP) for the loop nest, particularly for loop nests in which the trip counts of inner loops are small. These methods exploit Itanium™ architecture software pipelining features such as predication, register rotation, and explicit epilog stage control, to minimize the code size overhead associated with such a transformation. However, the key idea behind these methods is applicable to other architectures as well. These methods have been prototyped in the Intel optimizing compiler for the Itanium™ processor. Experimental results on SPEC2000 benchmark programs are presented.


Archive | 2002

Mechanism for software pipelining loop nests

Kalyan Muthukumar; Gautam B. Doshi


Archive | 1999

Early exit transformations for software pipelining

Kalyan Muthukumar; Dong-Yuan Chen; Youfeng Wu; Daniel M. Lavery


Archive | 2004

Resource-aware scheduling for compilers

Kalyan Muthukumar; Daniel M. Lavery; Gerolf F. Hoflehner; Chu-cheow Lim; Jean-Francois Collard


Archive | 2000

Compare speculation in software-pipelined loops

Kalyan Muthukumar; David A Helder


Archive | 2003

System and method for software-pipelining of loops with sparse matrix routines

Kalyan Muthukumar; Gautam B. Doshi; Dattatraya Kulkarni


Archive | 1999

Each iteration array selective loop data prefetch in multiple data width prefetch system using rotating register and parameterization to avoid redundant prefetch

Gautam B. Doshi; Kalyan Muthukumar


Archive | 2000

Mechanism to avoid explicit prologs in software pipelined do-while loops

David A Helder; Kalyan Muthukumar


Archive | 2005

Power management by adding special instructions during program translation

Kalyan Muthukumar; Srinivasa Ramakrishna Stg; Gautam B. Doshi

Researchain Logo
Decentralizing Knowledge