Context Preserving (e.g., Context Swapping, Checkpointing, Register Windowing Patents (Class 712/228)
-
Patent number: 11107263Abstract: Examples are described here that can be used to enable a main routine to request subroutines or other related code to be executed with other instantiations of the same subroutine or other related code for parallel execution. A sorting unit can be used to accumulate requests to execute instantiations of the subroutine. The sorting unit can request execution of a number of multiple instantiations of the subroutine corresponding to a number of lanes in a SIMD unit. A call stack can be used to share information to be accessed by a main routine after execution of the subroutine completes.Type: GrantFiled: November 13, 2018Date of Patent: August 31, 2021Assignee: Intel CorporationInventors: John G. Gierach, Karthik Vaidyanathan, Thomas F. Raoux
-
Patent number: 11048508Abstract: A processor of an aspect includes a decode unit to decode a matrix multiplication instruction. The matrix multiplication instruction is to indicate a first memory location of a first source matrix, is to indicate a second memory location of a second source matrix, and is to indicate a third memory location where a result matrix is to be stored. The processor also includes an execution unit coupled with the decode unit. The execution unit, in response to the matrix multiplication instruction, is to multiply a portion of the first and second source matrices prior to an interruption, and store a completion progress indicator in response to the interruption. The completion progress indicator to indicate an amount of progress in multiplying the first and second source matrices, and storing corresponding result data to the third memory location, that is to have been completed prior to the interruption.Type: GrantFiled: April 29, 2019Date of Patent: June 29, 2021Assignee: Intel CorporationInventors: Edward T. Grochowski, Asit K. Mishra, Robert Valentine, Mark J. Charney, Simon C. Steely, Jr.
-
Patent number: 11036515Abstract: A system and corresponding method unwind instructions in an out-of-order (OoO) processor. The system comprises a mapper. In response to a restart event causing at least one instruction to be unwound, the mapper restores a present integer mapper state and present floating-point (FP) mapper state, used for mapping instructions, to a former integer mapper state and former FP mapper state, respectively. The mapper stores integer snapshots and FP snapshots of the present integer and FP mapper state, respectively, to expedite restoration to the former integer and FP mapper state, respectively. Access to the FP snapshots is blocked, intermittently, as a function of at least one FP present indicator used by the mapper to record presence of FP registers used as destinations in the instructions. Blocking the access, intermittently, improves power efficiency of the OoO processor.Type: GrantFiled: June 20, 2019Date of Patent: June 15, 2021Assignee: MARVELL ASIA PTE, LTD.Inventor: David A. Carlson
-
Patent number: 11023758Abstract: Disclosed are methods and systems, among which is a system that includes a pattern-recognition processor, a central processing unit (CPU) coupled to the pattern-recognition processor via a pattern-recognition bus, and memory coupled to the CPU via a memory bus. In some embodiments, the pattern-recognition bus and the memory bus form about the same number of connections to the pattern-recognition processor and the memory, respectively.Type: GrantFiled: January 16, 2019Date of Patent: June 1, 2021Assignee: Micron Technology, Inc.Inventor: J. Thomas Pawlowski
-
Patent number: 11003568Abstract: A system and method may provide assistance to programmer during programming to detect and predict the existence of errors in code and, in some aspects, predict fixes for erroneous code. In some aspects, the system and method may use artificial intelligence to learn based on edits made by programmers, by observing code changes that cause errors and code changes that fix errors, or based on other data.Type: GrantFiled: September 23, 2019Date of Patent: May 11, 2021Assignee: Manhattan Engineering IncorporatedInventors: Adam Smith, Tarak Upadhyaya, Juan Lozano, Daniel Hung
-
Patent number: 10942770Abstract: A client side method for processing a GPU task comprises: receiving a request for the GPU task from an application; determining whether the request relates to a query about an execution state of the GPU task; and in response to the request relating to the query, providing a positive acknowledgement for the query to the application, without forwarding the request to a machine that executes the GPU task. A server side method for processing a GPU task comprises: receiving a request for the GPU task from a machine, the request being irrelevant to a query about an execution state of the GPU task; determining whether processing of the request depends on a processing of a previous request; and in response to the processing of the request depending on the processing of the previous request, suspending the processing of the request until the processing of the previous request is completed.Type: GrantFiled: January 9, 2019Date of Patent: March 9, 2021Assignee: Dell Products L.P.Inventors: Wei Cui, Kun Wang, Junping Zhao
-
Patent number: 10942747Abstract: Aspects of the invention include tracking relative ages of instructions in a first-in-first-out (FIFO) issue queue of an out-of-order (OoO) processor. The FIFO issue queue is configured to add instructions to the issue queue in a sequential order and to remove instructions from the issue queue in any order including a non-sequential order. The tracking of relative ages of instructions includes maintaining a head pointer to a location of an oldest instruction in the issue queue and a tail pointer to a location of a last instruction added to the issue queue. It is determined periodically whether the tail pointer is pointing to a location that includes a valid instruction. The tail pointer is updated to point to a previous sequential location in the issue queue based at least in part on determining that the tail pointer is not pointing to a location that corresponds to a valid instruction.Type: GrantFiled: November 30, 2017Date of Patent: March 9, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Mohit S. Karve, Joel A. Silberman, Balaram Sinharoy
-
Patent number: 10942740Abstract: Systems, apparatuses and methods may provide for technology that activates a first context on a graphics processor and detects a context switch condition with respect to the first context. Additionally, a second context may be activated, in response to the context switch condition, on the graphics processor while the first context is active on the graphics processor. In one example, activating the second context includes adding a group identifier to a plurality of threads corresponding to the second context and launching the plurality of threads with the group identifier on the graphics processor.Type: GrantFiled: February 19, 2020Date of Patent: March 9, 2021Assignee: Intel CorporationInventors: Altug Koker, Michael Apodaca, Kai Xiao, Chandrasekaran Sakthivel, Jeffery S. Boles, Adam T. Lake, Abhishek R. Appu
-
Patent number: 10936322Abstract: A method of processing exceptions in an exception-driven computing-based system that operates in either initialisation mode or exception-driven mode. The method includes, upon detecting an exception has occurred, causing the processor to execute exception handling instructions. When the system is operating in initialisation mode the exception handling instructions invoke a first exception handler that causes a main register set to be saved before processing the exception and restored after processing the exception, and when the system is operating in exception-driven mode the exception handling instructions invoke a second exception handler that does not cause the main register set to be saved and restored. In some examples, the exception handling instructions are initially configured to invoke the first exception handler and are dynamically updated when the system switches from initialisation mode to exception-driven mode to invoke the second exception handler.Type: GrantFiled: April 23, 2019Date of Patent: March 2, 2021Assignee: Nordic Semiconductor ASAInventor: Christopher Philip Smith
-
Patent number: 10878857Abstract: A data storage device includes a dynamic latch circuit. The dynamic latch circuit includes a first NMOS transistor, a second NMOS transistor, a first PMOS transistor, and a second PMOS transistor. A source terminal of the first NMOS transistor is connected to a source terminal of the first PMOS transistor to form a data input terminal. A drain terminal of the first NMOS transistor is connected to a drain terminal of the first PMOS transistor to form a latch internal node. A gate terminal of the first NMOS transistor is connected to a clock input signal. A gate terminal of the first PMOS transistor is connected to an inverse clock input signal. A gate terminal of the second NMOS transistor and a gate terminal of the second PMOS transistor are connected to the latch internal node. A drain terminal of the second NMOS transistor and a drain terminal of the second PMOS transistor are connected to form an inverted output terminal.Type: GrantFiled: November 4, 2019Date of Patent: December 29, 2020Assignee: BITMAIN INC.Inventor: Peter Douglas Holm
-
Patent number: 10866806Abstract: A compiler parses a multithreaded application into cohesive blocks of instructions. Cohesive blocks include instructions that do not diverge or converge. Each cohesive block is associated with one or more uniform registers. When a set of threads executes the instructions in a given cohesive block, each thread in the set may access the uniform register independently of the other threads in the set. Accordingly, the uniform register may store a single copy of data on behalf of all threads in the set of threads, thereby conserving resources.Type: GrantFiled: February 14, 2018Date of Patent: December 15, 2020Assignee: NVIDIA CorporationInventors: Ajay Tirumala, Jack Choquette, Manan Patel, Shirish Gadre, Praveen Kaushik
-
Patent number: 10860328Abstract: Providing late physical register allocation and early physical register release in out-of-order processor (OOP)-based devices implementing a checkpoint-based architecture is provided. In this regard, an OOP-based device provides a register management circuit that is configured to employ a combination of the checkpoint approach and the virtual register approach. The register management circuit includes a most recent table (MRT) for tracking mappings of logical register numbers (LRNs) to physical register numbers (PRNs), a physical register file (PRF) storing information for physical registers, a virtual register file (VRF) storing data for virtual registers, and a checkpoint queue for tracking active checkpoints (each of which is a snapshot of the MRT at a given time).Type: GrantFiled: September 21, 2018Date of Patent: December 8, 2020Assignee: Qualcomm IncorporatedInventors: Shivam Priyadarshi, Rodney Wayne Smith, Yusuf Cagatay Tekmen, Luke Yen
-
Patent number: 10853207Abstract: Techniques are provided for implementing asynchronous checkpointing of in-memory data in a distributed computing system. For example, a method includes processing a stream of data records by an operator executing on a computing node, maintaining in a system memory, an operator state which is generated in response to the operator processing the stream of data records, and performing an asynchronous checkpointing process. The asynchronous checkpointing process includes enqueuing a checkpoint of the operator state in a first queue, wherein the first queue is maintained in the system memory, and executing a background worker thread to dequeue the checkpoint of the operator state from the first queue and store the checkpoint of the operator state in a data store. The operator continues with processing the stream of data records during the asynchronous checkpointing process.Type: GrantFiled: November 27, 2019Date of Patent: December 1, 2020Assignee: EMC IP Holding Company LLCInventors: Junping Zhao, Kevin Xu
-
Patent number: 10846132Abstract: An information processing apparatus includes a multi-core processor including at least three processor cores, and a memory configured to be accessed by the at least three processor cores. The memory has at least four data areas adapted to store data. The at least three processor cores include a first processor core and a second processor core each configured to perform an update task of updating data stored in the at least four data areas. The first processor core is configured to perform the update task on a non-object data area that is selected from the at least four data areas and is not an object of processing performed by the second processor core.Type: GrantFiled: November 20, 2018Date of Patent: November 24, 2020Assignee: Toyota Jidosha Kabushiki KaishaInventor: Mikio Yamazaki
-
Patent number: 10838756Abstract: A task definition is received. The task definition indicates at least a location from which one or more software image can be obtained and information usable to determine an amount of resources to allocate to one or more software containers for the one or more software image. A set of virtual machine instances in which to launch the one or more software containers is determined, the one or more software image is obtained from the location included in the task definition and is launched as the one or more of software containers within the set of virtual machine instances.Type: GrantFiled: June 8, 2018Date of Patent: November 17, 2020Assignee: Amazon Technologies, Inc.Inventors: Deepak Singh, Anthony Joseph Suarez, William Andrew Thurston, Anirudh Balachandra Aithal, Daniel Robert Gerdesmeier, Euan Skyler Kemp, Kiran Kumar Meduri, Muhammad Umer Azad
-
Patent number: 10831505Abstract: An apparatus and method for data parallel single program multiple data (SPMD) execution. For example, one embodiment of a processor comprises: instruction fetch circuitry to fetch instructions of one or more primary threads; a decoder to decode the instructions to generate uops; a data parallel cluster (DPC) to execute microthreads comprising a subset of the uops, the DPC further comprising: a plurality of execution lanes to perform parallel execution of the microthreads; an instruction decode queue (IDQ) to store the uops prior to execution; and a scheduler to evaluate the microthreads based on associated variables including instruction pointer (IP) values, the scheduler to gang microthreads into fragments for parallel execution on the execution lanes based on the evaluation.Type: GrantFiled: September 29, 2018Date of Patent: November 10, 2020Assignee: Intel CorporationInventors: Jonathan Pearce, David Sheffield, Srikanth Srinivasan, Jeffrey Cook, Deborah Marr, Abhijit Davare, Andrey Ayupov
-
Patent number: 10817569Abstract: Systems and methods are disclosed for saving and restoring the search state of a pattern-recognition processor. Embodiments include a pattern-recognition processor having a state variable array and a state variable storage array stored in on-chip memory (on-silicon memory with the processor). State variable storage control logic of the pattern-recognition processor may control the saving of state variables from the state variable array to the state variable storage array. The state variable storage control logic may also control restoring of the state variables from the state variable storage array to restore a search state.Type: GrantFiled: November 7, 2017Date of Patent: October 27, 2020Assignee: Micron Technology, Inc.Inventors: Harold B Noyes, David R. Brown
-
Patent number: 10802855Abstract: Operations include determining a compile-time representation of a particular type. A request for the compile-time representation of the particular type comprises a source representation of the particular type. Based on and subsequent to receiving the request, a source representation of a source code file comprising the source representation of the particular type is generated. The source representation of the source code file is converted to a compile-time representation of the source code file. The compile-time representation of the particular type is derived from the source time representation of the source code file. The source code file may also be compiled to generate a set of compiled code. The set of compiled code may be loaded into a virtual machine for generating a runtime representation of the set of compiled code. A runtime representation of the particular type is derived from the runtime representation of the set of compiled code.Type: GrantFiled: March 24, 2017Date of Patent: October 13, 2020Assignee: Oracle International CorporationInventors: Vicente A. Romero Zaldivar, Maurizio Cimadamore, Jonathan J. Gibbons
-
Patent number: 10762226Abstract: A data processing system 2 operates at a plurality of exception levels ELx and supports the use of protected execution environments. A register bank 16 contains registers having associated ownership variables indicating an owning exception level. Register access control circuitry 30 is responsive to the ownership values for respective registers to control access to those registers by processing circuitry 14 in dependence upon the ownership values. Target-constrained data transfer operations and associated program instructions may be provided which are able to access data values in registers not owned by the exception level associated with the execution of those program instructions, but are limited to perform data transfers to or from memory locations within a memory 6 indicated by an architected storage pointer for the owning exception level. Target-unconstrained transfer instructions at a given exception level are not able to access register data value marked as owned by a different exception level.Type: GrantFiled: February 10, 2017Date of Patent: September 1, 2020Assignee: ARM LimitedInventor: Jason Parker
-
Patent number: 10754588Abstract: Technology for a controller in a storage area network (SAN) node operable to perform data requests is described. The controller can receive a data request from a remote node. The data request can specify a data payload and a type of operation associated with the data request. The controller can select a kernel from a kernel table stored in the memory based on a set of rules. The kernel can be matched to the data request in accordance with the set of rules. The kernel can be configured using a bit stream. The controller can execute the kernel in order to perform the data request in accordance with the data payload and the type of operation.Type: GrantFiled: March 31, 2017Date of Patent: August 25, 2020Assignee: Intel CorporationInventors: Francesc Guim Bernat, Kshitij A. Doshi, Daniel Rivas Barragan
-
Patent number: 10725897Abstract: Systems, methods, and apparatus for automatically parallelizing code segments are provided. For example, an environment includes a profiling agent, a parallelization agent, and a verification agent. The profiling agent executes a code segment and generates a profile of the executed code segment. The parallelization agent analyzes the code segment to determine whether a parallelizable portion is present in the code segment. When a parallelizable portion is present, the parallelization agent determines, based on the profile of the executed code segment, whether to parallelize the parallelizable portion of the code segment. If it is determined to parallelize the parallelizable portion of the code segment, the parallelization agent automatically parallelizes the parallelizable portion of the code segment. The verification agent verifies the functionality and/or correctness of the parallelized code segment.Type: GrantFiled: May 3, 2017Date of Patent: July 28, 2020Assignee: Securboration, Inc.Inventors: Jacob A. Staples, Lee Krause, James B. Schneider, Adam K. Kavanaugh
-
Patent number: 10725812Abstract: A task definition is received. The task definition indicates at least a location from which one or more software image can be obtained and information usable to determine an amount of resources to allocate to one or more software containers for the one or more software image. A set of virtual machine instances in which to launch the one or more software containers is determined, the one or more software image is obtained from the location included in the task definition and is launched as the one or more of software containers within the set of virtual machine instances.Type: GrantFiled: June 8, 2018Date of Patent: July 28, 2020Assignee: Amazon Technologies, Inc.Inventors: Deepak Singh, Anthony Joseph Suarez, William Andrew Thurston, Anirudh Balachandra Aithal, Daniel Robert Gerdesmeier, Euan Skyler Kemp, Kiran Kumar Meduri, Muhammad Umer Azad
-
Patent number: 10725847Abstract: A management apparatus that manages a first database and a second database synchronized with each other includes a memory and a processor configured to perform a stop of synchronous processing between the first database and the second database in accordance with detection of a delay with respect to a first processing request received by the first database, output an error notification concerning uncompleted processing in the first database in which the delay is detected, and allocate a second processing request received after the detection to the second database.Type: GrantFiled: April 10, 2018Date of Patent: July 28, 2020Assignee: FUJITSU LIMITEDInventor: Daisuke Higuchi
-
Patent number: 10715823Abstract: Disclosed is a method of executing a decoding command. A method of executing a decoding command includes acquiring the decoding command, determining a type of an executable operation on the basis of the acquired decoding command, and performing any one of an operation of storing context information about an encoded symbol and an operation of decoding the encoded symbol on the basis of the determination result.Type: GrantFiled: March 31, 2015Date of Patent: July 14, 2020Assignee: SAMSUNG ELECTRONICS CO., LTD.Inventors: Doo-hyun Kim, Do-hyung Kim
-
Patent number: 10678432Abstract: A storage controller coupled to a storage array includes a device driver running in a kernel space that receives an administrative command from an application running in a user space of the storage controller and writes the administrative command to a first submission queue of a plurality of submission queues associated with a storage device in the storage array, where the first submission queue is reserved for use by the device driver. An input/output (I/O) command received from the application running in the user space, however, is written directly to a second submission queue of the plurality of submission queues without being routed through the kernel space, where the second submission queue being reserved for direct access by the application running in the user space.Type: GrantFiled: January 26, 2017Date of Patent: June 9, 2020Assignee: Pure Storage, Inc.Inventors: Roland Dreier, Bryan Freed, Logan Jennings, Sandeep Mann
-
Patent number: 10678582Abstract: A task definition is received. The task definition indicates at least a location from which one or more software image can be obtained and information usable to determine an amount of resources to allocate to one or more software containers for the one or more software image. A set of virtual machine instances in which to launch the one or more software containers is determined, the one or more software image is obtained from the location included in the task definition and is launched as the one or more of software containers within the set of virtual machine instances.Type: GrantFiled: June 8, 2018Date of Patent: June 9, 2020Assignee: Amazon Technologies, Inc.Inventors: Deepak Singh, Anthony Joseph Suarez, William Andrew Thurston, Anirudh Balachandra Aithal, Daniel Robert Gerdesmeier, Euan Skyler Kemp, Kiran Kumar Meduri, Muhammad Umer Azad
-
Patent number: 10671571Abstract: Aspects of the subject technology relate to methods for inter-container communication in a virtual network environment. Steps for implementing an inter-container communication method can include: creating, using a container management system, a file-structure in a shared memory, generating, by the container management system, a first memory-mapping between the file-structure and a first network container, and generating, by the container management system, a second memory-mapping between the file-structure and a second network container. In some aspects, the method can further include steps for transferring at least one data packet from the first network container to the second network container via the file-structure in the shared memory. Systems and machine-readable media are also provided.Type: GrantFiled: January 31, 2017Date of Patent: June 2, 2020Assignee: CISCO TECHNOLOGY, INC.Inventor: Ian Wells
-
Patent number: 10656952Abstract: A processor circuit is disclosed. In an embodiment, the processor circuit includes a processor unit configured to execute a multiple load or multiple store instruction for loading or storing a plurality of data words, and a data interface block, DIB, configured to communicate with the processor and configured to, in response to an occurrence of an interrupt during execution of the multiple load or store instruction, save the state of the multiple load or store instruction. Saving the state can comprise storing the number of data words already loaded or stored when the interrupt occurred. When the multiple load/store instruction is executed again after the interrupt, the DIB can skip the stored number of data words.Type: GrantFiled: May 1, 2015Date of Patent: May 19, 2020Assignee: NXP B.V.Inventors: Nicolas Laine, Cyril Edeline
-
Patent number: 10649785Abstract: One or more architected registers are restored from a snapshot previously taken of the one or more architected registers. The snapshot indicates one or more physical registers previously assigned to the one or more architected registers. The restoring replaces the one or more physical registers currently assigned to the one or more architected registers with the one or more physical registers previously assigned to the one or more architected registers as indicated by the snapshot. A determination is made as to the validity of the one or more architected registers restored using the snapshot. The determining validity includes checking memory locations associated with the one or more architected registers to determine whether contents of the one or more architected registers have changed since the snapshot was taken. If the contents of the one or more architected registers have not changed, the one or more architected registers are valid.Type: GrantFiled: April 18, 2017Date of Patent: May 12, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael K. Gschwind, Valentina Salapura, Chung-Lung K. Shum, Timothy J. Slegel
-
Patent number: 10635395Abstract: A processor (and method) includes a core that performs a floating point division through execution of various instructions. The instructions include a sign, exponent, and mantissa (SEM) separation instruction which causes the core to extract the sign, exponent and mantissa values from numerator and denominator floating point numbers. The instructions also include an unsigned mantissa division instruction which cause the core to iteratively perform a conditional subtraction operation to compute a value indicative of a mantissa of the quotient. The instructions further include a merge instruction that causes the core to generate a quotient floating point number using the extracted sign and exponent from the SEM separation instruction and the value indicative of the mantissa of the quotient.Type: GrantFiled: June 30, 2016Date of Patent: April 28, 2020Assignee: TEXAS INSTRUMENTS INCORPORATEDInventors: Prasanth Viswanathan Pillai, Venkatesh Natarajan, Alexander Tessarolo
-
Patent number: 10592264Abstract: A method may include generating, from an expression, an expression tree including an arithmetic operation and conversion operations each converting an operand of the arithmetic operation from an initial decimal format to an optimized decimal format. The initial decimal format may include a shape. The method may further include at runtime, evaluating the arithmetic operation with initial operands represented in the initial decimal format, and specializing one of the conversion operations according to the shape of the corresponding initial operand.Type: GrantFiled: May 16, 2018Date of Patent: March 17, 2020Assignee: Oracle International CorporationInventors: Alexey Karyakin, Laurent Daynes
-
Patent number: 10594483Abstract: Data processing circuitry has a virtual data buffer, with contiguous virtual addresses of the virtual buffer being associated with discontiguous addresses of a physical memory. Cyphering circuitry coupled between the data processing circuitry and the physical memory responds to a command received from the data processing circuitry by determining a key associated with the command based on virtual buffer address information associated with the virtual buffer.Type: GrantFiled: March 24, 2015Date of Patent: March 17, 2020Assignee: STMICROELECTRONICS (RESEARCH AND DEVELOPMENT) LIMITEDInventor: Robert Smart
-
Patent number: 10579482Abstract: The invention relates to a method of checkpointing the working environment of a user (7) session on a server (1) comprising a first step (11) of checkpointing the working environment of a first application of said session, characterized in that it comprises at least one second step (12) of checkpointing the working environment of a second application of said session different from said first application, and in that said first checkpointing step (11) and said second checkpointing step (12) are synchronized with each other such that the checkpointed working environment of the first application and the checkpointed working environment of the second application are coherent with each other.Type: GrantFiled: July 19, 2016Date of Patent: March 3, 2020Assignee: BULL SASInventors: Sylvain Cohard, Rafael Escovar
-
Patent number: 10572258Abstract: Systems, apparatuses and methods may provide for technology that activates a first context on a graphics processor and detects a context switch condition with respect to the first context. Additionally, a second context may be activated, in response to the context switch condition, on the graphics processor while the first context is active on the graphics processor. In one example, activating the second context includes adding a group identifier to a plurality of threads corresponding to the second context and launching the plurality of threads with the group identifier on the graphics processor.Type: GrantFiled: April 1, 2017Date of Patent: February 25, 2020Assignee: Intel CorporationInventors: Altug Koker, Michael Apodaca, Kai Xiao, Chandrasekaran Sakthivel, Jeffery S. Boles, Adam T. Lake, Abhishek R. Appu
-
Patent number: 10540200Abstract: A hardware context manager in a field-programmable gate array (FPGA) device includes configuration logic configured to program one or more programming regions in the FPGA device based on configuration data for implementing a target configuration of the one or more programming regions. Context management logic in the hardware context manager is coupled with the configuration logic and saves a first context corresponding to the target configuration by retrieving first state information from the set of one or more programming regions, where the first state information is generated based on the target configuration, and storing the retrieved first state information in a context memory. The context management logic restores the first context by transferring the first state information from the context memory to the one or more programming regions, and causing the configuration logic to program the one or more programming regions based on the configuration data.Type: GrantFiled: November 10, 2017Date of Patent: January 21, 2020Assignee: Advanced Micro Devices, Inc.Inventors: Kevin Y. Cheng, David A. Roberts, William C. Brantley
-
Patent number: 10541858Abstract: A thin client system comprises a plurality of virtual desktop environment servers each including a virtual desktop environment in which a workplace environment is generated in a virtual machine, and a management server which manages setting of the virtual desktop environment and the virtual desktop environment server, wherein the management server comprises an OS sorting unit which generates information of an OS sorting result obtained by sorting the virtual desktop environment servers in the order of failing to have a virtual machine whose OS is other than OS of a virtual machine to be newly created, and a VM creating unit which determines the virtual desktop environment server in which the virtual machine is to be created based on the OS sorting result information by giving preference to the virtual desktop environment server failing to have a virtual machine having that other OS.Type: GrantFiled: January 30, 2013Date of Patent: January 21, 2020Assignee: NEC CORPORATIONInventor: Masahiko Taguchi
-
Patent number: 10534614Abstract: A method of sharing a plurality of registers in a shared register pool among a plurality of microprocessor threads begins with a determination that a first instruction to be executed by a microprocessor in a first microprocessor thread requires a first logical register. Next a determination is made that a second instruction to be executed by the microprocessor in a second microprocessor thread requires a second logical register. A first physical register in the shared register pool is allocated to the first microprocessor thread for execution of the first instruction and the first logical register is mapped to the first physical register. A second physical register in the shared register pool is allocated to the second microprocessor thread for execution of the second instruction. Finally, the second logical register is mapped to the second physical register.Type: GrantFiled: June 8, 2012Date of Patent: January 14, 2020Assignee: MIPS Tech, LLCInventor: Ilie Garbacea
-
Patent number: 10521237Abstract: A method and a device that includes a set of multiple pipeline stages, wherein the set of multiple pipeline stages is arranged to execute a first thread of instructions; multiple memristor based registers that are arranged to store a state of another thread of instructions that differs from the first thread of instructions; and a control circuit that is arranged to control a thread switch between the first thread of instructions and the other thread of instructions by controlling a storage of a state of the first thread of instructions at the multiple memristor based registers and by controlling a provision of the state of the other thread of instructions by the set of multiple pipeline stages; wherein the set of multiple pipeline stages is arranged to execute the other thread of instructions upon a reception of the state of the other thread of instructions.Type: GrantFiled: March 19, 2014Date of Patent: December 31, 2019Assignee: TECHNION RESEARCH AND DEVELOPMENT FOUNDATION LTDInventors: Avinoam Kolodny, Uri Weiser, Shahar Kvatinsky
-
Patent number: 10496437Abstract: Context switch by changing memory pointers. A determination is made that a context switch is to be performed from a first context to a second context. Data of the first context is stored in one or more configuration state registers stored at least in part in a first memory unit and data of the second context is stored in one or more configuration state registers stored at least in part in a second memory unit. The context switch is performed by changing a pointer from the first memory unit to the second memory unit.Type: GrantFiled: November 14, 2017Date of Patent: December 3, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael K. Gschwind, Valentina Salapura
-
Patent number: 10474468Abstract: Systems, apparatuses, and methods for processing variable wavefront sizes on a processor are disclosed. In one embodiment, a processor includes at least a scheduler, cache, and multiple execution units. When operating in a first mode, the processor executes the same instruction on multiple portions of a wavefront before proceeding to the next instruction of the shader program. When operating in a second mode, the processor executes a set of instructions on a first portion of a wavefront. In the second mode, when the processor finishes executing the set of instructions on the first portion of the wavefront, the processor executes the set of instructions on a second portion of the wavefront, and so on until all portions of the wavefront have been processed. The processor determines the operating mode based on one or more conditions.Type: GrantFiled: February 22, 2017Date of Patent: November 12, 2019Assignee: Advanced Micro Devices, Inc.Inventors: Michael J. Mantor, Brian D. Emberling, Mark Fowler, Mark M. Leather
-
Patent number: 10430596Abstract: The invention provides an information processing method. The information processing method is applied to a terminal that comprises a plurality of operating systems. The information processing method comprises: upon receiving an instruction of copying data information in an arbitrary operating system to a specified operating system among the plurality of operating systems, acquiring a target entering key of the specified operating system; and after copying the data information to the specified operating system, encrypting the data information in the arbitrary operating system by using the target entering key of the specified operating system, or not displaying the data information in the arbitrary operating system again. The technical solution guarantees that data are not lost and also guarantees that data are not easy to divulge. The invention also provides a terminal and a nonvolatile machine-readable medium.Type: GrantFiled: March 24, 2017Date of Patent: October 1, 2019Assignee: YULONG COMPUTER TELECOMMUNICATION SCIENTIFIC (SHENZHEN) CO., LTD.Inventor: Jingen Sheng
-
Patent number: 10423424Abstract: Techniques are disclosed for performing an auxiliary operation via a compute engine associated with a host computing device. The method includes determining that the auxiliary operation is directed to the compute engine, and determining that the auxiliary operation is associated with a first context comprising a first set of state parameters. The method further includes determining a first subset of state parameters related to the auxiliary operation based on the first set of state parameters. The method further includes transmitting the first subset of state parameters to the compute engine, and transmitting the auxiliary operation to the compute engine. One advantage of the disclosed technique is that surface area and power consumption are reduced within the processor by utilizing copy engines that have no context switching capability.Type: GrantFiled: September 28, 2012Date of Patent: September 24, 2019Assignee: NVIDIA CORPORATIONInventors: Lincoln G. Garlick, Philip Browning Johnson, Rafal Zboinski, Jeff Tuckey, Samuel H. Duncan, Peter C. Mills
-
Patent number: 10417111Abstract: Methods, systems and computer readable medium are provided for sequentially analyzing a series of thread dump samples to estimate the intensity statistic of newly classified stack segments of stack frames. According to one embodiment, a branch point along one or more linearly connected stack frames of a stack segment can be detected, where the stack segment is associated with one or more thread intensity statistic parameters. Upon detecting the branch point along the one or more linearly connected stack frames of the stack segment, the system can split the stack segment into a plurality of new stack segments that each include a subset of the stack frames, where the plurality of new stack segments are referenced by the stack segment. The system can then initialize the one or more thread intensity statistic parameters for each of the new stack segments.Type: GrantFiled: May 5, 2017Date of Patent: September 17, 2019Assignee: ORACLE INTERNATIONAL CORPORATIONInventor: Eric S. Chan
-
Patent number: 10380034Abstract: Improving operation of a processing unit to access data within a cache system. A first fetch request and one or more subsequent fetch requests are accessed in an instruction stream. An address of data sought by the first fetch requested is obtained. At least a portion of the address of data sought by the first fetch request in inserted in each of the one or more subsequent fetch requests. The portion of the address inserted in each of the one or more subsequent fetch requests is utilized to retrieve the data sought by the first fetch request first in order from the cache system.Type: GrantFiled: July 14, 2017Date of Patent: August 13, 2019Assignee: International Business Machines CorporationInventors: Markus Kaltenbach, Ulrich Mayer, Siegmund Schlechter, Maxim Scholl
-
Patent number: 10354706Abstract: For an integrated circuit (IC) that is designed to execute user defined operations after initialization, a sequencing circuitry in the IC that delays the start of the user design execution until a set of initial condition has been computed and propagated is provided. The sequencing holds the first group of circuits at an initial state while a second group of circuits computes and propagates a set of initial conditions based at least partly on the initial state of the first group of circuits. The circuits in the first group when being held disregard their inputs and do not change their outputs. The first group of circuits is released from its initial state after the second group of circuits has completed computation and propagation of the set of initial conditions. The circuits in the first group when released are freed to store or clock-in new inputs and produce new outputs in order to perform the user defined operations in conjunction with the second group of circuits.Type: GrantFiled: November 23, 2015Date of Patent: July 16, 2019Assignee: Altera CorporationInventors: Christopher D. Ebeling, Trevis Chandler
-
Patent number: 10325844Abstract: A computer-implemented method includes, in a code transformation system, identifying save-to-return code instructions, function call code instructions, comparison code instructions, and exceptional code instructions. The function call code instructions are associated with the save-to-return code instructions. The comparison code instructions are associated with the save-to-return code instructions. The exceptional code instructions are associated with the comparison code instructions. A predefined proximity range based on a predefined proximity value as well as a proximity eligibility indicator are determined. The proximity eligibility indicator denotes whether the save-to-return code instructions and the comparison code instructions are within the predefined proximity range.Type: GrantFiled: February 1, 2018Date of Patent: June 18, 2019Assignee: International Business Machines CorporationInventors: Iain A. Ireland, Allan H. Kielstra, Muntasir A. Mallick
-
Patent number: 10295980Abstract: An apparatus, method for operating an automation device which includes a processor for directly executing function modules, where a function module selected as a component of an automation solution via a development environment, is converted into a code block via the development environment, where the code block includes a type identifier corresponding to the type of the particular function module, where inputs and outputs of the particular function module are mapped to simultaneously usable processor registers in the code block, a plurality of code blocks is processed by reading-in a particular code block by the processor and subsequently executing the code block to execute the automation solution, and where execution of the code block includes selecting a function unit from a plurality of function units based on the type identifier of the code block and activation of the selected function unit with the processor registers specified in the code block.Type: GrantFiled: March 26, 2015Date of Patent: May 21, 2019Assignee: Siemens AktiengesellschaftInventor: Eberhard Schlarb
-
Patent number: 10275250Abstract: An apparatus comprises processing circuitry for executing instructions of two or more threads of processing, hardware registers to store context data for the two or more threads concurrently, and commit circuitry to commit results of executed instructions of the threads, where for each thread the commit circuitry commits the instructions of that thread in program order. At least one defer buffer is provided to buffer at least one blocked instruction for which execution by the processing circuitry is complete but execution of an earlier instruction of the same thread in the program order is incomplete. This can help to resolve inter-thread blocking and hence improve performance.Type: GrantFiled: March 6, 2017Date of Patent: April 30, 2019Assignee: ARM LimitedInventors: Jose Alberto Joao, Ziqiang Huang, Alejandro Rico Carro
-
Patent number: 10248908Abstract: Methods, systems, and apparatus for accessing a N-dimensional tensor are described. In some implementations, a method includes, for each of one or more first iterations of a first nested loop, performing iterations of a second nested loop that is nested within the first nested loop until a first loop bound for the second nested loop is reached. A number of iterations of the second nested loop for the one or more first iterations of the first nested loop is limited by the first loop bound in response to the second nested loop having a total number of iterations that exceeds a value of a hardware property of the computing system. After a penultimate iteration of the first nested loop has completed, one or more iterations of the second nested loop are performed for a final iteration of the first nested loop until an alternative loop bound is reached.Type: GrantFiled: June 19, 2017Date of Patent: April 2, 2019Assignee: Google LLCInventors: Olivier Temam, Harshit Khaitan, Ravi Narayanaswami, Dong Hyuk Woo
-
Patent number: 10180789Abstract: Systems, apparatuses, and methods for implementing software control of state sets are disclosed. In one embodiment, a processor includes at least an execution unit and a plurality of state registers. The processor is configured to detect a command to allocate a first state set for storing a first state, wherein the command is generated by software, and wherein the first state specifies values for the plurality of state registers. The command is executed on the execution unit while the processor is in a second state, wherein the second state is different from the first state. The first state set of the processor is allocated with the first state responsive to executing the command on the execution unit. The processor is configured to allocate the first state set for the first state prior to the processor entering the first state.Type: GrantFiled: January 26, 2017Date of Patent: January 15, 2019Assignee: Advanced Micro Devices, Inc.Inventors: Rex Eldon McCrary, Michael J. Mantor, Alexander Fuad Ashkar, Harry J. Wise