Patents by Inventor Ian Rudolf Bratt
Ian Rudolf Bratt 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: 11948069Abstract: A processor arranged to compress neural network activation data comprising an input module for obtaining neural network activation data. The processor also comprises a block creation module arranged to split the neural network activation data into a plurality of blocks; and a metadata generation module for generating metadata associated with at least one of the plurality of blocks. Based on the metadata generated a selection module selects a compression scheme for each of the plurality of blocks, and a compression module for applying the selected compression scheme to the corresponding block to produce compressed neural network activation data. An output module is also provided for outputting the compressed neural network activation data.Type: GrantFiled: July 22, 2019Date of Patent: April 2, 2024Assignee: Arm LimitedInventors: Lingchuan Meng, John Wakefield Brothers, III, Jens Olson, Jared Corey Smolens, Eric Kunze, Ian Rudolf Bratt
-
Patent number: 11449729Abstract: The present disclosure advantageously provides a system and a method for convolving data in a quantized convolutional neural network (CNN). The method includes selecting a set of complex interpolation points, generating a set of complex transform matrices based, at least in part, on the set of complex interpolation points, receiving an input volume from a preceding layer of the quantized CNN, performing a complex Winograd convolution on the input volume and at least one filter, using the set of complex transform matrices, to generate an output volume, and sending the output volume to a subsequent layer of the quantized CNN.Type: GrantFiled: November 7, 2019Date of Patent: September 20, 2022Assignee: Arm LimitedInventors: Lingchuan Meng, Danny Daysang Loh, Ian Rudolf Bratt, Alexander Eugene Chalfin, Tianmu Li
-
Patent number: 11249908Abstract: An apparatus and method are disclosed for managing cache coherency. The apparatus has a plurality of agents with cache storage for caching data, and coherency control circuitry for acting as a point of coherency for the data by implementing a cache coherency protocol. In accordance with the cache coherency protocol the coherency control circuitry responds to certain coherency events by issuing coherency messages to one or more of the agents. A given agent is arranged, prior to entering a given state in which its cache storage is unused, to perform a flush operation in respect of its cache storage that may cause one or more evict messages to be issued to the coherency control circuitry. Further, once all evict messages resulting from performance of the flush operation has been issued, the given agent issues an evict barrier message to the coherency control circuitry.Type: GrantFiled: September 17, 2020Date of Patent: February 15, 2022Assignee: Arm LimitedInventors: Ole Henrik Jahren, Ian Rudolf Bratt, Sigurd Røed Scheistrøen
-
Patent number: 11188814Abstract: A circuit and method are provided for performing convolutional neural network computations for a neural network. The circuit includes a transposing buffer configured to receive actuation feature vectors along a first dimension and to output feature component vectors along a second dimension, a weight buffer configured to store kernel weight vectors along a first dimension and further configured to output kernel component vectors along a second dimension, and a systolic array configured to receive the kernel weight vectors along a first dimension and to receive the feature component vectors along a second dimension. The systolic array includes an array of multiply and accumulate (MAC) processing cells. Each processing cell is associated with an output value. The actuation feature vectors may be shifted into the transposing buffer along the first dimension and output feature component vectors may shifted out of the transposing buffer along the second dimension, providing efficient dataflow.Type: GrantFiled: April 5, 2018Date of Patent: November 30, 2021Assignee: Arm LimitedInventors: Paul Nicholas Whatmough, Ian Rudolf Bratt, Matthew Mattina
-
Patent number: 11170555Abstract: When processing graphics primitives in a graphics processing system, the render output is divided into a plurality of regions (40) for rendering, each region (40) comprising a respective area of the render output; and for sets of one or more primitives to be rendered, it is determined for which of the plurality of regions of the render output (40) the primitive(s) should be rendered; and for each region of the render output (40) it is determined the primitive(s) should be rendered for, geometry data for the primitive(s) is stored in memory in a respective data structure (42) along with an indication of state data that is to be used for rendering the primitive(s) for the region, such that the geometry data for the primitive(s) to be rendered is stored in a respective, different data structure (42) for each different region of the render output (40) it is determined the primitive(s) should be rendered for.Type: GrantFiled: November 27, 2019Date of Patent: November 9, 2021Assignee: Arm LimitedInventors: Ian Rudolf Bratt, Andreas Due Engh-Halstvedt, Alexander Eugene Chalfin, Andreas Loeve Selvik, Olof Henrik Uhrenholt, Thomas J. Olson
-
Patent number: 11127187Abstract: When processing graphics primitives in a graphics processing system, the render output is divided into a plurality of regions (40) for rendering, each region (40) comprising a respective area of the render output; and for sets of one or more primitives to be rendered, it is determined for which of the plurality of regions of the render output (40) the primitive(s) should be rendered; and for each region of the render output (40) it is determined the primitive(s) should be rendered for, geometry data for the primitive(s) is stored in memory in a respective data structure (42) along with an indication of state data that is to be used for rendering the primitive(s) for the region, such that the geometry data for the primitive(s) to be rendered is stored in a respective, different data structure (42) for each different region of the render output (40) it is determined the primitive(s) should be rendered for.Type: GrantFiled: November 27, 2019Date of Patent: September 21, 2021Assignee: Arm LimitedInventors: Ian Rudolf Bratt, Andreas Due Engh-Halstvedt, Alexander Eugene Chalfin, Andreas Loeve Selvik, Olof Henrik Uhrenholt, Thomas J. Olson
-
Patent number: 11127110Abstract: A display controller 93 in a data processing system includes a timewarp module (transformation circuitry) 100 that is operable to perform timewarp processing of a rendered frame 92 generated by a graphics processor (GPU) 91 for provision to a display panel 94. The timewarp module (transformation circuitry) 100 operates to transform an input surface 92 read by the display controller 93 based on received view orientation data to provide an appropriately “timewarped” transformed version of the input surface as an output transformed surface for display on the display 94.Type: GrantFiled: March 1, 2017Date of Patent: September 21, 2021Assignees: Arm Limited, Apical LimitedInventors: Ian Rudolf Bratt, Alexander Eugene Chalfin, Eric Kunze, Paul Stanley Hughes, Alex Kornienko, Damian Piotr Modrzyk, Metin Gokhan Ünal, Jonathan Adam Lawton
-
Publication number: 20210158598Abstract: When processing graphics primitives in a graphics processing system, the render output is divided into a plurality of regions (40) for rendering, each region (40) comprising a respective area of the render output; and for sets of one or more primitives to be rendered, it is determined for which of the plurality of regions of the render output (40) the primitive(s) should be rendered; and for each region of the render output (40) it is determined the primitive(s) should be rendered for, geometry data for the primitive(s) is stored in memory in a respective data structure (42) along with an indication of state data that is to be used for rendering the primitive(s) for the region, such that the geometry data for the primitive(s) to be rendered is stored in a respective, different data structure (42) for each different region of the render output (40) it is determined the primitive(s) should be rendered for.Type: ApplicationFiled: November 27, 2019Publication date: May 27, 2021Applicant: Arm LimitedInventors: Ian Rudolf Bratt, Andreas Due Engh-Halstvedt, Alexander Eugene Chalfin, Andreas Loeve Selvik, Olof Henrik Uhrenholt, Thomas J. Olson
-
Patent number: 10956045Abstract: An apparatus and method are provided for issuing access requests to a memory controller for a memory device whose memory structure consists of a plurality of sub-structures. The apparatus has a request interface for issuing access requests to the memory controller, each access request identifying a memory address. Within the apparatus static abstraction data is stored providing an indication of one or more of the sub-structures of the memory device, and the apparatus also stores an indication of outstanding access requests issued from the request interface. Next access request selection circuitry is then arranged to select from a plurality of candidate access requests a next access request to issue from the request interface. That selection is dependent on sub-structure indication data that is derived from application of an abstraction data function, using the static abstraction data, to the memory addresses of the candidate access requests and the outstanding access requests.Type: GrantFiled: December 15, 2015Date of Patent: March 23, 2021Assignee: ARM LimitedInventors: Andreas Hansson, Ian Rudolf Bratt
-
Publication number: 20210027148Abstract: A processor arranged to compress neural network activation data comprising an input module for obtaining neural network activation data. The processor also comprises a block creation module arranged to split the neural network activation data into a plurality of blocks; and a metadata generation module for generating metadata associated with at least one of the plurality of blocks. Based on the metadata generated a selection module selects a compression scheme for each of the plurality of blocks, and a compression module for applying the selected compression scheme to the corresponding block to produce compressed neural network activation data. An output module is also provided for outputting the compressed neural network activation data.Type: ApplicationFiled: July 22, 2019Publication date: January 28, 2021Inventors: Lingchuan MENG, John Wakefield BROTHERS, III, Jens OLSON, Jared Corey SMOLENS, Eric KUNZE, Ian Rudolf BRATT
-
Patent number: 10664399Abstract: A filter comprises interface circuitry, to intercept coherency protocol transactions exchanged between a master device comprising a first cache and an interconnect for managing coherency between the first cache and at least one other cache or other master device. The filter has filtering circuitry for filtering the coherency protocol transactions in dependence on memory access permission data defining which regions of an address space the master device is allowed to access.Type: GrantFiled: November 29, 2017Date of Patent: May 26, 2020Assignee: ARM LimitedInventors: Håkan Lars-Göran Persson, Ian Rudolf Bratt, Andrew Brookfield Swaine, Bruce James Mathewson
-
Publication number: 20200151541Abstract: The present disclosure advantageously provides a system and a method for convolving data in a quantized convolutional neural network (CNN). The method includes selecting a set of complex interpolation points, generating a set of complex transform matrices based, at least in part, on the set of complex interpolation points, receiving an input volume from a preceding layer of the quantized CNN, performing a complex Winograd convolution on the input volume and at least one filter, using the set of complex transform matrices, to generate an output volume, and sending the output volume to a subsequent layer of the quantized CNN.Type: ApplicationFiled: November 7, 2019Publication date: May 14, 2020Inventors: Lingchuan Meng, Danny Daysang Loh, Ian Rudolf Bratt, Alexander Eugene Chalfin, Tianmu Li
-
Publication number: 20190311243Abstract: A circuit and method are provided for performing convolutional neural network computations for a neural network. The circuit includes a transposing buffer configured to receive actuation feature vectors along a first dimension and to output feature component vectors along a second dimension, a weight buffer configured to store kernel weight vectors along a first dimension and further configured to output kernel component vectors along a second dimension, and a systolic array configured to receive the kernel weight vectors along a first dimension and to receive the feature component vectors along a second dimension. The systolic array includes an array of multiply and accumulate (MAC) processing cells. Each processing cell is associated with an output value. The actuation feature vectors may be shifted into the transposing buffer along the first dimension and output feature component vectors may shifted out of the transposing buffer along the second dimension, providing efficient dataflow.Type: ApplicationFiled: April 5, 2018Publication date: October 10, 2019Applicant: Arm LimitedInventors: Paul Nicholas Whatmough, Ian Rudolf Bratt, Matthew Mattina
-
Patent number: 10282338Abstract: A plurality of processor tiles are provided, each processor tile including a processor core. An interconnection network interconnects the processor cores and enables transfer of data among the processor cores. An extension network connects input/output ports of the interconnection network to input/output ports of one or more peripheral devices, each input/output port of the interconnection network being associated with one of the processor tiles such that each input/output port of the interconnection network sends input data to the corresponding processor tile and receives output data from the corresponding processor tile. The extension network is configurable such that a mapping between input/output ports of the interconnection network and input/output ports of the one or more peripheral devices is configurable.Type: GrantFiled: July 5, 2016Date of Patent: May 7, 2019Assignee: Mellanox Technologies, Ltd.Inventors: Liewei Bao, Ian Rudolf Bratt
-
Patent number: 10210092Abstract: Managing data in a computing system comprising one or more cores includes: providing a cache in each of one or more of the cores that includes multiple storage locations; storing data of a first type of multiple types of data in a selected storage location of a first cache of a first core that is selected according to status information associated with the first cache, and updating the status information; and storing data of a second type of the multiple types of data in a storage location within a subset of fewer than all of the storage locations of the first cache and managing the status information to ensure that subsequent data of the second type received by the first core for storage in the first cache is stored in the storage location within the subset.Type: GrantFiled: December 14, 2015Date of Patent: February 19, 2019Assignee: Mellanox Technologies, Ltd.Inventors: Chyi-Chang Miao, Christopher D. Metcalf, Ian Rudolf Bratt, Carl G. Ramey
-
Patent number: 10157132Abstract: A method of operating a data processing system comprises maintaining record of a set of processing passes to be performed by processing pass circuitry of the data processing system. The method comprises performing cycles of operation in which it is considered whether or not the data required for a subset of processing passes is stored in a local cache. The subset of processing passes that is considered in a subsequent scan of the record comprises at least one processing pass that was not considered in the previous scan of the record, regardless of whether or not the data considered in the previous scan is determined as being stored in the cache. The method provides an efficient way to identify processing passes that are ready to be performed.Type: GrantFiled: July 27, 2017Date of Patent: December 18, 2018Assignee: Arm LimitedInventors: Edvard Fielding, Andreas Due Engh-Halstvedt, Jorn Nystad, Antonio Garcia Guirado, William Robert Stoye, Ian Rudolf Bratt
-
Patent number: 10073778Abstract: A multicore processor comprises a plurality of cache memories, and a plurality of processor cores, each associated with one of the cache memories. Each of at least some of the cache memories is configured to maintain at least a portion of the cache memory in which each cache line is dynamically managed as either local to the associated processor core or shared among multiple processor cores.Type: GrantFiled: December 5, 2016Date of Patent: September 11, 2018Assignee: Mellanox Technologies Ltd.Inventors: Ian Rudolf Bratt, Matthew Mattina
-
Publication number: 20180253868Abstract: A display controller 93 in a data processing system includes a timewarp module (transformation circuitry) 100 that is operable to perform timewarp processing of a rendered frame 92 generated by a graphics processor (GPU) 91 for provision to a display panel 94. The timewarp module (transformation circuitry) 100 operates to transform an input surface 92 read by the display controller 93 based on received view orientation data to provide an appropriately “timewarped” transformed version of the input surface as an output transformed surface for display on the display 94.Type: ApplicationFiled: March 1, 2017Publication date: September 6, 2018Applicants: ARM Limited, APICAL LIMITEDInventors: Ian Rudolf Bratt, Alexander Eugene Chalfin, Eric Kunze, Paul Stanley Hughes, Alex Kornienko, Damian Piotr Modrzyk, Metin Gokhan Ünal, Jonathan Adam Lawton
-
Publication number: 20180157590Abstract: A filter unit comprises interface circuitry, to intercept coherency protocol transactions exchanged between a master device comprising a first cache and an interconnect for managing coherency between the first cache and at least one other cache or other master device. The filter unit has filtering circuitry for filtering the coherency protocol transactions in dependence on memory access permission data defining which regions of an address space the master device is allowed to access.Type: ApplicationFiled: November 29, 2017Publication date: June 7, 2018Inventors: Håkan Lars-Göran PERSSON, Ian Rudolf BRATT, Andrew Brookfield SWAINE, Bruce James MATHEWSON
-
Patent number: 9514050Abstract: A multicore processor comprises a plurality of cache memories, and a plurality of processor cores, each associated with one of the cache memories. Each of at least some of the cache memories is configured to maintain at least a portion of the cache memory in which each cache line is dynamically managed as either local to the associated processor core or shared among multiple processor cores.Type: GrantFiled: October 7, 2013Date of Patent: December 6, 2016Assignee: Tilera CorporationInventors: Anant Agarwal, Ian Rudolf Bratt, Matthew Mattina