|I am looking for students/staff with knowledge of GPU Programming or interest in Domain-Specific Languages. Even if you can work remotely, contact me with your CV.|
|Our group is named Gajendra, and our research focus is compilers and parallelization. We have developed a domain-specific language for graph algorithms, know how to efficiently compute cycles in a graph with millions of vertices, and learning how to deal with evolving social networks.
>>>Systems Research at CSE, IITM
|Graph Algorithms on GPUs
The application of graphs to represent information is not new to computer science, but in recent years the scale of these graphs has grown many-folds and have recently reached the petabyte sizes. The current CPUs are inadequate to process the petabyte scale of the graphs. Modern GPUs are highly parallel, which makes them the right choice for processing such large scale graphs. Real world graphs also evolve over time, which involve repeating analysis, over a large number of versions of the graphs.
We have developed efficient extensions to find strongly connected components, and to find shortest paths in dynamic graphs.
- LightHouse: An Automated Code Generator for Graph Algorithms on GPUs; Shashidhar G, Rupesh Nasre; LCPC 2016 [Download artifact]
- GPU Centric Extensions for Parallel Strongly Connected Components Computation; Shrinivas Devshatwar, Madhur Amilkanthwar, Rupesh Nasre; GPGPU 2016 [Download artifact]
|Effective Synchronization in Parallel Programs
We present an algebraic model of synchronization for hierarchical data structures.
Each element of the algebraic structure denotes a synchronization option and represents a trade-off between the amount of concurrency and the cost of synchronization.
The algebraic formulation forms the basis for a framework of synchronization mechanisms on a hierarchical data structure.
Effective synchronization is key to scalable parallelization.
Several applications work on an abstract hierarchy of objects, and a parallel
execution on this hierarchy necessitates synchronization across workers
operating on different parts of the hierarchy.
Existing synchronization mechanisms are either too coarse, too inefficient, or too ad hoc,
resulting in reduced or unpredictable amount of concurrency.
With our formulation, we offer a range of possibilities in choosing synchronization in a hierarchical structure.
- DomLock: A New Multi-Granularity Locking Technique for Hierarchies; Saurabh Kalikar, Rupesh Nasre; TOPC 2017, PPoPP 2016 [Download Artifact]
|Program Analysis through Ontologies
We propose an extensible static analysis framework which
enables formal representation of external knowledge, such as
usage knowledge of libraries and domain knowledge. Utilizing this knowledge
and the program triples, we compute the semantic information, called
static trace of the program. It is generated through path-sensitive
intraprocedural traversal of the program.
The main contribution of the framework is to store the static trace
as RDF triples called semantic triples. They are described using the
Program Analysis ontology.
In the framework, a client-analysis
is specified by a set of conjunctive expressions that use SPARQL (W3C RDF
query language) queries. The framework is effective for the client-analyses that
warrant sound and approximate information.
- OPAL: An extensible framework for ontology-based program analysis; Dileep Kumar Pattipati, Rupesh Nasre, P. Sreenivasa Kumar; SPE 2020 [Paper] [Download Artifact]
Books / Thesis
|Distributed Graph Analytics
C. Unnikrishnan, Rupesh Nasre, Y.N. Srikant
|Scaling Context-Sensitive Points-to Analysis
Lambert Academic Publishing
|Scaling Context-Sensitive Points-to Analysis
- ZL2015-1-1019307.7 A pointer analysis method based on offline constraint graph
- US8,346,732 Method and apparatus for providing high availability of a database
- US8,086,603 Using the LUN type for storage allocation [updated]
- US7,925,631 Method and system for reporting inconsistency of file system persistent point in time images and automatically thawing a file system
- US7,890,504 Using the LUN type for storage allocation [original]
- US7,694,095 Managing snapshots using messages
- HPC Application Frameworks, NSM. Rupesh Nasre, Y N Srikant (IISc), Shivasubramanian Gopalakrishnan (IITB)
- Consistency in Distributed Systems, Google Cloud Platform credits.
- Medical Imaging, DBT. Arun Thittai (AM, PI), Ganapathy Krishnamurthi (ED), Rupesh Nasre
- Parallel Clustering, Shell
- Exploratory Research Grant, IITM
- Kris Gopalakrishnan Endowment for YFRA
- Business Rule Extraction, Hitachi. Ravindran Balaraman (PI) and Rupesh Nasre (co-PI)
- University Grant, Accenture. Sutanu Chakrabarti (PI), Deepak Khemani and Rupesh Nasre
- New Faculty Seed Grant, IIT Madras
- New Faculty Initiation Grant, IIT Madras