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

Kunal Banerjee 0001

dblp:30/10015 · DBLP profile ↗
← Back
20ranked-venue papers
7as first author
4since 2021 · last 2024
0000-0002-0605-630XORCID · verified

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

Systems, architecture and hardware · 8 · 2 first-authorSoftware engineering, systems software and programming languages · 7 · 4 first-author · 1 since 2021Artificial intelligence and machine learning · 4 · 3 since 2021Databases, data management, data science and information retrieval · 1 · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 since 2021Theory of computation · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1 · 1 since 2021

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
4 papers
Electronic design automation · 66% Hardware accelerators and domain-specific architectures · 26% Processor architecture and microarchitecture · 8%
Software engineering, system software, and programming languages
3 papers
Program verification · 66% Compilers and program optimization · 28% Programming languages and type systems · 6%
Artificial intelligence
1 paper
Efficient and distributed learning · 50% Deep learning architectures and training · 50%

Topics — the 12 heaviest of 13, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Electronic design automation
high-level synthesis
0.432014
Extending the FSMD Framework for Validating Code Motions of Array-Handling Programs · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2014
Verification of Code Motion Techniques Using Value Propagation · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2014
Verification of Loop and Arithmetic Transformations of Array-Intensive Behaviors · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2013
Program verification
equivalence checking
0.422014
Extending the FSMD Framework for Validating Code Motions of Array-Handling Programs · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2014
Verification of Code Motion Techniques Using Value Propagation · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2014
Machine learning › Deep learning architectures and training
convolutional neural network
0.312018
Mixed Precision Training of Convolutional Neural Networks using Integer Operations · ICLR (Poster) 2018
Machine learning › Efficient and distributed learning
low-precision training
0.312018
Mixed Precision Training of Convolutional Neural Networks using Integer Operations · ICLR (Poster) 2018
Hardware accelerators and domain-specific architectures
machine learning accelerator
0.312018
Anatomy of high-performance deep learning convolutions on SIMD architectures · SC 2018
Compilers and program optimization › verified compilation
translation validation
0.312017
Deriving Bisimulation Relations from Path Extension Based Equivalence Checkers · IEEE Trans. Software Eng. 2017
Electronic design automation › hardware verification and test › formal verification
equivalence checking
0.212013
Verification of Loop and Arithmetic Transformations of Array-Intensive Behaviors · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2013
Electronic design automation
hardware verification and test
0.212013
Verification of Loop and Arithmetic Transformations of Array-Intensive Behaviors · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2013
Processor architecture and microarchitecture
SIMD
0.112018
Anatomy of high-performance deep learning convolutions on SIMD architectures · SC 2018
Automata and formal languages
equivalence problem
0.112017
Deriving Bisimulation Relations from Path Extension Based Equivalence Checkers · IEEE Trans. Software Eng. 2017
Programming languages and type systems › language semantics
formal semantics
0.112014
Extending the FSMD Framework for Validating Code Motions of Array-Handling Programs · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2014
Electronic design automation › high-level synthesis
scheduling
0.112014
Verification of Code Motion Techniques Using Value Propagation · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2014

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

