Shared Memory Patents (Class 345/541)
  • Patent number: 11917249
    Abstract: A system to perform processing operations of input (video) streams, including is disclosed. The system consists of an input module, a stream type detection engine, a plurality of processing resources a resource monitoring engine, an attribution module, a dispatching module, and various other optional interface modules.
    Type: Grant
    Filed: August 21, 2017
    Date of Patent: February 27, 2024
    Inventors: Andre Slupik, Xavier Berard
  • Patent number: 11830102
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for generating, by an image sensor of a computing device, frame data comprising sub-frames of image pixel data. A first resource of the system-on-chip provides the frame data to a second resource of the system-on-chip. The frame data is provided to the second resource using a first data path included in the system-on-chip. The first resource provides a token to the second resource using a second data path included in the system-on-chip. A processor of the system-on-chip, uses the token to synchronize production of sub-frames of image pixel data provided by the first resource to the second resource and to synchronize consumption of the sub-frames of image pixel data received by the second resource from the elastic memory buffer.
    Type: Grant
    Filed: September 12, 2022
    Date of Patent: November 28, 2023
    Assignee: Google LLC
    Inventors: Benjamin Dodge, Jason Rupert Redgrave, Xiaoyu Ma
  • Patent number: 11789714
    Abstract: A processing section executes processes concerning a plurality of applications in a time division manner. A Context Switching Direct Memory Access (CSDMA) engine detects a switching timing of an application to be executed in the processing section. When detecting the switching timing, the CSDMA engine saves a context of an application that is being executed in the processing section 46, to a main memory from the processing section, and installs a context of an application to be subsequently executed in the processing section, from the main memory to the processing section, not through a process by software managing the plurality of applications.
    Type: Grant
    Filed: January 27, 2021
    Date of Patent: October 17, 2023
    Assignee: Sony Interactive Entertainment Inc.
    Inventor: Katsushi Otsuka
  • Patent number: 11657471
    Abstract: The present disclosure relates to methods and devices for graphics processing including an apparatus, e.g., a GPU. The apparatus may generate a table including a plurality of entries to store data associated with at least one of a constant value or an immediate value. The apparatus may also process, upon generating the table, first data including at least one of a constant value or an immediate value. Further, the apparatus may store, in the generated table, at least one of the constant value or the immediate value of the first data. The apparatus may also transmit, upon storing at least one of the constant value or the immediate value in the table, the table including the stored at least one of the constant value or the immediate value of the first data.
    Type: Grant
    Filed: June 23, 2021
    Date of Patent: May 23, 2023
    Assignee: QUALCOMM Incorporated
    Inventors: Yun Du, Andrew Evan Gruber, Chihong Zhang, Jian Jiang, Gang Zhong, Baoguang Yang, Yang Xia, Chun Yu, Eric Demers
  • Patent number: 11461954
    Abstract: An apparatus to facilitate an update of shader data constants. The apparatus includes one or more processors to detect a change to one or more data constants in a shader program, generate a micro-code block including updated constants data during execution of the shader program and transmit the micro-code block to the shader program.
    Type: Grant
    Filed: April 6, 2021
    Date of Patent: October 4, 2022
    Assignee: Intel Corporation
    Inventors: Michael Apodaca, John Feit, David Cimini, Thomas Raoux, Konstantin Levit-Gurevich
  • Patent number: 11361485
    Abstract: When generating a set of tile-lists for use in a tile-based graphics processing system when rendering a scene for display, vertex data is obtained for a plurality of draw calls, and the obtained vertex data is then processed to generate for each of the draw calls data indicative of which tile(s) the primitives associated with that draw call should be rendered for when rendering the scene for display. The vertex data for at least some of the plurality of draw calls can be obtained and processed out of order and/or in parallel and the data is then sorted based on a desired rendering order for the draw calls in order to generating a tile-list identifying the sequence of draw calls to be rendered. In embodiments, the generated data is sorted using a re-ordering buffer.
    Type: Grant
    Filed: October 21, 2019
    Date of Patent: June 14, 2022
    Assignee: Arm Limited
    Inventor: Olof Henrik Uhrenholt
  • Patent number: 11350158
    Abstract: An electronic device is disclosed. The device includes a memory, a communication interface, and a processor configured to change, based on an event for turning off the electronic apparatus, first information indicating support for a fixed rate link (FRL) in EEID information stored in the memory into second information indicating no support for the FRL, and provide the second information to a source device connected through the communication interface.
    Type: Grant
    Filed: May 14, 2019
    Date of Patent: May 31, 2022
    Assignee: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Hyunjong Shin, Yongsik Kwon
  • Patent number: 11194513
    Abstract: A memory device having an improved booting speed includes: a memory cell array, and a control logic configured to set a memory block as one of a special block for storing special information and a user block for storing user data and configured to store data in a memory block in response to commands from a memory controller, wherein the control logic comprises: a control signal generator configured to generate a special information read signal for reading plural pieces of special information stored in at least two special blocks among the plurality of memory blocks, in response to a special information read command provided by the memory controller, a special information merger configured to read the plural pieces of special information in response to the special information read signal, and a special information storage configured to store the read plural pieces of special information as merged special information.
    Type: Grant
    Filed: July 18, 2019
    Date of Patent: December 7, 2021
    Assignee: SK hynix Inc.
    Inventor: Jin Yong Seong
  • Patent number: 11086895
    Abstract: In accordance with an embodiment, described herein is a system and method for loading and transforming data to a cloud database, using a hybrid set-based extract, load, transform approach. During the loading and transforming of large amounts of data, from one or more data sources, a data synchronization application sends small batches of data, in parallel streams, to the database, which operates as a transformation engine to load the data. Each stream can be associated with a separate staging table in the database. For each staging table, the subset of data therein is transformed and loaded, before the next subset is processed. A transform and merge process operating at the database can then be used to transform and merge the data, from each of the staging tables, to the target table.
    Type: Grant
    Filed: August 24, 2017
    Date of Patent: August 10, 2021
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Vijayakumar Ranganathan, Dmitriy Gertsman, Saugata Chowdhury
  • Patent number: 11055807
    Abstract: Interfacing with a graphics processing unit (GPU) in a computer system in a transactional manner is disclosed. Discovering feature data regarding the GPU includes determining if the GPU understands transactional-based communication and may be determined by query or by using a look up table (LUT) containing one or more configuration identifiers. Transactions include information including directives to be performed by the GPU and data on which to perform the directives. Transactions may be provided through an application program interface from a user level software module or possibly at the kernel level of an operating system. Transactions may be applied as atomic operations at a discrete point in time to prevent visible glitching or other undesirable display artifacts from being discernable on a display device (e.g., directly connected monitor or remote display device).
    Type: Grant
    Filed: May 14, 2018
    Date of Patent: July 6, 2021
    Assignee: Apple Inc.
    Inventors: Bruce A. Parke, Maria A. Tovar
  • Patent number: 10997772
    Abstract: An apparatus to facilitate an update of shader data constants. The apparatus includes one or more processors to detect a change to one or more data constants in a shader program, generate a micro-code block including updated constants data during execution of the shader program and transmit the micro-code block to the shader program.
    Type: Grant
    Filed: December 23, 2019
    Date of Patent: May 4, 2021
    Assignee: Intel Corporation
    Inventors: Michael Apodaca, John Feit, David Cimini, Thomas Raoux, Konstantin Levit-Gurevich
  • Patent number: 10867364
    Abstract: A graphics processing chip includes multiple graphics pipeline cores and multi-pipeline core logic circuitry to process graphic data streams received from a processor and to drive multiple GPUs on the multiple graphics pipeline cores.
    Type: Grant
    Filed: February 14, 2020
    Date of Patent: December 15, 2020
    Assignee: Google LLC
    Inventor: Reuven Bakalash
  • Patent number: 10733696
    Abstract: Methods are provided for creating objects in a way that permits an API client to explicitly participate in memory management for an object created using the API. Methods for managing data object memory include requesting memory requirements for an object using an API and expressly allocating a memory location for the object based on the memory requirements. Methods are also provided for cloning objects such that a state of the object remains unchanged from the original object to the cloned object or can be explicitly specified.
    Type: Grant
    Filed: April 3, 2017
    Date of Patent: August 4, 2020
    Assignees: ATI TECHNOLOGIES ULC, ADVANCED MICRO DEVICES, INC.
    Inventors: Guennadi Riguer, Brian K. Bennett
  • Patent number: 10635439
    Abstract: A system and method for binding instructions to a graphical processing unit (GPU) includes a GPU configured to receive bindlessly compiled instructions and interpret the bindlessly compiled instruction at runtime to identify a needed conversion The GPU generates a conversion information based on the bindlessly compiled instruction and needed conversion and converts the bindlessly compiled instruction according to the conversion information to generate a bound format instruction. The GPU may then execute the bound format instruction.
    Type: Grant
    Filed: September 10, 2018
    Date of Patent: April 28, 2020
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Mitchell K. Alsup, David C. Tannenbaum, Derek Lentz, Srinivasan S. Iyer, Christopher J. Goodman
  • Patent number: 10614545
    Abstract: System on chip comprising a general purpose processing element, a graphics processing unit and a display interface, supporting graphics visualization on mobile computing devices and on embedded systems.
    Type: Grant
    Filed: December 3, 2018
    Date of Patent: April 7, 2020
    Assignee: Google LLC
    Inventor: Reuven Bakalash
  • Patent number: 10514751
    Abstract: A data processing apparatus includes a first agent which generates a cache dormant indication when a cache is in a dormant state, and a second agent which issues cache maintenance requests for data stored in the cache accessed by the first agent. In response to the cache dormant indication generated by the first agent, the second agent may suppress issuing of cache maintenance requests for the cache accessed by the first agent.
    Type: Grant
    Filed: February 10, 2016
    Date of Patent: December 24, 2019
    Assignee: ARM Limited
    Inventor: Håkan Persson
  • Patent number: 10452549
    Abstract: An apparatus and method for page table management. For example, one embodiment of an apparatus comprises: a memory management circuit to perform address translations using a page directory, a base page directory address identifying a location of the page directory in a system memory; a cache to reserve a first cache line containing the base page directory address stored in a modified state; cache snoop circuitry to detect a read to the base page directory address by a processor or graphics processing unit (GPU); and locking circuitry to assert a lock signal to change the state of the first cache line to a locked state, the memory management circuit to refrain from performing a page table walk until the lock signal is de-asserted.
    Type: Grant
    Filed: August 17, 2017
    Date of Patent: October 22, 2019
    Assignee: Intel Corporation
    Inventor: Yen Hsiang Chew
  • Patent number: 10417990
    Abstract: A method of binding graphics resources is provided that includes: (1) identifying graphics resources for binding, (2) generating a bind group for the graphics resources, (3) organizing the bind group into a bind group memory using a bind group layout and (4) providing bind group control for processing of the bind group. A method of organizing graphics resources and a resource organizing unit are also provided.
    Type: Grant
    Filed: September 16, 2015
    Date of Patent: September 17, 2019
    Assignee: Nvidia Corporation
    Inventor: Jeffrey A. Bolz
  • Patent number: 10332231
    Abstract: A computing system includes a memory device comprising a memory array and an internal processor configured to perform a first sub pipeline of a graphics pipeline for tile-based rendering by using graphics data stored in the memory array, for offload processing of the first sub pipeline from a host processor; and the host processor configured to perform a second sub pipeline of the graphics pipeline by using a result of the first sub pipeline stored in the memory array.
    Type: Grant
    Filed: January 17, 2017
    Date of Patent: June 25, 2019
    Assignee: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Sangoak Woo, Jongpil Son, Seungcheol Baek, Soojung Ryu
  • Patent number: 10319060
    Abstract: The present invention facilitates efficient and effective utilization of unified virtual addresses across multiple components. In one embodiment, the presented new approach or solution uses Operating System (OS) allocation on the central processing unit (CPU) combined with graphics processing unit (GPU) driver mappings to provide a unified virtual address (VA) across both GPU and CPU. The new approach helps ensure that a GPU VA pointer does not collide with a CPU pointer provided by OS CPU allocation (e.g., like one returned by “malloc” C runtime API, etc.).
    Type: Grant
    Filed: January 20, 2015
    Date of Patent: June 11, 2019
    Assignee: Nvidia Corporation
    Inventors: Amit Rao, Ashish Srivastava, Yogesh Kini
  • Patent number: 10262456
    Abstract: An apparatus and method for extracting and using path shading coherence in a ray tracing architecture. For example, one embodiment of a graphics processing apparatus comprises: ray generation logic to generate a ray stream from one or more image tiles; ray sorting logic to sort the rays within the ray stream based on a material identifier (ID) associated with each of the rays to generate a sorted ray stream; and one or more shaders to perform shading operations on rays within the sorted ray stream in an order in which the rays are sorted within the sorted ray stream.
    Type: Grant
    Filed: December 19, 2015
    Date of Patent: April 16, 2019
    Assignee: Intel Corporation
    Inventors: Attila T. Afra, Carl J. Munkberg
  • Patent number: 10152421
    Abstract: In one embodiment, a processor includes: a fetch logic to fetch instructions; a decode logic to decode the instructions; a cache memory; and a control logic to receive a cache filter instruction and responsive to the cache filter instruction enable only a selected portion of a memory address space to be eligible to be cached in the cache memory. The cache filter instruction may indicate the selected portion of the memory address space. Other embodiments are described and claimed.
    Type: Grant
    Filed: November 23, 2015
    Date of Patent: December 11, 2018
    Assignee: Intel Corporation
    Inventor: Ruchira Sasanka
  • Patent number: 10133678
    Abstract: In some embodiments, a method of managing cache memory includes identifying a group of cache lines in a cache memory, based on a correlation between the cache lines. The method also includes tracking evictions of cache lines in the group from the cache memory and, in response to a determination that a criterion regarding eviction of cache lines in the group from the cache memory is satisfied, selecting one or more (e.g., all) remaining cache lines in the group for eviction.
    Type: Grant
    Filed: August 28, 2013
    Date of Patent: November 20, 2018
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Yasuko Eckert, Syed Ali Jafri, Srilatha Manne, Gabriel Loh
  • Patent number: 10089115
    Abstract: One embodiment provides for a graphics processor comprising first logic coupled with a first execution unit, the first logic to receive a first single instruction multiple data (SIMD) message from the first execution unit; second logic coupled with a second execution unit, the second logic to receive a second SIMD message from the second execution unit; and third logic coupled with a bank of shared local memory (SLM), the third logic to receive a first request to access the bank of SLM from the first logic, a second request to access the bank of SLM from the second logic, and in a single access cycle, schedule a read access to a read port for the first request and a write access to a write port for the second request.
    Type: Grant
    Filed: July 7, 2016
    Date of Patent: October 2, 2018
    Assignee: INTEL CORPORATION
    Inventors: Joydeep Ray, Abhishek R. Appu, James A. Valerio, Bharath Narasimha Swamy
  • Patent number: 10067710
    Abstract: A processing apparatus is provided that includes a plurality of memory regions each corresponding to a memory address and configured to store data associated with the corresponding memory address. The processing apparatus also includes an accelerated processing device in communication with the memory regions and configured to determine a request to allocate an initial memory buffer comprising a number of contiguous memory regions, create a new memory buffer comprising one or more additional memory regions adjacent to the contiguous memory regions of the initial memory buffer, assign one or more values to the one or more additional memory regions and detect a change to the one or more values at the one or more additional memory regions.
    Type: Grant
    Filed: November 23, 2016
    Date of Patent: September 4, 2018
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Joseph L. Greathouse, Christopher D. Erb, Michael G. Collins
  • Patent number: 9886934
    Abstract: Described herein are technologies related to a ensuring that graphics commands and graphics context are offloading and scheduled for consumption as the commands and graphics context are sent from coherent to non-coherent memory/fabric in a “processor to processor” handoff or transaction.
    Type: Grant
    Filed: December 24, 2014
    Date of Patent: February 6, 2018
    Assignee: Intel Corporation
    Inventors: Bryan R. White, Balaji Vembu, Murali Ramadoss, Altug Koker, Aditya Navale
  • Patent number: 9875568
    Abstract: A graphics effect data structure and method of use thereof. One embodiment of the graphics effect data structure is embodied in an effect processing system, including: (1) a memory configured to store an effect data structure that describes a graphics effect implemented by a plurality of passes and shader code modules contained in the effect data structure, (2) a graphics processing unit (GPU) operable to render the graphics effect according to a shader program based on the shader code modules, assembled according to the plurality of passes, and (3) a central processing unit (CPU) configured to execute an application that employs the graphics effect and to gain access to the effect data structure during run time, at which time the shader program is passed to the GPU for processing.
    Type: Grant
    Filed: June 6, 2013
    Date of Patent: January 23, 2018
    Assignee: Nvidia Corporation
    Inventor: Tristan Lorach
  • Patent number: 9652390
    Abstract: Apparatus, computer readable medium, integrated circuit, and method of moving a plurality of data items to a first cache or a second cache are presented. The method includes receiving an indication that the first cache requested the plurality of data items. The method includes storing information indicating that the first cache requested the plurality of data items. The information may include an address for each of the plurality of data items. The method includes determining based at least on the stored information to move the plurality of data items to the second cache. The method includes moving the plurality of data items to the second cache. The method may include determining a time interval between receiving the indication that the first cache requested the plurality of data items and moving the plurality of data items to the second cache. A scratch pad memory is disclosed.
    Type: Grant
    Filed: August 5, 2014
    Date of Patent: May 16, 2017
    Assignee: Advanced Micro Devices, Inc.
    Inventors: JunLi Gu, Bradford M. Beckmann, Yuan Xie
  • Patent number: 9628824
    Abstract: A video decoding apparatus and method for enhancing video quality of lower resolution than the resolution of a display of a terminal is provided. The video decoding apparatus includes a quality enhancer and a controller. The quality enhancer includes a resizer and quality enhancement filters, each configured to perform a different video quality enhancement operation, and to perform a quality enhancement process on a decoded video with at least one selected enhancement filter from among the quality enhancement filters and perform upscaling with the resizer. The controller selects at least one of the quality enhancement filters to be involved in the quality enhancement and sets up a processing sequence of the resizer and the at least one selected quality enhancement filter.
    Type: Grant
    Filed: September 23, 2013
    Date of Patent: April 18, 2017
    Assignee: Samung Electronics Co., Ltd.
    Inventors: Bong-Soo Jung, Jang-Hee Ryu, Jung-Won Lee
  • Patent number: 9619428
    Abstract: A graphics processing unit is disclosed, the graphics processing unit having a processor having one or more SIMD processing units, and a local data share corresponding to one of the one or more SIMD processing units, the local data share comprising one or more low latency accessible memory regions for each group of threads assigned to one or more execution wavefronts, and a global data share comprising one or more low latency memory regions for each group of threads.
    Type: Grant
    Filed: June 1, 2009
    Date of Patent: April 11, 2017
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael J. Mantor, Brian Emberling
  • Patent number: 9563930
    Abstract: Various embodiments are generally directed to an apparatus, method and other techniques to determine that a shared surface is shared between a first application and a second application, determine that a fast clear operation has been performed on the shared surface, the fast clear operation comprising clearing one or more locations of one or more buffers. Further, various embodiments may include writing pixel value information to the one or more locations of the one or more buffers and performing a resolve operation on the shared surface.
    Type: Grant
    Filed: June 30, 2014
    Date of Patent: February 7, 2017
    Assignee: INTEL CORPORATION
    Inventor: Abhishek Venkatesh
  • Patent number: 9547535
    Abstract: One or more embodiments of the invention set forth techniques to create a process in a graphical processing unit (GPU) that has access to memory buffers in the system memory of a computer system that are shared among a plurality of GPUs in the computer system. The GPU of the process is able to engage in Direct Memory Access (DMA) with any of the shared memory buffers thereby eliminating additional copying steps that have been needed to combine data output of the various GPUs without such shared access.
    Type: Grant
    Filed: April 30, 2009
    Date of Patent: January 17, 2017
    Assignee: NVIDIA Corporation
    Inventor: Nicholas Patrick Wilt
  • Patent number: 9406101
    Abstract: A tessellation pipeline includes an alpha phase and a beta phase. The alpha phase includes pre-tessellation processing stages, while the beta phase includes post-tessellation processing stages. A processing unit configured to implement a processing stage in the alpha phase stores input graphics data within a buffer and then copies over that buffer with output graphics data, thereby conserving memory resources. The processing unit may also copy output graphics data directly to a level 2 (L2) cache for beta phase processing by other tessellation pipelines, thereby avoiding the need for fixed function copy-out hardware.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: August 2, 2016
    Assignee: NVIDIA Corporation
    Inventors: Ziyad S. Hakura, Zhenghong Wang
  • Patent number: 9361259
    Abstract: An integrated circuit for video/audio processing in which design resources obtained by development of video/audio devices can also be used for other types of video/audio devices. The integrated circuit includes a microcomputer that includes a CPU, a stream input/output for inputting/outputting a video and audio stream to and from an external device, a media processor that executes the media processing including at least one of compressing and decompressing the video and audio stream inputted to the stream input/output, an AV input/output that converts the video and audio stream subjected to the media processing by the media processor into video and audio signals and outputting these signals to the external device. A memory interface controls a data transfer between the microcomputer, the stream input/output, the media processor and the AV input/output and an external memory.
    Type: Grant
    Filed: June 25, 2014
    Date of Patent: June 7, 2016
    Assignee: SOCIONEXT INC.
    Inventors: Kozo Kimura, Tokuzo Kiyohara, Hiroshi Mizuno, Junji Michiyama, Tomohiko Kitamura, Ryoji Yamaguchi, Manabu Kuroda, Nobuhiko Yamada, Hideyuki Ohgose, Akifumi Yamana
  • Patent number: 9030378
    Abstract: In a sharing display processing system having a plurality of display processing systems each including one or a plurality of display apparatuses, each display processing system arranges display regions corresponding to the respective display apparatuses on a first memory region shared with another display processing system, arranges contents on a second memory region managed by the self system, extracts a part of the second memory region on which the contents are arranged as an extracted region, and arranges the extracted region on the first memory region. Each display apparatus displays the extracted region arranged within the range of the display region corresponding to itself on the first memory region.
    Type: Grant
    Filed: July 13, 2009
    Date of Patent: May 12, 2015
    Assignee: Canon Kabushiki Kaisha
    Inventor: Takeshi Suzuki
  • Publication number: 20150097849
    Abstract: This disclosure describes communication techniques that may be used within a multiple-processor computing platform. The techniques may, in some examples, provide software interfaces that may be used to support message passing within a multiple-processor computing platform that initiates tasks using command queues. The techniques may, in additional examples, provide software interfaces that may be used for shared memory inter-processor communication within a multiple-processor computing platform. In further examples, the techniques may provide a graphics processing unit (GPU) that includes hardware for supporting message passing and/or shared memory communication between the GPU and a host CPU.
    Type: Application
    Filed: December 15, 2014
    Publication date: April 9, 2015
    Inventors: Alexei Vladimirovich Bourd, Colin Christopher Sharp, David Rigel Garcia Garcia, Chihong Zhang
  • Patent number: 8976189
    Abstract: Various embodiments provide techniques for enabling multiple graphics interfaces to be accessed to perform graphics-related operations. In at least some embodiments, techniques determine if the multiple graphics interfaces can share a memory resource for performing graphics operations. If the multiple graphics interfaces can share the memory resource, a coalescing graphics element is provided that can be used by applications to perform multiple graphics operations.
    Type: Grant
    Filed: April 25, 2011
    Date of Patent: March 10, 2015
    Assignee: Microsoft Corporation
    Inventors: Benjamin C. Constable, Blake D. Pelton
  • Patent number: 8963939
    Abstract: A mobile computing device with a mobile operating system and desktop operating system running concurrently and independently on a shared kernel without virtualization. The mobile operating system provides a user experience for the mobile computing device that suits the mobile environment. The desktop operating system provides a full desktop user experience when the mobile computing device is docked to a second user environment. Cross-environment rendering and user interaction support provide a seamless computing experience in a multi-operating system computing environment. Real-time display of applications running in the mobile operating system within an environment of the desktop operating system is provided by rendering the application through an extended graphics context of the mobile operating system. Application graphics for multiple applications are rendered into separate graphics frames.
    Type: Grant
    Filed: September 27, 2011
    Date of Patent: February 24, 2015
    Assignee: Z124
    Inventors: Alisher Yusupov, Paul E. Reeves, Octavian Chincisan, Wuke Liu
  • Patent number: 8966379
    Abstract: Dynamic configuration of cross-environment applications enhances the computing experience in a computing environment with an extended active user environment and/or multiple active user environments. A mobile computing device maintains multiple active device configurations associated with multiple active user environments and/or application windows within active user environments. Device configuration qualifiers are determined from a variety of sources including device characteristics, device indicators, user settings, and/or application presentation. The mobile computing device selects active resource sets for applications based on the device configuration qualifiers. Application presentation is dynamically updated by disestablishing an application screen and establishing a new active application screen using a different resource set. The mobile computing device may be a smartphone running the Android mobile operating system and a full desktop Linux distribution on a modified Android kernel.
    Type: Grant
    Filed: February 17, 2012
    Date of Patent: February 24, 2015
    Assignee: Z124
    Inventors: Brian Reeves, Paul E. Reeves, Wuke Liu, Borys Sushchev
  • Patent number: 8957906
    Abstract: A method and an apparatus for a parallel computing program using subbuffers to perform a data processing task in parallel among heterogeneous compute units are described. The compute units can include a heterogeneous mix of central processing units (CPUs) and graphic processing units (GPUs). A system creates a subbuffer from a parent buffer for each of a plurality of heterogeneous compute units. If a subbuffer is not associated with the same compute unit as the parent buffer, the system copies data from the subbuffer to memory of that compute unit. The system further tracks updates to the data and transfers those updates back to the subbuffer.
    Type: Grant
    Filed: April 16, 2014
    Date of Patent: February 17, 2015
    Assignee: Apple Inc.
    Inventors: Aaftab A. Munshi, Ian R. Ollmann
  • Patent number: 8957905
    Abstract: A mobile computing device with a mobile operating system and desktop operating system running concurrently and independently on a shared kernel without virtualization. The mobile operating system provides a user experience for the mobile computing device that suits the mobile environment. The desktop operating system provides a full desktop user experience when the mobile computing device is docked to a second user environment. Cross-environment rendering and user interaction support provide a seamless computing experience in a multi-operating system computing environment. The seamless computing experience includes mirroring the active user interaction space of the mobile operating system to a display of a user environment associated with the desktop operating system. The mobile computing device may be a smartphone running the Android mobile operating system and a full desktop Linux distribution on a modified Android kernel.
    Type: Grant
    Filed: September 28, 2011
    Date of Patent: February 17, 2015
    Assignee: Z124
    Inventors: Brian Reeves, Paul E. Reeves, Richard Teltz, David Reeves, Sanjiv Sirpal, Chris Tyghe, Octavian Chincisan
  • Patent number: 8937622
    Abstract: This disclosure describes communication techniques that may be used within a multiple-processor computing platform. The techniques may, in some examples, provide software interfaces that may be used to support message passing within a multiple-processor computing platform that initiates tasks using command queues. The techniques may, in additional examples, provide software interfaces that may be used for shared memory inter-processor communication within a multiple-processor computing platform. In further examples, the techniques may provide a graphics processing unit (GPU) that includes hardware for supporting message passing and/or shared memory communication between the GPU and a host CPU.
    Type: Grant
    Filed: September 16, 2011
    Date of Patent: January 20, 2015
    Assignee: QUALCOMM Incorporated
    Inventors: Alexei V. Bourd, Colin Christopher Sharp, David Rigel Garcia Garcia, Chihong Zhang
  • Patent number: 8928680
    Abstract: A program module executing in a first process space of a mobile computing device receives a buffer request from a graphics driver running in a second process space of the mobile computing device, wherein the second process space is isolated from the first process space. The program module assigns a buffer to the graphics driver to store image data processed by a graphical processing unit (GPU) controlled by the graphics driver. The program module receives a release of the buffer from the graphics driver. The program module assigns the buffer to a media encoder driver for a hardware media encoder to encode the image data in the buffer into a file.
    Type: Grant
    Filed: July 10, 2012
    Date of Patent: January 6, 2015
    Assignee: Google Inc.
    Inventors: Pannag Raghunath Sanketi, Jamie Gennis
  • Patent number: 8923405
    Abstract: An apparatus generally having a plurality of memories and a first circuit is disclosed. The memories may be configured to store a plurality of first data points. The first data points generally form a two-dimensional block. The first data points may be arranged among the memories such that a load cycle from the memories accesses a rectangular region of the two-dimensional block. The load cycle generally comprises a plurality of read cycles, a different one of the read cycles corresponding to each one of the memories. The first circuit may be configured to (i) receive the first data points as read from the memories and (ii) generate a plurality of second data points by a video codec transformation of the first data points between a spatial domain and a frequency domain.
    Type: Grant
    Filed: January 25, 2010
    Date of Patent: December 30, 2014
    Assignee: Ambarella, Inc.
    Inventors: Ellen M. Lee, Yat Kuen Wong
  • Patent number: 8922571
    Abstract: A system and method for efficiently scheduling memory access requests. A semiconductor chip includes a memory controller for controlling accesses to a shared memory and a display controller for processing frame data. In response to detecting an idle state for the system and the supported one or more displays, the display controller aggregates memory requests for a given display pipeline of one or more display pipelines prior to attempting to send any memory requests from the given display pipeline to the memory controller. Arbitration may be performed while the given display pipeline sends the aggregated memory requests. In response to not receiving memory access requests from the functional blocks or the display controller, the memory controller may transition to a low-power mode.
    Type: Grant
    Filed: September 11, 2012
    Date of Patent: December 30, 2014
    Assignee: Apple Inc.
    Inventors: Brijesh Tripathi, Peter F. Holland, Shing Horng Choo, Steven T. Peltier
  • Patent number: 8872823
    Abstract: A method and system are disclosed for automatic instrumentation that modifies a video game's shaders at run-time to collect detailed statistics about texture fetches such as MIP usage. The tracking may be transparent to the game application and therefore not require modifications to the application. In an embodiment, the method may be implemented in a software development kit used to record and provide texture usage data and optionally generate a report.
    Type: Grant
    Filed: October 9, 2009
    Date of Patent: October 28, 2014
    Assignee: Microsoft Corporation
    Inventors: Jason Matthew Gould, Michael Edward Pietraszak, Zsolt Mathe, J. Andrew Goossen, Casey Leon Meekhof
  • Patent number: 8868945
    Abstract: Many computing device may now include two or more graphics subsystems. The multiple graphics subsystems may have different abilities, and may, for example, consume differing amount of electrical power, with one subsystem consuming more average power than the others. The higher power consuming graphics subsystem may be coupled to the device and used instead of, or in addition to, the lower power consuming graphics subsystem, resulting in higher performance or additional capabilities, but increased overall power consumption. By transitioning from the use of the higher power consuming graphics subsystem to the lower power consuming graphics subsystem, while placing the higher power consuming graphics subsystem in a lower power consumption mode, overall power consumption is reduced.
    Type: Grant
    Filed: April 19, 2010
    Date of Patent: October 21, 2014
    Assignee: ATI Technologies ULC
    Inventors: Sasa Marinkovic, Phil Mummah, Mingwei Chien, Michael Tresidder, Roumen Saltchev, George Xie, Jason Long
  • Patent number: 8866831
    Abstract: In one embodiment, the present invention includes a device that has a device processor and a device memory. The device can couple to a host with a host processor and host memory. Both of the memories can have page tables to map virtual addresses to physical addresses of the corresponding memory, and the two memories may appear to a user-level application as a single virtual memory space. Other embodiments are described and claimed.
    Type: Grant
    Filed: February 4, 2014
    Date of Patent: October 21, 2014
    Assignee: Intel Corporation
    Inventor: Boris Ginzburg
  • Patent number: 8860739
    Abstract: Disclosed is a method of processing a digital representation comprising a plurality of cells having respective cell values and being arranged in a regular grid. The method comprises performing at least one cell data reordering operation and performing at least one arithmetic operation for computing at least a first cell value of a first cell from one or more cell values of respective cells of the digital representation, each arithmetic operation including at least one multiplication. The method comprises performing the at least one reordering operation and the at least one arithmetic operation as at least two concurrent processes, each of the concurrent processes reading respective parts of the digital representation from respective memory buffers of a shared memory.
    Type: Grant
    Filed: July 1, 2009
    Date of Patent: October 14, 2014
    Assignee: Telefonaktiebolaget L M Ericsson (publ)
    Inventor: Jordan Vitella-Espinoza
  • Patent number: 8823736
    Abstract: In some embodiments, tile lists may be avoided by storing the geometry of a scene in a bounding volume hierarchy (BVH). For each tile, the bounding volume hierarchy is traversed. The traversals continued only into children nodes that overlap with the frustum on the tile. By relaxing the ordering constraint of rendering primitives, the BVH is traversed such that nodes that are closer to the viewer are traversed first, increasing the occlusion culling efficiency in some embodiments. Rendering the full scene between the central processing cores and the graphics processor may be done through a shared memory in some embodiments.
    Type: Grant
    Filed: January 20, 2012
    Date of Patent: September 2, 2014
    Assignee: Intel Corporation
    Inventors: Rasmus Barringer, Carl Johan Gribel, Aaron Lefohn, Tomas G. Akenine-Möller