Patents by Inventor Gautam Doshi
Gautam Doshi 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: 11256489Abstract: Systems, apparatuses and methods may provide for technology to identify in user code, a nested loop which would result in cache memory misses when executed. The technology further reverses an order of iterations of a first inner loop in the nested loop to obtain a modified nested loop. Reversing the order of iterations increases a number of times that cache memory hits occur when the modified nested loop is executed.Type: GrantFiled: September 22, 2017Date of Patent: February 22, 2022Assignee: Intel CorporationInventors: Gautam Doshi, Rakesh Krishnaiyer, Rama Kishan Malladi
-
Publication number: 20200371763Abstract: Systems, apparatuses and methods may provide for technology to identify in user code, a nested loop which would result in cache memory misses when executed. The technology further reverses an order of iterations of a first inner loop in the nested loop to obtain a modified nested loop. Reversing the order of iterations increases a number of times that cache memory hits occur when the modified nested loop is executed.Type: ApplicationFiled: September 22, 2017Publication date: November 26, 2020Inventors: Gautam Doshi, Rakesh Krishnaiyer, Rama Kishan Malladi
-
Patent number: 10169268Abstract: In one embodiment, the present invention includes a processor that has an on-die storage such as a static random access memory to store an architectural state of one or more threads that are swapped out of architectural state storage of the processor on entry to a system management mode (SMM). In this way communication of this state information to a system management memory can be avoided, reducing latency associated with entry into SMM. Embodiments may also enable the processor to update a status of executing agents that are either in a long instruction flow or in a system management interrupt (SMI) blocked state, in order to provide an indication to agents inside the SMM. Other embodiments are described and claimed.Type: GrantFiled: September 20, 2016Date of Patent: January 1, 2019Assignee: Intel CorporationInventors: Mahesh Natu, Thanunathan Rangarajan, Gautam Doshi, Shamanna M. Datta, Baskaran Ganesan, Mohan J. Kumar, Rajesh S. Parthasarathy, Frank Binns, Rajesh Nagaraja Murthy, Robert C. Swanson
-
Publication number: 20180143923Abstract: In one embodiment, the present invention includes a processor that has an on-die storage such as a static random access memory to store an architectural state of one or more threads that are swapped out of architectural state storage of the processor on entry to a system management mode (SMM). In this way communication of this state information to a system management memory can be avoided, reducing latency associated with entry into SMM. Embodiments may also enable the processor to update a status of executing agents that are either in a long instruction flow or in a system management interrupt (SMI) blocked state, in order to provide an indication to agents inside the SMM. Other embodiments are described and claimed.Type: ApplicationFiled: January 17, 2018Publication date: May 24, 2018Inventors: Mahesh Natu, Thanunathan Rangarajan, Gautam Doshi, Shamanna M. Datta, Baskaran Ganesan, Mohan J. Kumar, Rajesh S. Parthasarathy, Frank Binns, Rajesh Nagaraja Murthy, Robert C. Swanson
-
Publication number: 20170010991Abstract: In one embodiment, the present invention includes a processor that has an on-die storage such as a static random access memory to store an architectural state of one or more threads that are swapped out of architectural state storage of the processor on entry to a system management mode (SMM). In this way communication of this state information to a system management memory can be avoided, reducing latency associated with entry into SMM. Embodiments may also enable the processor to update a status of executing agents that are either in a long instruction flow or in a system management interrupt (SMI) blocked state, in order to provide an indication to agents inside the SMM. Other embodiments are described and claimed.Type: ApplicationFiled: September 20, 2016Publication date: January 12, 2017Inventors: Mahesh Natu, Thanunathan Rangarajan, Gautam Doshi, Shamanna M. Datta, Baskaran Ganesan, Mohan J. Kumar, Rajesh S. Parthasarathy, Frank Binns, Rajesh Nagaraja Murthy, Robert C. Swanson
-
Patent number: 9465647Abstract: In one embodiment, the present invention includes a processor that has an on-die storage such as a static random access memory to store an architectural state of one or more threads that are swapped out of architectural state storage of the processor on entry to a system management mode (SMM). In this way communication of this state information to a system management memory can be avoided, reducing latency associated with entry into SMM. Embodiments may also enable the processor to update a status of executing agents that are either in a long instruction flow or in a system management interrupt (SMI) blocked state, in order to provide an indication to agents inside the SMM. Other embodiments are described and claimed.Type: GrantFiled: October 8, 2013Date of Patent: October 11, 2016Assignee: Intel CorporationInventors: Mahesh Natu, Thanunathan Rangarajan, Gautam Doshi, Shamanna M. Datta, Baskaran Ganesan, Mohan J. Kumar, Rajesh S. Parthasarathy, Frank Binns, Rajesh Nagaraja Murthy, Robert C. Swanson
-
Publication number: 20140040543Abstract: In one embodiment, the present invention includes a processor that has an on-die storage such as a static random access memory to store an architectural state of one or more threads that are swapped out of architectural state storage of the processor on entry to a system management mode (SMM). In this way communication of this state information to a system management memory can be avoided, reducing latency associated with entry into SMM. Embodiments may also enable the processor to update a status of executing agents that are either in a long instruction flow or in a system management interrupt (SMI) blocked state, in order to provide an indication to agents inside the SMM. Other embodiments are described and claimed.Type: ApplicationFiled: October 8, 2013Publication date: February 6, 2014Inventors: Mahesh Natu, Thanunathan Rangarajan, Gautam Doshi, Shamanna M. Datta, Baskaran Ganesan, Mohan J. Kumar, Rajesh S. Parthasarathy, Frank Binns, Rajesh Nagaraja Murthy, Robert C. Swanson
-
Publication number: 20070220332Abstract: Configurable error handling apparatus and methods to operate the same are disclosed. An example apparatus comprises a processor core in a semiconductor package, a hardware functional block in the semiconductor package, an error handler in the semiconductor package, wherein the error handler is configurable to route error data from the hardware functional block to at least one of a first error log or a second error log and to route error signals from the hardware functional block to at least one of an operating system or firmware, and wherein the processor core configures the error handler and the hardware functional block.Type: ApplicationFiled: February 13, 2006Publication date: September 20, 2007Inventors: Suresh Marisetty, Baskaran Ganesan, Gautam Doshi, Murugasamy Nachimuthu, Koichi Yamada, Jose Vargas, Jim Crossland, Stan Domen
-
Patent number: 7263692Abstract: A method that uses software-pipelining to translate programs, from higher level languages into equivalent object or machine language code for execution on a computer, including sparse arrays/matrices. In one example embodiment, this is accomplished by transforming sparse array matrix source code and software-pipelining the transformed source code to reduce recurrence initiation interval, decrease run time, and enhance performance.Type: GrantFiled: June 30, 2003Date of Patent: August 28, 2007Assignee: Intel CorporationInventors: Kalyan Muthukumar, Gautam Doshi, Dattatraya Kulkarni
-
Publication number: 20070106914Abstract: While translating a program for execution by a first electronic device, instructions are generated based on the program, and a portion of the instructions are analyzed to determine whether a functional unit of the first device will be used by the portion. A special instruction is added to these instructions, that indicates a power down operation to reduce power consumption by the functional unit. The special instruction is compatible with a second electronic device that is not capable of the power down operation. Other embodiments are also described and claimed.Type: ApplicationFiled: November 7, 2005Publication date: May 10, 2007Inventors: Kalyan Muthukumar, Srinivasa STG, Gautam Doshi
-
Publication number: 20040268334Abstract: A method that uses software-pipelining to translate programs, from higher level languages into equivalent object or machine language code for execution on a computer, including sparse arrays/matrices. In one example embodiment, this is accomplished by transforming sparse array matrix source code and software-pipelining the transformed source code to reduce recurrence initiation interval, decrease run time, and enhance performance.Type: ApplicationFiled: June 30, 2003Publication date: December 30, 2004Inventors: Kalyan Muthukumar, Gautam Doshi, Dattatraya Kulkarni
-
Patent number: 6542966Abstract: A method is provided for managing temporal and non-temporal data in the same cache structure. The temporal or non-temporal character of data targeted by a cache access is determined, and a cache entry for the data is identified. When the targeted data is temporal, a replacement priority indicator associated with the identified cache entry is updated to reflect the access. When the targeted data is non temporal, the replacement priority indicator associated with the identified cache entry is preserved. The method may also be implemented by employing a first algorithm to update the replacement priority indicator for temporal data and a second, different algorithm to update the replacement priority indicator for non-temporal data.Type: GrantFiled: July 16, 1998Date of Patent: April 1, 2003Assignee: Intel CorporationInventors: John Crawford, Gautam Doshi, Stuart E. Sailer, John Wai Cheong Fu, Gregory S. Mathews
-
Publication number: 20020161812Abstract: A computer program product and method for multiplying a sparse matrix by a vector are disclosed. The computer program product includes a computer readable medium for storing instructions, which, when executed by a computer, cause the computer to efficiently multiply a sparse matrix by a vector, and produce a resulting vector. The computer is made to create a first array containing the non-zero elements of the sparse matrix, and a second array containing the end_of_row position of the last non-zero element in each row of the sparse matrix. A variable is initialized, and then, for each row of the second array, the computer is made to do one of two things. Either, it equates the variable to the sum of the variable and the product of a particular element of the first array and a particular element of the vector. Or, it equates a particular element of the resulting vector to the variable, and then equates the variable to a particular value.Type: ApplicationFiled: November 7, 2001Publication date: October 31, 2002Inventors: Gautam Doshi, Roger Golliver, Bob Norin
-
Patent number: 6378067Abstract: A method and apparatus to handle exceptions. The method receives and prioritizes exceptions resulting from executing an instruction on different elements of an operand. The exceptions are reported to an interrupt service register which communicates the exceptions to an exception handler to effectively process the exceptions.Type: GrantFiled: October 12, 1998Date of Patent: April 23, 2002Assignee: Idea CorporationInventors: Roger Golliver, Gautam Doshi, Sivakumar Makineni
-
Patent number: 6243734Abstract: A computer program product and method for multiplying a sparse matrix by a vector are disclosed. The computer program product includes a computer readable medium for storing instructions, which, when executed by a computer, cause the computer to efficiently multiply a sparse matrix by a vector, and produce a resulting vector. The computer is made to create a first array containing the non-zero elements of the sparse matrix, and a second array containing the end_of_row position of the last non-zero element in each row of the sparse matrix. A variable is initialized, and then, for each row of the second array, the computer is made to do one of two things. Either, it equates the variable to the sum of the variable and the product of a particular element of the first array and a particular element of the vector. Or, it equates a particular element of the resulting vector to the variable, and then equates the variable to a particular value.Type: GrantFiled: October 30, 1998Date of Patent: June 5, 2001Assignee: Intel CorporationInventors: Gautam Doshi, Roger Golliver, Bob Norin
-
Patent number: 6192515Abstract: A method for software pipelining nested loops combines the inner and outer loops of the nested loop to form a merged loop. One or more operations from the outer loop are activated on selected passes through the merged loop, and the merged loop is software pipelined.Type: GrantFiled: July 17, 1998Date of Patent: February 20, 2001Assignee: Intel CorporationInventors: Gautam Doshi, Robert Norin