path extension based equivalence checking · 0.6value propagation · 0.4path extension · 0.4FSMDA · 0.4FSMD · 0.4quantization · 0.3integer arithmetic · 0.3SIMD · 0.3slice-based equivalence checking · 0.2arithmetic expression normalization · 0.2
YearPublicationVenuePosition
2024 waLLMartCache: A Distributed, Multi-tenant and Enhanced Semantic Caching System for LLMs
Soumik Dasgupta, Anurag Wagh, Lalitdutt Parsai, Binay Gupta, Geet Vudata, Shally Sangal, Sohom Majumdar, Hema Rajesh, Kunal Banerjee 0001, Anirban Chatterjee
ICPR (7)9
2022 WALTS: Walmart AutoML Libraries, Tools and Services
abstract
Automated Machine Learning (AutoML) is an upcoming field in machine learning (ML) that searches the candidate model space for a given task, dataset and an evaluation metric and returns the best performing model on the supplied dataset as per the given metric. AutoML not only reduces the man-power and expertise needed to develop ML models but also decreases the time-to-market for ML models substantially. In Walmart, we have designed an enterprise-scale AutoML frame-work called WALTS to meet the rising demand of employing ML in the retail business, and thus help democratize ML within our organization. In this work, we delve into the design of WALTS from both algorithmic and architectural perspectives. Specfiically, we elaborate on how we explore models from a pool of candidates along with describing our choice of technology stack to make the whole process scalable and robust. We illustrate the process with the help of a business use-case, and finally underline how WALTS has impacted our business so far.
Rahul Bajaj, Kunal Banerjee 0001, Lalitdutt Parsai, Deepansh Goyal, Sachin Parmar, Divyajyothi Bn, Balamurugan Subramaniam, Chaitanya Sai, Tarun Balotia, Anirban Chatterjee, Kailash Sati
SEAA2
2022 Look before You Leap! Designing a Human-centered AI System for Change Risk Assessment
abstract
Reducing the number of failures in a production system is one of the most challenging problems in technology driven industries, such as, the online retail industry. To address this challenge, change management has emerged as a promising sub-field in operations that manages and reviews the changes to be deployed in production in a systematic manner. However, it is practically impossible to manually review a large number of changes on a daily basis and assess the risk associated with them. This warrants the development of an automated system to assess the risk associated with a large number of changes. There are a few commercial solutions available to address this problem but those solutions lack the ability to incorporate domain knowledge and continuous feedback from domain experts into the risk assessment process. As part of this work, we aim to bridge the gap between model-driven risk assessment of change requests and the assessment of domain experts by building a continuous feedback loop into the risk assessment process. Here we present our work to build an end-to-end machine learning system along with the discussion of some of practical challenges we faced related to extreme skewness in class distribution, concept drift, estimation of the uncertainty associated with the model's prediction and the overall scalability of the system.
Binay Gupta, Anirban Chatterjee, Subhadip Paul, Harika Matha, Lalitdutt Parsai, Kunal Banerjee 0001, Vijay Srinivas Agneeswaran
ICAART (3)6
2021 From Pixels to Words: A Scalable Journey of Text Information from Product Images to Retail Catalog
abstract
Extracting texts of various shapes, sizes, and orientations from images containing multiple objects is an important problem in many contexts, especially, in connection to E-commerce. In the context of the scale at which Walmart operates, the text from an image can be a richer and more accurate source of data than human inputs and can be used in several applications such as Attribute Extraction, Offensive Text Classification, Product Matching among others. The motivation of this particular work has come from different business requirements such as flagging products whose images contain words that are non-compliant with organizational policies and building an efficient automated system to identify similar products by comparing the information contained in their respective product images and many others. Existing methods fail to address domain specific challenges like high entropy, different orientations, and small texts in product images adequately. In this work, we provide a solution that not only addresses these challenges but is also proven to work at a million image scale for various retail business units within Walmart. Extensive experimentation revealed that our proposed solution has been able to save around 30% computational cost in both the training and the inference stages.
Pranay Dugar, Rajesh Shreedhar Bhat, Asit Sharad Tarsode, Uddipto Dutta, Kunal Banerjee 0001, Anirban Chatterjee, Vijay Srinivas Agneeswaran
CIKM5
2020 Harnessing Deep Learning via a Single Building Block
abstract
Deep learning (DL) is one of the most prominent branches of machine learning. Due to the immense computational cost of DL workloads, industry and academia have developed DL libraries with highly-specialized kernels for each workload/architecture, leading to numerous, complex code-bases that strive for performance, yet they are hard to maintain and do not generalize. In this work, we introduce the batch-reduce GEMM kernel and show how the most popular DL algorithms can be formulated with this kernel as the basic building-block. Consequently, the DL library-development degenerates to mere (potentially automatic) tuning of loops around this sole optimized kernel. By exploiting our new kernel we implement Recurrent Neural Networks, Convolution Neural Networks and Multilayer Perceptron training and inference primitives in just 3K lines of high-level code. Our primitives outperform vendor-optimized libraries on multi-node CPU clusters, and we also provide proof-of-concept CNN kernels targeting GPUs. Finally, we demonstrate that the batch-reduce GEMM kernel within a tensor compiler yields high-performance CNN primitives, further amplifying the viability of our approach.
Evangelos Georganas, Kunal Banerjee 0001, Dhiraj D. Kalamkar, Sasikanth Avancha, Anand Venkat, Michael J. Anderson, Greg Henry, Hans Pabst, Alexander Heinecke
IPDPS2
2019 Training Google Neural Machine Translation on an Intel CPU Cluster
abstract
Google's neural machine translation (GNMT) is state-of-the-art recurrent neural network (RNN/LSTM) based language translation application. It is computationally more demanding than well-studied convolutional neural networks (CNNs). Also, in contrast to CNNs, RNNs heavily mix compute and memory bound layers which requires careful tuning on a latency machine to optimally use fast on-die memories for best single processor performance. Additionally, due to massive compute demand, it is essential to distribute the entire workload among several processors and even compute nodes. To the best of our knowledge, this is the first work which attempts to scale this application on an Intel CPU cluster. Our CPU-based GNMT optimization, the first of its kind, achieves this by the following steps: (i) we choose a monolithic long short-term memory (LSTM) cell implementation from LIBXSMM library (specifically tuned for CPUs) and integrate it into TensorFlow, (ii) we modify GNMT code to use fused time step LSTM op for the encoding stage, (iii) we combine Horovod and Intel MLSL scaling libraries for improved performance on multiple nodes, and (iv) we extend the bucketing logic for grouping similar length sentences together to multiple nodes for achieving load balance across multiple ranks. In summary, we demonstrate that due to these changes we are able to outperform Google's stock CPU-based GNMT implementation by ~2x on single node and potentially enable more than 25x speedup using 16 node CPU cluster.
Dhiraj D. Kalamkar, Kunal Banerjee 0001, Sudarshan Srinivasan, Srinivas Sridharan 0002, Evangelos Georganas, Mikhail Smorkalov, Alexander Heinecke
CLUSTER2
2019 Counter-example generation procedure for path-based equivalence checkers
abstract
Path‐based equivalence checkers (PBECs) have been successfully applied for verification of programmes from diverse domains and from various stages of high‐level synthesis. In the case of non‐equivalence, PBEC provides very little information which is not sufficient for further investigation of the two programmes being compared by some human expert. In this work, the authors show how a counter‐trace ( cTrace ) can be generated in the case of non‐equivalence reported by the PBEC. Using this cTrace , they also present a procedure to find suitable initialisation values for input variables which reveal the non‐equivalence (i.e. counter‐example) by using off‐the‐shelf satisfiability modulo theories (SMT) solvers. To aid the human expert, they also show that how they can visualise this cTrace in the control and data‐flow graph of the programmes using the graph visualisation software – Graphviz. This counter‐example and visual representation of the corresponding cTrace will be helpful in debugging the root cause of the non‐equivalence. The experimental results are encouraging.
Ramanuj Chouksey, Chandan Karfa, Kunal Banerjee 0001, Pankaj Kumar Kalita, Purandar Bhaduri
IET Softw.3
2018 Mixed Precision Training of Convolutional Neural Networks using Integer Operations
Dipankar Das 0002, Naveen Mellempudi, Dheevatsa Mudigere, Dhiraj D. Kalamkar, Sasikanth Avancha, Kunal Banerjee 0001, Srinivas Sridharan 0002, Karthikeyan Vaidyanathan, Bharat Kaul, Evangelos Georganas, Alexander Heinecke, Pradeep Dubey, Jesús Corbal, Nikita Shustrov, Roman Dubtsov, Evarist Fomenko, Vadim O. Pirogov
ICLR (Poster)6
2018 Anatomy of high-performance deep learning convolutions on SIMD architectures
Evangelos Georganas, Sasikanth Avancha, Kunal Banerjee 0001, Dhiraj D. Kalamkar, Greg Henry, Hans Pabst, Alexander Heinecke
SC3
2017 An Equivalence Checking Framework for Array-Intensive Programs
Kunal Banerjee 0001, Chittaranjan A. Mandal, Dipankar Sarkar 0001
ATVA1
2017 An End-to-end Formal Verifier for Parallel Programs
Soumyadip Bandyopadhyay, Santonu Sarkar, Kunal Banerjee 0001
ICSOFT3
2017 Deriving bisimulation relations from path based equivalence checkers
abstract
Abstract Translation validation is an undecidable problem. Bisimulation relation based approaches, nevertheless, have been widely successful in translation validation of programs albeit with some drawbacks. These drawbacks include non-termination of the verification methodology and significant restrictions on the structures of programs to be checked for equivalence. We have developed a path based equivalence checker which propagates mismatched values over consecutive paths to alleviate these drawbacks. In this work, we show how a bisimulation relation between a program and its translated version can be constructed from the outputs of such a value propagation based equivalence checker. Moreover, none of the earlier methods that establish equivalence through construction of bisimulation relations has been shown to tackle code motions across loops; the present work demonstrates, for the first time, the existence of a bisimulation relation under such a situation.
Kunal Banerjee 0001, Dipankar Sarkar 0001, Chittaranjan A. Mandal
Formal Aspects Comput.1
2017 Deriving Bisimulation Relations from Path Extension Based Equivalence Checkers
abstract
Constructing bisimulation relations between programs as a means of translation validation has been an active field of study. The problem is in general undecidable. Currently available mechanisms suffer from drawbacks such as non-termination and significant restrictions on the structures of programs to be checked. We have developed a path extension based equivalence checking method as an alternative translation validation technique to alleviate these drawbacks. In this work, path extension based equivalence checking of programs (flowcharts) is leveraged to establish a bisimulation relation between a program and its translated version by constructing the relation from the outputs of the equivalence checker.
Kunal Banerjee 0001, Dipankar Sarkar 0001, Chittaranjan A. Mandal
IEEE Trans. Software Eng.1
2016 Translation validation of loop and arithmetic transformations in the presence of recurrences
abstract
Compiler optimization of array-intensive programs involves extensive application of loop transformations and arithmetic transformations. Hence, translation validation of array-intensive programs requires manipulation of intervals of integers (representing domains of array indices) and relations over such intervals to account for loop transformations and simplification of arithmetic expressions to handle arithmetic transformations. A major obstacle for verification of such programs is posed by the presence of recurrences, whereby an element of an array gets defined in a statement S inside a loop in terms of some other element(s) of the same array which have been previously defined through the same statement S. Recurrences lead to cycles in the data-dependence graph of a program which make dependence analyses and simplifications (through closed-form representations) of the data transformations difficult. Another technique which works better for recurrences does not handle arithmetic transformations. In this work, array data-dependence graphs (ADDGs) are used to represent both the original and the optimized versions of the program and a validation scheme is proposed where the cycles due to recurrences in the ADDGs are suitably abstracted as acyclic subgraphs. Thus, this work provides a unified equivalence checking framework to handle loop and arithmetic transformations along with most of the recurrences -- this combination of features had not been achieved by a single verification technique earlier.
Kunal Banerjee 0001, Chittaranjan A. Mandal, Dipankar Sarkar 0001
LCTES1
2015 A translation validation framework for symbolic value propagation based equivalence checking of FSMDAs
abstract
A compiler is a computer program which translates a source code into a target code, often with an objective to reduce the execution time and/or save critical resources. However, an error in the design or in the implementation of a compiler may result in software bugs in the target code obtained from that compiler. Translation validation is a formal verification approach for compilers whereby, each individual translation is followed by a validation phase which verifies that the target code produced correctly implements the source code. In this paper, we present a tool for translation validation of optimizing transformations of programs; the original and the transformed programs are modeled as Finite State Machines with Datapath having Arrays (FSMDAs) and a symbolic value propagation (SVP) based equivalence checking strategy is applied over this model to determine the correctness of the applied transformations. The tool has been demonstrated to handle uniform and non-uniform code motions, including code motions across loops, along with transformations which result in modification of control structures of programs. Moreover, arithmetic transformations such as, associative, commutative, distributive transformations, expression simplification, constant folding, etc., are also supported.
Kunal Banerjee 0001, Chittaranjan A. Mandal, Dipankar Sarkar 0001
SCAM1
2014 Circuits and Synthesis Mechanism for Hardware Design to Counter Power Analysis Attacks
abstract
Execution of cryptographic algorithm in hardware or software usually leaves power/current traces that are dependent on the data being processed. Power analysis attacks (PAAs) have been found to be extremely effective on such systems to derive the cryptographic secrets from these traces. Therefore, countering PAAs is of great importance. In this work, a Binary Decision Diagram (BDD) based dual-rail logic circuit scheme has been developed to counter PAAs. This circuit scheme features novel pre-charge generation, voltage scaling with leakage power minimization and early propagation effect resistance mechanism. A simple synthesis algorithm for mapping given Boolean functions to such BDD based circuits is also presented. The synthesized circuits feature low power circuitry and extremely low peak power variation. Experimental results for elementary gates such as AND, OR, NOT, XOR, NAND, NOR and the Lucifer and the Present S-boxes highlight the advantages of circuits based on this scheme with respect to peak power variance, average power and average current when compared with two other techniques - DP-BDD and SDMLp. Resistance of our S-box implementations to strong differential power analysis and correlation power analysis attacks have also been experimentally demonstrated. All results have been obtained using 65nm technology.
Partha De, Kunal Banerjee 0001, Chittaranjan A. Mandal, Debdeep Mukhopadhyay
DSD2
2014 Verification of Code Motion Techniques Using Value Propagation
abstract
An equivalence checking method of finite state machines with datapath based on value propagation over model paths is presented here for validation of code motion transformations commonly applied during the scheduling phase of high-level synthesis. Unlike many other reported techniques, the method is able to handle code motions across loop bodies. It consists in propagating the variable values over a path to the subsequent paths on discovery of mismatch in the values for some live variable, until the values match or the final path segments are accounted for without finding a match. Checking loop invariance of the values being propagated beyond the loops has been identified to play an important role. Along with uniform and nonuniform code motions, the method is capable of handling control structure modifications as well. The complexity analysis depicts identical worst case performance as that of a related earlier method of path extension which fails to handle code motion across loops. The method has been implemented and satisfactorily tested on the outputs of a basic block-based scheduler, a path-based scheduler, and the high-level synthesis tool SPARK for some benchmark examples.
Kunal Banerjee 0001, Chandan Karfa, Dipankar Sarkar 0001, Chittaranjan A. Mandal
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.1
2014 Extending the FSMD Framework for Validating Code Motions of Array-Handling Programs
abstract
The finite state machine with datapath (FSMD) models provide a formalism to represent any sequential behavior. Literature has many examples where this model has been successfully applied for behavioral verification of programs. All these methods, however, cannot handle an important class of programs, namely those involving arrays. This limitation is now overcome with finite state machine with datapath having arrays (FSMDA) models which are an extension of FSMD models; the corresponding equivalence checking algorithm has also been enhanced so that code motions of array-intensive behaviors can be validated. The new mechanism has been successfully tested with several examples.
Kunal Banerjee 0001, Dipankar Sarkar 0001, Chittaranjan A. Mandal
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.1
2013 Designing DPA Resistant Circuits Using BDD Architecture and Bottom Pre-charge Logic
abstract
Differential power analysis (DPA) attacks are the most powerful side channel attacks against cryptographic systems. In this work, a reduced ordered binary decision diagram (ROBDD) based dual rail circuit for a basic DPA resistant cell has been designed. The specialty of this cell is that the overall input current of the cell is invariant to the input combinations of data bits applied to the cell. For the first time, bottom pre-charge logic is used in the design of such a cell. The ROBDD based design minimizes both area and early propagation effect. A number of logic functions including AND, OR, XOR, NOT, NAND, NOR and also an adder, all based on the basic cell, have then been designed in a hierarchical manner. Experimental results demonstrate DPA resistance of the circuits (for example an adder) developed using this cell, outperforming other competing design with respect to peak power variance.
Partha De, Kunal Banerjee 0001, Chittaranjan A. Mandal, Debdeep Mukhopadhyay
DSD2
2013 Verification of Loop and Arithmetic Transformations of Array-Intensive Behaviors
abstract
Loop transformation techniques along with arithmetic transformations are applied extensively on array and loop intensive behaviors in design of area/energy efficient systems in the domain of multimedia and signal processing applications. Ensuring correctness of such transformations is crucial for the reliability of the designed systems. In this paper, array data dependence graphs (ADDGs) are used to represent both the input and the transformed behaviors and the correctness of the transformations is ensured by proving equivalence of the two ADDGs. A slice-based equivalence checking method of ADDGs is proposed for this purpose. The method relies on the normalization of arithmetic expressions and some simplification rules to handle arithmetic transformations. Unlike many other reported techniques, our method is strong enough to handle several arithmetic transformations along with all kinds of loop transformations. Correctness and complexity of the method have been dealt with. Experimental results on several test cases demonstrate the effectiveness of the method.
Chandan Karfa, Kunal Banerjee 0001, Dipankar Sarkar 0001, Chittaranjan A. Mandal
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.2