Patents by Inventor Pratap Pattnaik
Pratap Pattnaik has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10984073Abstract: A processor can scan a portion of a vector to identify first nonzero entries. The processor can scan another portion of the vector to identify second nonzero entries. The processor can scale a portion of a matrix using the first nonzero entries to generate first intermediate elements. The processor can scale another portion of the matrix using the second nonzero entries to generate second intermediate elements. The processor can store the first intermediate elements in a first buffer and store the second intermediate elements in a second buffer. The processor can copy a subset of the first intermediate elements from the first buffer to a memory and copy a subset of the second intermediate elements from the second buffer to the memory. The subsets of first and second intermediate elements can be aggregated to generate an output vector.Type: GrantFiled: August 8, 2019Date of Patent: April 20, 2021Assignee: International Business Machines CorporationInventors: Mauricio J. Serrano, Manoj Kumar, Pratap Pattnaik
-
Publication number: 20190361955Abstract: A processor can scan a portion of a vector to identify first nonzero entries. The processor can scan another portion of the vector to identify second nonzero entries. The processor can scale a portion of a matrix using the first nonzero entries to generate first intermediate elements. The processor can scale another portion of the matrix using the second nonzero entries to generate second intermediate elements. The processor can store the first intermediate elements in a first buffer and store the second intermediate elements in a second buffer. The processor can copy a subset of the first intermediate elements from the first buffer to a memory and copy a subset of the second intermediate elements from the second buffer to the memory. The subsets of first and second intermediate elements can be aggregated to generate an output vector.Type: ApplicationFiled: August 8, 2019Publication date: November 28, 2019Inventors: Mauricio J. Serrano, Manoj Kumar, Pratap Pattnaik
-
Patent number: 10417304Abstract: Methods and systems for multiplying a matrix and a vector are described. In an example, the vector may be partitioned into a plurality of vector partitions. The matrix may be partitioned into a plurality of matrix partitions. A plurality of threads may be scheduled to multiply each matrix partition with corresponding vector partition to determine intermediate elements. Intermediate elements determined by each thread may be stored in a local buffer assigned to the corresponding thread. Intermediate elements may be copied from a particular buffer to a memory in response to the particular buffer being full. Upon completion of the plurality of threads, the intermediate elements copied to the memory may be aggregated to generate an output vector that may be a result of multiplication between the matrix and the vector.Type: GrantFiled: December 15, 2017Date of Patent: September 17, 2019Assignee: International Business Machines CorporationInventors: Mauricio J. Serrano, Manoj Kumar, Pratap Pattnaik
-
Publication number: 20190188239Abstract: Methods and systems for multiplying a matrix and a vector are described. In an example, the vector may be partitioned into a plurality of vector partitions. The matrix may be partitioned into a plurality of matrix partitions. A plurality of threads may be scheduled to multiply each matrix partition with corresponding vector partition to determine intermediate elements. Intermediate elements determined by each thread may be stored in a local buffer assigned to the corresponding thread. Intermediate elements may be copied from a particular buffer to a memory in response to the particular buffer being full. Upon completion of the plurality of threads, the intermediate elements copied to the memory may be aggregated to generate an output vector that may be a result of multiplication between the matrix and the vector.Type: ApplicationFiled: December 15, 2017Publication date: June 20, 2019Inventors: Mauricio J. Serrano, Manoj Kumar, Pratap Pattnaik
-
Patent number: 8935579Abstract: A method and structure for OS event notification, including a central processing unit (CPU) and a memory including instructions for an event notification mechanism for monitoring operating system events in an operating system (OS) being executed by the CPU. The OS includes a kernel having a plurality of kernel subcomponents that provide services to one or more applications executing in the OS in a user mode, using system calls to the kernel. The OS event notification mechanism is capable of monitoring events within the kernel, at a level below the user mode level. The OS event notification mechanism includes Application Program Interfaces (APIs) that are standard for the OS.Type: GrantFiled: April 11, 2012Date of Patent: January 13, 2015Assignee: International Business Machines CorporationInventors: Joefon Jann, Pratap Pattnaik, Ramanjaneya Sarma Burugula, Niteesh Dubey
-
Patent number: 8627016Abstract: A method, system and computer program product are disclosed for maintaining data coherence, for use in a multi-node processing system where each of the nodes includes one or more components. In one embodiment, the method comprises establishing a data domain, assigning a group of the components to the data domain, sending a coherence message from a first component of the processing system to a second component of the processing system, and determining if that second component is assigned to the data domain. In this embodiment, if that second component is assigned to the data domain, the coherence message is transferred to all of the components assigned to the data domain to maintain data coherency among those components. In an embodiment, if that second component is assigned to the data domain, the first component is assigned to the data domain.Type: GrantFiled: July 8, 2013Date of Patent: January 7, 2014Assignee: International Business Machines CorporationInventors: Kattamuri Ekanadham, Il Park, Pratap Pattnaik
-
Publication number: 20130297914Abstract: A method, system and computer program product are disclosed for maintaining data coherence, for use in a multi-node processing system where each of the nodes includes one or more components. In one embodiment, the method comprises establishing a data domain, assigning a group of the components to the data domain, sending a coherence message from a first component of the processing system to a second component of the processing system, and determining if that second component is assigned to the data domain. In this embodiment, if that second component is assigned to the data domain, the coherence message is transferred to all of the components assigned to the data domain to maintain data coherency among those components. In an embodiment, if that second component is assigned to the data domain, the first component is assigned to the data domain.Type: ApplicationFiled: July 8, 2013Publication date: November 7, 2013Inventors: Kattamuri Ekanadham, Il Park, Pratap Pattnaik
-
Patent number: 8484422Abstract: A method, system and computer program product are disclosed for maintaining data coherence, for use in a multi-node processing system where each of the nodes includes one or more components. In one embodiment, the method comprises establishing a data domain, assigning a group of the components to the data domain, sending a coherence message from a first component of the processing system to a second component of the processing system, and determining if that second component is assigned to the data domain. In this embodiment, if that second component is assigned to the data domain, the coherence message is transferred to all of the components assigned to the data domain to maintain data coherency among those components. In an embodiment, if that second component is assigned to the data domain, the first component is assigned to the data domain.Type: GrantFiled: December 8, 2009Date of Patent: July 9, 2013Assignee: International Business Machines CorporationInventors: Kattamuri Ekanadham, Il Park, Pratap Pattnaik
-
Publication number: 20120198479Abstract: A method and structure for OS event notification, including a central processing unit (CPU) and a memory including instructions for an event notification mechanism for monitoring operating system events in an operating system (OS) being executed by the CPU. The OS includes a kernel having a plurality of kernel subcomponents that provide services to one or more applications executing in the OS in a user mode, using system calls to the kernel. The OS event notification mechanism is capable of monitoring events within the kernel, at a level below the user mode level. The OS event notification mechanism includes Application Program Interfaces (APIs) that are standard for the OS.Type: ApplicationFiled: April 11, 2012Publication date: August 2, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Joefon Jann, Pratap Pattnaik, Ramanjaneya Sarma Burugula, Niteesh Dubey
-
Patent number: 8201029Abstract: A method and structure for notifying operating system events, includes standard filesystem interfaces provided for event consumers to use for one or more of registering for event notifications of a set of events, receiving an event notification when each event occurs, and getting details of events that have occurred.Type: GrantFiled: January 31, 2008Date of Patent: June 12, 2012Assignee: International Business Machines CorporationInventors: Joefon Jann, Pratap Pattnaik, Ramanjaneya Sarma Burugula, Niteesh Dubey
-
Publication number: 20110138101Abstract: A method, system and computer program product are disclosed for maintaining data coherence, for use in a multi-node processing system where each of the nodes includes one or more components. In one embodiment, the method comprises establishing a data domain, assigning a group of the components to the data domain, sending a coherence message from a first component of the processing system to a second component of the processing system, and determining if that second component is assigned to the data domain. In this embodiment, if that second component is assigned to the data domain, the coherence message is transferred to all of the components assigned to the data domain to maintain data coherency among those components. In an embodiment, if that second component is assigned to the data domain, the first component is assigned to the data domain.Type: ApplicationFiled: December 8, 2009Publication date: June 9, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Kattamuri Ekanadham, Il Park, Pratap Pattnaik
-
Publication number: 20090199051Abstract: A method and structure for notifying operating system events, includes standard filesystem interfaces provided for event consumers to use for one or more of registering for event notifications of a set of events, receiving an event notification when each event occurs, and getting details of events that have occurred.Type: ApplicationFiled: January 31, 2008Publication date: August 6, 2009Inventors: Joefon Jann, Pratap Pattnaik, Ramanjaneya Sarma Burugula, Niteesh Dubey
-
Patent number: 7308681Abstract: A method and apparatus for creating a compressed trace for a program, wherein events are compressed separately to provide improved compression and tracing. A sequence of events for a program is selected, and a sequence of values is then determined for each of the selected events occurring during an execution of the program. Each sequence of values is then compressed to generate a compressed sequence of values for each event. These values are then ordered in accordance with information stored in selected events (such as for example, branch events), where the ordered values correspond to the trace.Type: GrantFiled: October 28, 2003Date of Patent: December 11, 2007Assignee: International Business Machines CorporationInventors: Kattamuri Ekanadham, Pratap Pattnaik, Simone Sbaraglia, Luiz A. DeRose
-
Publication number: 20060294334Abstract: A method of determining and using the optimal page size in the execution of an application wherein the number of virtual to real address caching mechanism misses per unit time is calculated for available page sizes and wherein the optimal page size is determined based on the determined number of mechanism misses. In a more specific aspect of this invention, mechanism misses per unit time are calculated for only those applications which are more likely to consume computer system resources. In yet another more specific aspect of this invention, the mechanism misses for a selected application are determined for each of a number of memory address regions.Type: ApplicationFiled: June 23, 2005Publication date: December 28, 2006Applicant: International Business Machines CorporationInventors: Joefon Jann, Ramanjaneya Burugula, Pratap Pattnaik
-
Publication number: 20060242393Abstract: An information processing system for branch target prediction is disclosed. The information processing system includes a memory for storing entries, wherein each entry includes a plurality of target addresses representing a history of target addresses for a multi-target branch and logic for reading the memory and identifying a repeated pattern in a plurality of target addresses for a multi-target branch. The information processing system further includes logic for predicting a next target address for the multi-target branch based on the repeated pattern that was identified.Type: ApplicationFiled: April 20, 2005Publication date: October 26, 2006Inventors: Il Park, Pratap Pattnaik, Jong-Deok Choi
-
Publication number: 20060036823Abstract: A method, system, and program key-controlled object-based memory protection are provided. A processing unit includes an authority check for controlling access by the processing unit to pages of memory according to whether a hardware protection key set currently loaded in an authority mask register allows access to the pages. In particular, each page of memory is assigned a page key number that indexes into the hardware protection key set. The currently loaded hardware protection key set specifies those page key numbers that are currently accessible to the processing unit for the execution context. Each hardware key within the hardware protection key set may be associated with a particular data object or group of data objects. Thus, effectively, the currently loaded hardware protection key set identifies which data objects or groups of data objects are currently accessible.Type: ApplicationFiled: August 12, 2004Publication date: February 16, 2006Applicant: International Business Machines CorporationInventors: Thomas Mathews, Bruce Mealey, Pratap Pattnaik, Ravi Shankar
-
Publication number: 20060004977Abstract: A method, information processing system, and computer readable medium for efficiently distributing a computer system's main memory among applications running in that operating system instance. More specifically, threshold values used by a page replacement algorithm of the virtual memory manager are automatically tuned in response to the load on the memory of a computer system. One such threshold value is the lower threshold of free memory which is changed as a function of the load on the memory. For example, such a load might be represented as the number of threads that were added to a waiting queue during a defined interval of time divided by the number of clock tics in that interval. This representation is known as the thread wait rate. This rate is then compared to a target rate to determine if the lower threshold value should be changed. When the free memory space falls below the lower threshold, a page replacement daemon is used to page out memory to make more memory space available.Type: ApplicationFiled: June 30, 2004Publication date: January 5, 2006Inventors: Joefon Jann, Pratap Pattnaik, Ramanjaneya Burugula
-
Publication number: 20050091643Abstract: A method and apparatus for creating a compressed trace for a program, wherein events are compressed separately to provide improved compression and tracing. A sequence of events for a program is selected, and a sequence of values is then determined for each of the selected events occurring during an execution of the program. Each sequence of values is then compressed to generate a compressed sequence of values for each event. These values are then ordered in accordance with information stored in selected events (such as for example, branch events), where the ordered values correspond to the trace.Type: ApplicationFiled: October 28, 2003Publication date: April 28, 2005Applicant: International Business Machines CorporationInventors: Kattamuri Ekanadham, Pratap Pattnaik, Simone Sbaraglia, Luiz DeRose
-
Patent number: 6636533Abstract: The present invention is a process in which broadcasters can supplement existing multimedia streams such as video and audio with additional multimedia streams in a coordinated and integrated way, allowing users, after reception of the broadcast stream, to select which substream to use, without requiring an upstream channel to communicate this user preference back to the server or any additional bandwidth to broadcast these additional streams.Type: GrantFiled: April 21, 2000Date of Patent: October 21, 2003Assignee: International Business Machines CorporationInventors: Yurij Baransky, Hubertus Franke, Pratap Pattnaik
-
Patent number: 6122660Abstract: The present invention is a process in which broadcasters can supplement existing multimedia streams such as video and audio with additional multimedia streams in a coordinated and integrated way, allowing users, after reception of the broadcast stream, to select which sub-stream to use, without requiring an upstream channel to communicate this user preference back to the server or any additional bandwidth to broadcast these additional streams.Type: GrantFiled: February 22, 1999Date of Patent: September 19, 2000Assignee: International Business Machines CorporationInventors: Yurij Baransky, Hubertus Franke, Pratap Pattnaik