Patents by Inventor Timothy Hume
Timothy Hume 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: 12118057Abstract: A computing device, including a hardware accelerator configured to receive a first matrix and receive a second matrix. The hardware accelerator may, for a plurality of partial matrix regions, in a first iteration, read a first submatrix of the first matrix and a second submatrix of the second matrix into a front-end processing area. The hardware accelerator may multiply the first submatrix by the second submatrix to compute a first intermediate partial matrix. In each of one or more subsequent iterations, the hardware accelerator may read an additional submatrix into the front end processing area. The hardware accelerator may compute an additional intermediate partial matrix as a product of the additional submatrix and a submatrix reused from an immediately prior iteration. The hardware accelerator may compute each partial matrix as a sum of two or more of the intermediate partial matrices and may output the plurality of partial matrices.Type: GrantFiled: January 14, 2021Date of Patent: October 15, 2024Assignee: Microsoft Technology Licensing, LLCInventors: Derek Edward Davout Gladding, Nitin Naresh Garegrat, Timothy Hume Heil, Balamurugan Kulanthivelu Veluchamy
-
Patent number: 11768714Abstract: Hardware semaphores are utilized to increase the speed with which preconditions are evaluated. On an individual basis, each hardware semaphore can implement a binary semaphore or a counting semaphore. Collections of hardware semaphores can be chained together to implement a chain semaphore that can support multiple conditionals. In addition, hardware semaphores can have the capability, not only of generating an interrupt, but, in addition, being able to generate commands, such as to other semaphores. The implementation of a chain semaphore spanning multiple hardware semaphores can be performed by a compiler at compile time or at run time. An integrated circuit chip can comprise multiple execution units, such as processing cores, and individual ones of the execution units can be associated with multiple hardware semaphores, such as in the form of hardware semaphore arrays. A dedicated network-on-chip enables hardware semaphore communication.Type: GrantFiled: June 22, 2021Date of Patent: September 26, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Xiaoling Xu, Timothy Hume Heil, Deepak Goel
-
Publication number: 20220405151Abstract: Hardware semaphores are utilized to increase the speed with which preconditions are evaluated. On an individual basis, each hardware semaphore can implement a binary semaphore or a counting semaphore. Collections of hardware semaphores can be chained together to implement a chain semaphore that can support multiple conditionals. In addition, hardware semaphores can have the capability, not only of generating an interrupt, but, in addition, being able to generate commands, such as to other semaphores. The implementation of a chain semaphore spanning multiple hardware semaphores can be performed by a compiler at compile time or at run time. An integrated circuit chip can comprise multiple execution units, such as processing cores, and individual ones of the execution units can be associated with multiple hardware semaphores, such as in the form of hardware semaphore arrays. A dedicated network-on-chip enables hardware semaphore communication.Type: ApplicationFiled: June 22, 2021Publication date: December 22, 2022Inventors: Xiaoling XU, Timothy Hume HEIL, Deepak GOEL
-
Publication number: 20220261456Abstract: A computing device, including a hardware accelerator configured to receive a first matrix and receive a second matrix. The hardware accelerator may, for a plurality of partial matrix regions, in a first iteration, read a first submatrix of the first matrix and a second submatrix of the second matrix into a front-end processing area. The hardware accelerator may multiply the first submatrix by the second submatrix to compute a first intermediate partial matrix. In each of one or more subsequent iterations, the hardware accelerator may read an additional submatrix into the front end processing area. The hardware accelerator may compute an additional intermediate partial matrix as a product of the additional submatrix and a submatrix reused from an immediately prior iteration. The hardware accelerator may compute each partial matrix as a sum of two or more of the intermediate partial matrices and may output the plurality of partial matrices.Type: ApplicationFiled: January 14, 2021Publication date: August 18, 2022Applicant: Microsoft Technology Licensing, LLCInventors: Derek Edward Davout GLADDING, Nitin Naresh GAREGRAT, Timothy Hume HEIL, Balamurugan KULANTHIVELU VELUCHAMY
-
Patent number: 11176448Abstract: An exemplary computing environment having a DNN module can maintain one or more bandwidth throttling mechanisms. Illustratively, a first throttling mechanism can specify the number of cycles to wait between transactions on a cooperating fabric component (e.g., data bus). Illustratively, a second throttling mechanism can be a transaction count limiter that operatively sets a threshold of a number of transactions to be processed during a given transaction sequence and limits the number of transactions such as multiple transactions in flight to not exceed the set threshold. In an illustrative operation, in executing these two exemplary calculated throttling parameters, the average bandwidth usage and the peak bandwidth usage can be limited. Operatively, with this fabric bandwidth control, the processing units of the DNN are optimized to process data across each transaction cycle resulting in enhanced processing and lower power consumption.Type: GrantFiled: April 8, 2020Date of Patent: November 16, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Chad Balling McBride, Timothy Hume Heil, Amol Ashok Ambardekar, George Petre, Kent D. Cedola, Larry Marvin Wall, Boris Bobrov
-
Patent number: 10862509Abstract: Techniques are described for encoding symbols using a new algorithm that provides a flexible Huffman tree approximation and that can be used for low latency encoding. For example, the new algorithm can perform encoding using one or more of the following phases: Shannon-based binning, code space optimization, tree completion, and code assignment.Type: GrantFiled: September 27, 2019Date of Patent: December 8, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Timothy Hume Heil, Bogdan Alexandru Burlacu
-
Publication number: 20200233820Abstract: An exemplary computing environment having a DNN module can maintain one or more bandwidth throttling mechanisms. Illustratively, a first throttling mechanism can specify the number of cycles to wait between transactions on a cooperating fabric component (e.g., data bus). Illustratively, a second throttling mechanism can be a transaction count limiter that operatively sets a threshold of a number of transactions to be processed during a given transaction sequence and limits the number of transactions such as multiple transactions in flight to not exceed the set threshold. In an illustrative operation, in executing these two exemplary calculated throttling parameters, the average bandwidth usage and the peak bandwidth usage can be limited. Operatively, with this fabric bandwidth control, the processing units of the DNN are optimized to process data across each transaction cycle resulting in enhanced processing and lower power consumption.Type: ApplicationFiled: April 8, 2020Publication date: July 23, 2020Inventors: Chad Balling McBRIDE, Timothy Hume HEIL, Amol Ashok AMBARDEKAR, George PETRE, Kent D. CEDOLA, Larry Marvin WALL, Boris BOBROV
-
Patent number: 10628345Abstract: An exemplary computing environment having a DNN module can maintain one or more bandwidth throttling mechanisms. Illustratively, a first throttling mechanism can specify the number of cycles to wait between transactions on a cooperating fabric component (e.g., data bus). Illustratively, a second throttling mechanism can be a transaction count limiter that operatively sets a threshold of a number of transactions to be processed during a given transaction sequence and limits the number of transactions such as multiple transactions in flight to not exceed the set threshold. In an illustrative operation, in executing these two exemplary calculated throttling parameters, the average bandwidth usage and the peak bandwidth usage can be limited. Operatively, with this fabric bandwidth control, the processing units of the DNN are optimized to process data across each transaction cycle resulting in enhanced processing and lower power consumption.Type: GrantFiled: April 11, 2018Date of Patent: April 21, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Chad Balling McBride, Timothy Hume Heil, Amol Ashok Ambardekar, George Petre, Kent D. Cedola, Larry Marvin Wall, Boris Bobrov
-
Publication number: 20180299943Abstract: An exemplary computing environment having a DNN module can maintain one or more bandwidth throttling mechanisms. Illustratively, a first throttling mechanism can specify the number of cycles to wait between transactions on a cooperating fabric component (e.g., data bus). Illustratively, a second throttling mechanism can be a transaction count limiter that operatively sets a threshold of a number of transactions to be processed during a given transaction sequence and limits the number of transactions such as multiple transactions in flight to not exceed the set threshold. In an illustrative operation, in executing these two exemplary calculated throttling parameters, the average bandwidth usage and the peak bandwidth usage can be limited. Operatively, with this fabric bandwidth control, the processing units of the DNN are optimized to process data across each transaction cycle resulting in enhanced processing and lower power consumption.Type: ApplicationFiled: April 11, 2018Publication date: October 18, 2018Inventors: Chad Balling McBRIDE, Timothy Hume HEIL, Amol Ashok AMBARDEKAR, George PETRE, Kent D. CEDOLA, Larry Marvin WALL, Boris BOBROV
-
Patent number: 9085068Abstract: A pitman arm removal tool and method of removing a pitman arm from a steering box shaft is provided. The pitman arm removal tool includes a puller arm for engaging a lower surface of the pitman arm. A lever arm is disposed a second surface of the pitman arm, in substantially spaced opposed relation with the puller arm. A linking arm connects a first end of the lever arm to a first end of the puller arm, the linking arm being pivotally connected to the lever arm and the puller arm. A bolt assembly connects a second end of the lever arm to a second end of the puller arm, the bolt assembly being adjustable to draw the puller arm closer to the lever arm, thereby urging the pitman arm to traverse the steering box shaft and out of engagement with the steering box shaft spline.Type: GrantFiled: April 26, 2012Date of Patent: July 21, 2015Assignee: Schley Products, Inc.Inventors: Chad Schley, Timothy Hume
-
Patent number: 8635180Abstract: A pattern matching accelerator (PMA) for assisting software threads to find the presence and location of strings in an input data stream that match a given pattern. The patterns are defined using regular expressions that are compiled into a data structure comprised of rules subsequently processed by the PMA. The patterns to be searched in the input stream are defined by the user as a set of regular expressions. The patterns to be searched are grouped in pattern context sets. The sets of regular expressions which define the pattern context sets are compiled to generate a rules structure used by the PMA hardware. The rules are compiled before search run time and stored in main memory, in rule cache memory within the PMA or a combination thereof. For each input character, the PMA executes the search and returns the search results.Type: GrantFiled: February 6, 2011Date of Patent: January 21, 2014Assignee: International Business Machines CorporationInventors: Giora Biran, Christoph Hagleitner, Timothy Hume Heil, Jan Van Lunteren
-
Patent number: 8495334Abstract: A pattern matching accelerator (PMA) for assisting software threads to find the presence and location of strings in an input data stream that match a given pattern. The patterns are defined using regular expressions that are compiled into a data structure comprised of rules subsequently processed by the PMA. The patterns to be searched in the input stream are defined by the user as a set of regular expressions. The patterns to be searched are grouped in pattern context sets. The sets of regular expressions which define the pattern context sets are compiled to generate a rules structure used by the PMA hardware. The rules are compiled before search run time and stored in main memory, in rule cache memory within the PMA or a combination thereof. For each input character, the PMA executes the search and returns the search results.Type: GrantFiled: February 6, 2011Date of Patent: July 23, 2013Assignee: International Business Machines CorporationInventors: Giora Biran, Christoph Hagleitner, Timothy Hume Heil, Jan Van Lunteren
-
Publication number: 20120272499Abstract: A pitman arm removal tool and method of removing a pitman arm from a steering box shaft is provided. The pitman arm removal tool includes a puller arm for engaging a lower surface of the pitman arm. A lever arm is disposed a second surface of the pitman arm, in substantially spaced opposed relation with the puller arm. A linking arm connects a first end of the lever arm to a first end of the puller arm, the linking arm being pivotally connected to the lever arm and the puller arm. A bolt assembly connects a second end of the lever arm to a second end of the puller arm, the bolt assembly being adjustable to draw the puller arm closer to the lever arm, thereby urging the pitman arm to traverse the steering box shaft and out of engagement with the steering box shaft spline.Type: ApplicationFiled: April 26, 2012Publication date: November 1, 2012Inventors: Chad Schley, Timothy Hume
-
Patent number: 8255887Abstract: A memory management mechanism requires data structures to be explicitly deallocated in the programming code, but deallocation does not immediately make the memory available for reuse. Before a deallocated memory region can be reused, memory is scanned for pointers to the deallocated region, and any such pointer is set to null. The deallocated memory is then available for reuse. Preferably, deallocated memory regions are accumulated, and an asynchronous memory cleaning process periodically scans memory to nullify the pointers. In order to prevent previously scanned memory becoming contaminated with a dangling pointer before the scan is finished, any write to a pointer is checked to verify that the applicable target address has not been deallocated.Type: GrantFiled: November 29, 2006Date of Patent: August 28, 2012Assignee: International Business Machines CorporationInventor: Timothy Hume Heil
-
Publication number: 20120203729Abstract: A pattern matching accelerator (PMA) for assisting software threads to find the presence and location of strings in an input data stream that match a given pattern. The patterns are defined using regular expressions that are compiled into a data structure comprised of rules subsequently processed by the PMA. The patterns to be searched in the input stream are defined by the user as a set of regular expressions. The patterns to be searched are grouped in pattern context sets. The sets of regular expressions which define the pattern context sets are compiled to generate a rules structure used by the PMA hardware. The rules are compiled before search run time and stored in main memory, in rule cache memory within the PMA or a combination thereof. For each input character, the PMA executes the search and returns the search results.Type: ApplicationFiled: February 6, 2011Publication date: August 9, 2012Applicant: International Business Machines CorporationInventors: Giora Biran, Christoph Hagleitner, Timothy Hume Heil, Jan Van Lunteren
-
Publication number: 20120204000Abstract: A pattern matching accelerator (PMA) for assisting software threads to find the presence and location of strings in an input data stream that match a given pattern. The patterns are defined using regular expressions that are compiled into a data structure comprised of rules subsequently processed by the PMA. The patterns to be searched in the input stream are defined by the user as a set of regular expressions. The patterns to be searched are grouped in pattern context sets. The sets of regular expressions which define the pattern context sets are compiled to generate a rules structure used by the PMA hardware. The rules are compiled before search run time and stored in main memory, in rule cache memory within the PMA or a combination thereof. For each input character, the PMA executes the search and returns the search results.Type: ApplicationFiled: February 6, 2011Publication date: August 9, 2012Applicant: International Business Machines CorporationInventors: Giora Biran, Christoph Hagleitner, Timothy Hume Heil, Jan Van Lunteren
-
Publication number: 20120124291Abstract: A selective cache includes a set configured to receive data evicted from a number of primary sets of a primary cache. The selective cache also includes a counter associated with the set. The counter is configured to indicate a frequency of access to data within the set. A decision whether to replace data in the set with data from one of the primary sets is based on a value of the counter.Type: ApplicationFiled: November 16, 2010Publication date: May 17, 2012Applicant: International Business Machines CorporationInventors: Heather D. Achilles, Timothy Hume Heil, Anil Krishna, Nicholas David Lindberg, Steven Paul VanderWiel, Shaul Yifrach
-
Patent number: 8140833Abstract: A method, apparatus and computer program product are provided for implementing polymorphic branch history table (BHT) reconfiguration. A BHT includes a plurality of predetermined configurations corresponding predetermined operational modes. A first BHT configuration is provided. Checking is provided to identify improved performance with another BHT configuration. The BHT is reconfigured to provide improved performance based upon the current workload.Type: GrantFiled: October 7, 2005Date of Patent: March 20, 2012Assignee: International Business Machines CorporationInventors: Jeffrey Powers Bradford, Richard James Eickemeyer, Timothy Hume Heil, Harold F. Kossman, Timothy John Mullins
-
Patent number: 8078852Abstract: An adaptive prediction threshold scheme for dynamically adjusting prediction thresholds of entries in a Pattern History Table (PHT) by observing global tendencies of the branch or branches that index into the PHT entries. A count value of a prediction state counter representing a prediction state of a prediction state machine for a PHT entry is obtained. Count values in a set of counters allocated to the entry in the PHT are changed based on the count value of the entry's prediction state counter. The prediction threshold of the prediction state machine for the entry may then be adjusted based on the changed count values in the set of counters, wherein the prediction threshold is adjusted by changing a count value in a prediction threshold counter in the entry, and wherein adjusting the prediction threshold redefines predictions provided by the prediction state machine.Type: GrantFiled: May 28, 2009Date of Patent: December 13, 2011Assignee: International Business Machines CorporationInventors: Muawya Mohamed Al-Otoom, Timothy Hume Heil, Anil Krishna, Ken Van Vu
-
Patent number: 8028118Abstract: Embodiments of the invention provide methods and apparatus for increasing the number of page attributes specified by a page table while minimizing an increase in size of the page table. According to embodiments of the invention, attribute index bits may be included within a page table and may be used to determine page attributes stored within an attribute index. Additionally, embodiments of the invention provide a plurality of new page attributes.Type: GrantFiled: December 5, 2007Date of Patent: September 27, 2011Assignee: Internation Business Machines CorporationInventors: Timothy Hume Heil, James Allen Rose, Andrew Henry Wottreng