Keshav K Pingali
#9,622
Most Influential Person Now
Computer scientist
Keshav K Pingali's AcademicInfluence.com Rankings
Keshav K Pingalicomputer-science Degrees
Computer Science
#509
World Rank
#529
Historical Rank
Parallel Computing
#26
World Rank
#26
Historical Rank
Database
#1073
World Rank
#1128
Historical Rank
Download Badge
Computer Science
Keshav K Pingali's Degrees
- PhD Computer Science Stanford University
- Masters Computer Science Stanford University
Similar Degrees You Can Earn
Why Is Keshav K Pingali Influential?
(Suggest an Edit or Addition)According to Wikipedia, Keshav K Pingali is an American computer scientist, currently the W.A."Tex" Moncrief Chair of Grid and Distributed Computing at the University of Texas at Austin, and also a published author. He previously also held the India Chair of Computer Science at Cornell University and also the N. Rama Rao Professorship at Indian Institute of Technology. He is a Fellow of the American Association for the Advancement of Science, Association for Computing Machinery and Institute of Electrical and Electronics Engineers. In 2020, he was elected a Foreign Member of the Academia Europeana.
Keshav K Pingali's Published Works
Published Works
- I-structures: data structures for parallel computing (1986) (513)
- A lightweight infrastructure for graph analytics (2013) (509)
- The tao of parallelism in algorithms (2011) (401)
- Optimistic parallelism requires abstractions (2007) (356)
- A quantitative study of irregular programs on GPUs (2012) (349)
- Process decomposition through locality of reference (1989) (289)
- Data-centric multi-level blocking (1997) (257)
- The program structure tree: computing control regions in linear time (1994) (233)
- Automated application-level checkpointing of MPI programs (2003) (221)
- A comparison of empirical and model-driven optimization (2003) (201)
- Is Search Really Necessary to Generate High-Performance BLAS? (2005) (174)
- Lonestar: A suite of parallel irregular programs (2009) (167)
- How much parallelism is there in irregular applications? (2009) (158)
- Register renaming and dynamic speculation: an alternative approach (1993) (150)
- An Efficient CUDA Implementation of the Tree-Based Barnes Hut n-Body Algorithm (2011) (147)
- Dependence-based program analysis (1993) (141)
- Application-level checkpointing for shared memory programs (2004) (132)
- Fast agglomerative clustering for rendering (2008) (117)
- Optimistic parallelism requires abstractions (2009) (112)
- Gluon: a communication-optimizing substrate for distributed heterogeneous graph analytics (2018) (111)
- Adaptive heterogeneous scheduling for integrated GPUs (2014) (109)
- Data-Driven Versus Topology-driven Irregular Computations on GPUs (2013) (107)
- Dependence flow graphs: an algebraic approach to program dependencies (1991) (103)
- A load balancing framework for adaptive and asynchronous applications (2004) (103)
- Groute: An Asynchronous Multi-GPU Programming Model for Irregular Computations (2017) (97)
- A GPU implementation of inclusion-based points-to analysis (2012) (95)
- Access normalization: loop restructuring for NUMA compilers (1992) (95)
- Compiler research: the next 50 years (2009) (93)
- An experimental comparison of cache-oblivious and cache-conscious programs (2007) (92)
- Implementation and Evaluation of a Scalable Application-Level Checkpoint-Recovery Scheme for MPI Programs (2004) (89)
- Morph algorithms on GPUs (2013) (88)
- A compiler for throughput optimization of graph algorithms on GPUs (2016) (86)
- A Language for the Compact Representation of Multiple Program Versions (2005) (83)
- A singular loop transformation framework based on non-singular matrices (1992) (83)
- Synthesizing Transformations for Locality Enhancement of Imperfectly-Nested Loop Nests (2001) (82)
- Tiling Imperfectly-nested Loop Nests (2000) (81)
- Solving Alignment Using Elementary Linear Algebra (1994) (80)
- A case for source-level transformations in MATLAB (1999) (78)
- Optimistic parallelism benefits from data partitioning (2008) (77)
- Ordered vs. unordered: a comparison of parallelism and work-efficiency in irregular algorithms (2011) (75)
- Proactive Control of Approximate Programs (2016) (75)
- From Control Flow to Dataflow (1991) (74)
- A Relational Approach to the Compilation of Sparse Matrix Programs (1997) (70)
- Compiler-enhanced incremental checkpointing for OpenMP applications (2008) (69)
- Next-generation generic programming and its application to sparse matrix computations (2000) (69)
- Single machine graph analytics on massive datasets using Intel optane DC persistent memory (2019) (68)
- Access normalization: loop restructuring for NUMA computers (1993) (68)
- Parallel inclusion-based points-to analysis (2010) (64)
- Automatic measurement of memory hierarchy parameters (2005) (63)
- High-level semantic optimization of numerical codes (1999) (61)
- Atomic-free irregular computations on GPUs (2013) (58)
- Parallel graph analytics (2016) (55)
- Scheduling strategies for optimistic parallel execution of irregular programs (2008) (55)
- Structure-driven optimizations for amorphous data-parallel programs (2010) (53)
- Recent advances in checkpoint/recovery systems (2006) (51)
- Optimal control dependence computation and the Roman chariots problem (1997) (51)
- C3: A System for Automating Application-Level Checkpointing of MPI Programs (2003) (50)
- Exploiting the commutativity lattice (2011) (49)
- Compiling for Distributed Memory Architectures (1994) (48)
- Pangolin: An Efficient and Flexible Graph Mining System on CPU and GPU (2019) (45)
- Algorithms for computing the static single assignment form (2003) (45)
- A framework for generalized control dependence (1996) (45)
- Deterministic galois: on-demand, portable and parameterless (2014) (45)
- Think globally, search locally (2005) (44)
- An experimental evaluation of tiling and shackling for memory hierarchy management (1999) (44)
- An elementary introduction to Kalman filtering (2017) (44)
- Collective operations in application-level fault-tolerant MPI (2003) (41)
- Priority Queues Are Not Good Concurrent Priority Schedulers (2015) (40)
- Parallel triangle counting and k-truss identification using graph-centric methods (2017) (39)
- Efficient demand-driven evaluation. Part 1 (1985) (39)
- Elixir: a system for synthesizing concurrent graph programs (2012) (37)
- Collective Operations in an Application-level Fault Tolerant MPI System (2003) (37)
- Mobile MPI programs in computational grids (2006) (37)
- Betweenness centrality: algorithms and implementations (2013) (35)
- Scalable Data-Driven PageRank: Algorithms, System Issues, and Lessons Learned (2015) (35)
- Using Transactions in Delaunay Mesh Generation (2006) (34)
- Synthesizing transformations for locality enhancement of imperfectly-nested loop nests (2000) (34)
- Parallelization of Reordering Algorithms for Bandwidth and Wavefront Reduction (2014) (34)
- Synthesizing concurrent schedulers for irregular algorithms (2011) (33)
- Fractal symbolic analysis (2000) (33)
- Finding Regions Fast: Single Entry Single Exit and Control Regions in Linear Time (1993) (33)
- Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming (1997) (33)
- Stochastic gradient descent on GPUs (2015) (32)
- A Framework for Sparse Matrix Code Synthesis from High-level Specifications (2000) (32)
- X-ray: a tool for automatic measurement of hardware parameters (2005) (31)
- Parallel Graph Partitioning on Multicore Architectures (2010) (31)
- Automatic Generation of Block-Recursive Codes (2000) (31)
- DSMR: A Parallel Algorithm for Single-Source Shortest Path Problem (2016) (29)
- Analytic Models and Empirical Search: A Hybrid Approach to Code Optimization (2005) (29)
- Amorphous Data-parallelism in Irregular Algorithms ∗ (2009) (29)
- Experimental evaluation of application-level checkpointing for OpenMP programs (2006) (29)
- Efficient Demand-Driven Evaluation. (1983) (26)
- Transformations for Imperfectly Nested Loops (1996) (26)
- Compiling Parallel Code for Sparse Matrix Applications (1997) (26)
- Date movement and control substrate for parallel adaptive applications (2002) (26)
- A Study of Partitioning Policies for Graph Analytics on Large-scale Distributed Platforms (2018) (25)
- Compiling for Locality (1990) (24)
- A fully abstract semantics for a functional language with logic variables (1989) (24)
- Abelian: A Compiler for Graph Analytics on Distributed, Heterogeneous Platforms (2018) (24)
- A round-efficient distributed betweenness centrality algorithm (2019) (23)
- DistTC: High Performance Distributed Triangle Counting (2019) (23)
- Graph Grammar based Multi-thread Multi-frontal Direct Solver with Galois Scheduler (2019) (23)
- APT: a data structure for optimal control dependence computation (1995) (22)
- Optimizing checkpoint sizes in the C3 system (2005) (22)
- Synthesizing parallel graph programs via automated planning (2015) (22)
- Compiling Parallel Sparse Code for User-Defined Data Structures (1997) (22)
- A shape analysis for optimizing parallel graph programs (2011) (21)
- Programming Multicores: Do Applications Programmers Need to Write Explicitly Parallel Programs? (2010) (21)
- CuSP: A Customizable Streaming Edge Partitioner for Distributed Graph Analytics (2019) (21)
- Is Cache-Oblivious DGEMM Viable? (2006) (21)
- Data-Centric Transformations for Locality Enhancement (2001) (19)
- Synchronization Trade-Offs in GPU Implementations of Graph Algorithms (2016) (19)
- Gluon-Async: A Bulk-Asynchronous System for Distributed and Heterogeneous Graph Analytics (2019) (18)
- Quasi-Optimal Elimination Trees for 2D Grids with Singularities (2015) (18)
- Parallel Clustered Low-Rank Approximation of Graphs and Its Application to Link Prediction (2012) (17)
- Data Movement and Control Substrate for Parallel Scientific Computing (1997) (17)
- IGA-ADS: Isogeometric analysis FEM using ADS solver (2017) (17)
- Efficient demand-driven evaluation. Part 2 (1986) (17)
- Landing CG on EARTH: A Case Study of Fine-Grained Multithreading on an Evolutionary Path (2000) (17)
- Parallelizing SuperFine (2012) (17)
- Parallel FEM Simulation of Crack Propagation - Challenges, Status, and Perspectives (2000) (17)
- A Lightweight Communication Runtime for Distributed Graph Analytics (2018) (16)
- Proteus: Language and Runtime Support for Self-Adaptive Software Development (2019) (16)
- Compiler parallelization of SIMPLE for a distributed memory machine (1990) (16)
- Sandslash: a two-level framework for efficient graph pattern mining (2020) (15)
- The Static Single Assignment Form and its Computation (1999) (15)
- Inter-Disciplinary Research Challenges in Computer Systems for the 2020s (2018) (15)
- What Scalable Programs Need from Transactional Memory (2017) (15)
- Kinetic Dependence Graphs (2015) (14)
- Compiler-Enhanced Incremental Checkpointing (2007) (14)
- Sparse code generation for imperfectly nested loops with dependences (1997) (14)
- A fully abstract semantics for a first-order functional language with logic variables (1991) (13)
- Tiling Imperfectly-nested Loop Nests (REVISED) (2000) (13)
- SPRoute: A Scalable Parallel Negotiation-based Global Router (2019) (13)
- DSMR: a shared and distributed memory algorithm for single-source shortest path problem (2016) (13)
- Evaluation of Graph Analytics Frameworks Using the GAP Benchmark Suite (2020) (12)
- ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '14, Edinburgh, United Kingdom - June 09 - 11, 2014 (2014) (12)
- A distributed system based on web services for computational science simulations (2006) (12)
- Computational Science Simulations Based on Web Services (2003) (11)
- Parallel fast isogeometric L2 projection solver with GALOIS system for 3D tumor growth simulations (2019) (11)
- Look Left, Look Right, Look Left Again: An Application of Fractal Symbolic Analysis to Linear Algebra Code Restructuring (2004) (10)
- Automatic Measurement of Instruction Cache Capacity (2005) (10)
- Phoenix: A Substrate for Resilient Distributed Graph Analytics (2019) (9)
- O'SOAP - A Web Services Framework for DDDAS Applications (2004) (9)
- Can Parallel Programming Revolutionize EDA Tools? (2018) (9)
- BiPart: a parallel and deterministic hypergraph partitioner (2020) (9)
- High-speed graph analytics with the galois system (2014) (9)
- A Study of Graph Analytics for Massive Datasets on Distributed Multi-GPUs (2020) (8)
- Scheduling Issues in Optimistic Parallelization (2007) (8)
- Groute (2020) (8)
- Scaling Runtimes for Irregular Algorithms to Large-Scale NUMA Systems (2015) (7)
- Compiler and run-time support for semi-structured applications (1997) (7)
- Proceedings of the 16th international conference on Supercomputing (2002) (7)
- Ordered and unordered algorithms for parallel breadth first search (2010) (7)
- SLAMBooster: An Application-Aware Online Controller for Approximation in Dense SLAM (2019) (7)
- The Bernoulli Generic Matrix Library (2000) (7)
- Abstract semantics for a higher-order functional language with logic variables (1992) (7)
- Dynamic Load Balancing Strategies for Graph Applications on GPUs (2017) (7)
- A Methodology for Principled Approximation in Visual SLAM (2020) (7)
- An Experimental Study of Self-Optimizing Dense Linear Algebra Software (2008) (7)
- Lazy evaluation and the logic variable (1988) (7)
- Derivative grammars: a symbolic approach to parsing with derivatives (2019) (7)
- Multicore Optimization for Ranger (2009) (6)
- On the Scalability of an Automatically Parallelized Irregular Application (2008) (6)
- Left-Looking to Right-Looking and Vice Versa: An Application of Fractal Symbolic Analysis to Linear Algebra Code Restructuring (2000) (6)
- Accumulators: New Logic Variable Abstractions for Functional Languages (1991) (6)
- Generalized Dominance and Control Dependence (1996) (6)
- Unlocking Fine-Grain Parallelism for AIG Rewriting (2018) (6)
- Pangolin (2020) (6)
- Optimizing Checkpoint Size in the C 3 System (2005) (6)
- Fractal Symbolic Analysis for Program Transformations (2000) (5)
- Tiling Imperfectly-nested Loops (1999) (5)
- Groute: Asynchronous Multi-GPU Programming Model with Applications to Large-scale Graph Processing (2020) (5)
- Efficient Demand-Driven Evaluation (II). (1983) (5)
- Unified framework for sparse and dense SPMD code generation (preliminary report) (1997) (5)
- Towards a science of parallel programming (2010) (4)
- An Open-Source EDA Flow for Asynchronous Logic (2021) (4)
- Compiling Imperfectly-nested Sparse Matrix Codes with Dependences (2000) (4)
- Accumulators: A New Logic Variable Abstractions for Functional Languages (1988) (4)
- Hybrid Direct and Iterative Solver with Library of Multi-criteria Optimal Orderings for h Adaptive Finite Element Method Computations (2016) (4)
- Application-level Checkpointing for OpenMP Programs (2005) (4)
- Efficient Computation of Interprocedural Control Dependence (2001) (4)
- Cyclone: A Static Timing and Power Engine for Asynchronous Circuits (2020) (4)
- Fractal symbolic analysis (2001) (4)
- X-Ray : Automatic Measurement of Hardware Parameters (2004) (4)
- Adaptive Work-Efficient Connected Components on the GPU (2016) (3)
- Fractal Symbolic Analysis for Program Transformations (*new file*) (2000) (3)
- Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation (2014) (3)
- Pangolin: An Efficient and Flexible Graph Pattern Mining System on CPU and GPU. (2020) (3)
- Performance Analysis of the Pipe Problem, a Multi-Physics Simulation Based on Web Services (2004) (3)
- Synthesizing transformations for locality enhancement of imperfectly-nested loop nests (2014) (3)
- A Generic Programming System for Sparse Matrix Computations (1999) (3)
- Defining and Implementing Commutativity Conditions for Parallel Execution (2009) (3)
- Automatic Parallelization of the Conjugate Gradient Algorithm (1995) (3)
- Computational Science and Its Applications – ICCSA 2012 (2012) (3)
- Latency Hiding (2011) (2)
- Hypergraph Grammars in Non-stationary hp-adaptive Finite Element Method (2016) (2)
- An Adaptive Load Balancer For Graph Analytical Applications on GPUs (2019) (2)
- Automatic Measurement of Hardware Parameters for Embedded Processors (2005) (2)
- Parallelizing irregular algorithms: a pattern language (2011) (2)
- An Experimental Comparison of Cache-oblivious and Cache-aware Programs DRAFT : DO NOT DISTRIBUTE (2007) (2)
- A Graphical Model for Context-Free Grammar Parsing (2015) (2)
- A Fine-Grained Hybrid CPU-GPU Algorithm for Betweenness Centrality Computations (2020) (2)
- Telescopic Hybrid Fast Solver for 3D Elliptic Problems with Point Singularities (2015) (2)
- Brief announcement: processor allocation for optimistic parallelization of irregular programs (2011) (2)
- Fine-grain compilation for pipelined machines (1988) (2)
- Capri: A Control System for Approximate Programs (2017) (2)
- Next generation system software for future high-end computing systems (2002) (2)
- NetVec: A Scalable Hypergraph Embedding System (2021) (2)
- SPRoute 2.0: A detailed-routability-driven deterministic parallel global router with soft capacity (2022) (2)
- Parallel graph-grammar-based algorithm for the longest-edge refinement of triangular meshes and the pollution simulations in Lesser Poland area (2021) (2)
- Parallelization of asynchronous variational integrators forshared memory architectures (2014) (2)
- PROCESSING ELEMENT FOR A LARGE MULTIPLE PROCESSOR DATAFLOW MACHINE. (1980) (2)
- Languages and Compilers for Parallel Computing: 7th International Workshop, Ithaca, NY, USA, August 8 - 10, 1994. Proceedings (1995) (2)
- Parsing with Pictures (2012) (2)
- An Executable Representation of Distance and Direction (1991) (2)
- Applications of A Hyper–Graph Grammar System in Adaptive Finite–Element Computations (2018) (1)
- SLAMBooster: An Application-aware Controller for Approximation in SLAM (2018) (1)
- The Lambda Loop Transformation Toolkit (User's Reference Manual) (1994) (1)
- Performance Analysis of a Multi-Physics Simulation System Based on Web Services∗ (2003) (1)
- Parallel and Vector Programming Languages (1999) (1)
- Locality of Reference and Parallel Processing (2011) (1)
- Lowering IrGL to CUDA (2016) (1)
- Parla: A Python Orchestration System for Heterogeneous Architectures (2022) (1)
- Checkpointing Shared Memory Programs at the Application-level (2004) (1)
- Is Cache Oblivious DGEMM a Viable Alternative ? (2006) (1)
- Multi-frontal multi-thread direct solver with GALOIS system for adaptive finite element method (2015) (1)
- Supermodeling of tumor dynamics with parallel isogeometric analysis solver (2019) (1)
- Welcome from the PLDI chairs (2014) (1)
- A Study of APIs for Graph Analytics Workloads (2020) (1)
- Runtime System Support for Parallel Iterative PDE Computations (1997) (0)
- Introduction to the Special Issue on PPoPP'12 (2015) (0)
- Left to Right and vice versa : Applying Fractal Symbolic Analysis to Restructuring Linear Algebra Codes (2007) (0)
- LINEAR COMPUTATIONAL COST GALOIS BASED GRAPH GRAMMAR DIRECT SOLVER FOR H ADAPTIVE GRIDS (2013) (0)
- Sandslash (2021) (0)
- La prossima vita at TOPLAS (2010) (0)
- Sonic: A Sampling-based Online Controller for Streaming Applications (2021) (0)
- Pangolin: An Efficient and Flexible Graph Mining System on CPU and GPU (0)
- (08) Working with Tony is everything it's cracked up to be (slides) (2014) (0)
- Toward a digital flow for asynchronous VLSI systems (2019) (0)
- Loop transformations for NUMA machines (1993) (0)
- General/Program Co-Chairs: (2008) (0)
- A Simple, Fast, and GPU-friendly Steiner-Tree Heuristic (2022) (0)
- Parallel Tools for Asynchronous VLSI Systems (2018) (0)
- Session details: Domain specific languages and their compilers (2011) (0)
- Loop Tiling (2011) (0)
- Logic of Lemmings in Compiler Innovation (2009) (0)
- An Experimental Study of Self-Optimizing Dense Linear Algebra Software Analytical models of the memory hierarchy are used to explain the performance of self-optimizing software. (2008) (0)
- Advanced Computing Research Institute Annual Research Activity Report September 1993 September 1994 (1994) (0)
- Session details: Compilers, optimization, and co-design (2014) (0)
- GrAPL Keynote 1 (2019) (0)
- Session details: Compilers, optimization, and co-design (2014) (0)
- Data-parallel abstractions for irregular programs (2008) (0)
- Instruction-Level Parallelism and Parallelizing Compilation (Dagstuhl Seminar 99161) (2021) (0)
- Proceedings of the 16th international conference on Supercomputing, ICS 2002, New York City, NY, USA, June 22-26, 2002 (2002) (0)
- TheBernoulliGenericMatrix Library Nikolay Mateev (2000) (0)
- Man vs. Machine : Comparing Handwritten and Compiler-generated Application-Level Checkpointing (2004) (0)
- BiPart (2021) (0)
- Parallel program = operator + schedule + parallel data structure (2015) (0)
- ParallelClosure : A Parallel Design Optimizer for Timing Closure (2019) (0)
- Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 2005, June 15-17, 2005, Chicago, IL, USA (2005) (0)
- HyperNetVec: Fast and Scalable Hierarchical Embedding for Hypergraphs (2022) (0)
- Adaptivity in Parallel Scientific Computing (Dagstuhl Seminar 03211) (2021) (0)
- Session details: Keynote address (2014) (0)
- 2015 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation, SAMOS 2015, Samos, Greece, July 19-23, 2015 (2015) (0)
- Tuning three-dimensional tumor progression simulations on a cluster of GPGPUs (2022) (0)
- Automatic Tuning of Task Scheduling Policies on Multicore Architectures (2015) (0)
- Enhancment of Grid Scheduling using Dyanamic Error Detection and Fault Tolerance (2019) (0)
- Exploiting Asynchronous Priority Scheduling in Parallel Eikonal Solvers (2021) (0)
- Editorial: A changing of the guard (2007) (0)
- Parallel graph-grammar-based algorithm for the longest-edge refinement of triangular meshes and the pollution simulations in Lesser Poland area (2021) (0)
- Agenda for the Compiler Community (2009) (0)
- Synthesizing Concurrent Graph Data Structures: A Case Study (2011) (0)
- Session details: Programming models (2008) (0)
- Welcome to ICS'02 (2002) (0)
- Chapter 2 Can Parallel Programming Revolutionize EDA Tools ? (2019) (0)
- Phoenix (2019) (0)
- Session details: Compilers, optimization, and co-design (2014) (0)
- Pangolin: An Efficient and Flexible Graph Pattern Mining System on CPU and GPU (2021) (0)
- Parallel Shared-Memory Isogeometric Residual Minimization (iGRM) for Three-Dimensional Advection-Diffusion Problems (2020) (0)
- Session details: Keynote address (2014) (0)
- Contributing authors (1973) (0)
- Supermodeling, a convergent data assimilation meta-procedure used in simulation of tumor progression (2022) (0)
- CuSP (2020) (0)
- A Digital Flow for Asynchronous VLSI Systems: Status Update (2020) (0)
- interact : An Interactive Design Environment for Asynchronous Logic (2021) (0)
- Parallel FEM Simulation of Crack Propagation on the AC 3 Velocity Cluster ∗ (2003) (0)
- (07) Working with Tony is everything it's cracked up to be (2014) (0)
- Parallel Programming in the Age of Ubiquitous Parallelism (2014) (0)
- Remembrances of things past (2009) (0)
- La dolce vita at TOPLAS (2010) (0)
- Optimizing Graph Transformer Networks with Graph-based Techniques (2021) (0)
- Clarification of "Feeding Inputs on Demand" in Efficient Demand-Driven Evaluation - Part 1 (1986) (0)
- Editorial: Remembrances of things past (2009) (0)
- Scalable Hypergraph Embedding System (2021) (0)
- 09191 Abstracts Collection - Fault Tolerance in High-Performance Computing and Grids (2009) (0)
- Collection Fault Tolerance in High-Performance Computing and Grids Dagstuhl Seminar (2009) (0)
- Fast Compiled Logic Simulation Using Linear BDDs (1995) (0)
This paper list is powered by the following services:
Other Resources About Keshav K Pingali
What Schools Are Affiliated With Keshav K Pingali?
Keshav K Pingali is affiliated with the following schools: