Patents by Inventor Victor W. Lee

Victor W. Lee 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: 9727471
    Abstract: A method and system to perform stream buffer management instructions in a processor. The stream buffer management instructions facilitate the creation and usage of a dedicated memory space or stream buffer of the processor in one embodiment of the invention. The dedicated memory space is a contiguous memory space and has a sequential or linear addressing scheme in one embodiment of the invention. The processor has logic to execute a stream buffer management instruction to copy data from a source memory address to a destination memory address that is specified with a desired level of memory hierarchy.
    Type: Grant
    Filed: November 29, 2010
    Date of Patent: August 8, 2017
    Assignee: Intel Corporation
    Inventors: Daehyun Kim, Changkyu Kim, Victor W. Lee, Jatin Chhugani, Nadathur Rajagopalan Satish
  • Publication number: 20170205863
    Abstract: In one embodiment, A processor includes a logic to receive performance monitoring information from at least some of a plurality of cores and determine, according to a power management model, a performance state for one or more of the plurality of cores based on the performance monitoring information, and a second logic to receive the performance monitoring information and dynamically update the power management model according to a reinforcement learning process. Other embodiments are described and claimed.
    Type: Application
    Filed: January 14, 2016
    Publication date: July 20, 2017
    Inventors: Victor W. Lee, Yuxin Bai
  • Patent number: 9703558
    Abstract: Embodiments of systems, apparatuses, and methods for performing in a computer processor generation of a predicate mask based on vector comparison in response to a single instruction are described.
    Type: Grant
    Filed: December 23, 2011
    Date of Patent: July 11, 2017
    Assignee: Intel Corporation
    Inventors: Victor W. Lee, Daehyun Kim, Tin-Fook Ngai, Jayashankar Bharadwaj, Albert Hartono, Sara Baghsorkhi, Nalini Vasudevan
  • Patent number: 9690716
    Abstract: A processor includes a processing core to execute an application comprising instructions encoding a transaction with a persistent memory via a non-persistent cache, wherein the transaction is to create a mapping from a virtual address space to a memory region identified by a memory region identifier (MRID) in the persistent memory, and tag a cache line of the non-persistent cache with the MRID, in which the cache line is associated with a cache line status, and a cache controller, in response to detecting a failure event, to selectively evict contents of the cache line to the memory region identified by the MRID based on the cache line status.
    Type: Grant
    Filed: February 13, 2015
    Date of Patent: June 27, 2017
    Assignee: Intel Corporation
    Inventors: Sheng Li, Sanjay Kumar, Victor W. Lee, Rajesh M. Sankaran, Subramanya R. Dulloor
  • Patent number: 9690552
    Abstract: Technologies for generating composable library functions include a first computing device that includes a library compiler configured to compile a composable library and second computing device that includes an application compiler configured to compose library functions of the composable library based on a plurality of abstractions written at different levels of abstractions. For example, the abstractions may include an algorithm abstraction at a high level, a blocked-algorithm abstraction at medium level, and a region-based code abstraction at a low level. Other embodiments are described and claimed herein.
    Type: Grant
    Filed: December 27, 2014
    Date of Patent: June 27, 2017
    Assignee: Intel Corporation
    Inventors: Hongbo Rong, Peng Tu, Tatiana Shpeisman, Hai Liu, Todd A. Anderson, Youfeng Wu, Paul M. Petersen, Victor W. Lee, P. G. Lowney, Arch D. Robison, Cheng Wang
  • Patent number: 9563425
    Abstract: Instructions and logic provide pushing buffer copy and store functionality. Some embodiments include a first hardware thread or processing core, and a second hardware thread or processing core, a cache to store cache coherent data in a cache line for a shared memory address accessible by the second hardware thread or processing core. Responsive to decoding an instruction specifying a source data operand, said shared memory address as a destination operand, and one or more owner of said shared memory address, one or more execution units copy data from the source data operand to the cache coherent data in the cache line for said shared memory address accessible by said second hardware thread or processing core in the cache when said one or more owner includes said second hardware thread or processing core.
    Type: Grant
    Filed: November 28, 2012
    Date of Patent: February 7, 2017
    Assignee: Intel Corporation
    Inventors: Christopher J. Hughes, Changkyu Kim, Daehyun Kim, Victor W. Lee, Jong Soo Park
  • Patent number: 9513905
    Abstract: In one embodiment, a processor may include a vector unit to perform operations on multiple data elements responsive to a single instruction, and a control unit coupled to the vector unit to provide the data elements to the vector unit, where the control unit is to enable an atomic vector operation to be performed on at least some of the data elements responsive to a first vector instruction to be executed under a first mask and a second vector instruction to be executed under a second mask. Other embodiments are described and claimed.
    Type: Grant
    Filed: March 28, 2008
    Date of Patent: December 6, 2016
    Assignee: Intel Corporation
    Inventors: Mikhail Smelyanskiy, Sanjeev Kumar, Daehyun Kim, Jatin Chhugani, Changkyu Kim, Christopher J. Hughes, Victor W. Lee, Anthony D. Nguyen, Yen-Kuang Chen
  • Publication number: 20160239074
    Abstract: In an embodiment, a processor includes: a plurality of first cores to independently execute instructions, each of the plurality of first cores including a plurality of counters to store performance information; at least one second core to perform memory operations; and a power controller to receive performance information from at least some of the plurality of counters, determine a workload type executed on the processor based at least in part on the performance information, and based on the workload type dynamically migrate one or more threads from one or more of the plurality of first cores to the at least one second core for execution during a next operation interval. Other embodiments are described and claimed.
    Type: Application
    Filed: February 13, 2015
    Publication date: August 18, 2016
    Inventors: VICTOR W. LEE, EDWARD T. GROCHOWSKI, DAEHYUN KIM, YUXIN BAI, SHENG LI, NAVEEN K. MELLEMPUDI, DHIRAJ D. KALAMKAR
  • Publication number: 20160239431
    Abstract: A processor includes a processing core to execute an application comprising instructions encoding a transaction with a persistent memory via a non-persistent cache, wherein the transaction is to create a mapping from a virtual address space to a memory region identified by a memory region identifier (MRID) in the persistent memory, and tag a cache line of the non-persistent cache with the MRID, in which the cache line is associated with a cache line status, and a cache controller, in response to detecting a failure event, to selectively evict contents of the cache line to the memory region identified by the MRID based on the cache line status.
    Type: Application
    Filed: February 13, 2015
    Publication date: August 18, 2016
    Inventors: SHENG LI, SANJAY KUMAR, VICTOR W. LEE, RAJESH M. SANKARAN, SUBRAMANYA R. DULLOOR
  • Publication number: 20160239065
    Abstract: In an embodiment, a processor a plurality of cores to independently execute instructions, the cores including a plurality of counters to store performance information, and a power controller coupled to the plurality of cores, the power controller having a logic to receive performance information from at least some of the plurality of counters, determine a number of cores to be active and a performance state for the number of cores for a next operation interval, based at least in part on the performance information and model information, and cause the number of cores to be active during the next operation interval, the performance information associated with execution of a workload on one or more of the plurality of cores. Other embodiments are described and claimed.
    Type: Application
    Filed: February 13, 2015
    Publication date: August 18, 2016
    Inventors: VICTOR W. LEE, DAEHYUN KIM, YUXIN BAI, SHIHAO JI, SHENG LI, DHIRAJ D. KALAMKAR, NAVEEN K. MELLEMPUDI
  • Publication number: 20160188305
    Abstract: Technologies for generating composable library functions include a first computing device that includes a library compiler configured to compile a composable library and second computing device that includes an application compiler configured to compose library functions of the composable library based on a plurality of abstractions written at different levels of abstractions. For example, the abstractions may include an algorithm abstraction at a high level, a blocked-algorithm abstraction at medium level, and a region-based code abstraction at a low level. Other embodiments are described and claimed herein.
    Type: Application
    Filed: December 27, 2014
    Publication date: June 30, 2016
    Inventors: Hongbo Rong, Peng Tu, Tatiana Shpeisman, Hai Liu, Todd A. Anderson, Youfeng Wu, Arthur N. Glew, Paul M. PetersEn, Victor W. Lee, P.G. Lowney, Arch D. Robinson, Cheng Wang
  • Publication number: 20160139897
    Abstract: Loop vectorization methods and apparatus are disclosed. An example method includes prior to executing an original loop having iterations, analyzing, via a processor, the iterations of the original loop, identifying a dependency between a first one of the iterations of the original loop and a second one of the iterations of the original loop, after identifying the dependency, vectorizing a first group of the iterations of the original loop based on the identified dependency to form a vectorization loop, and setting a dynamic adjustment value of the vectorization loop based on the identified dependency.
    Type: Application
    Filed: January 25, 2016
    Publication date: May 19, 2016
    Inventors: Nalini Vasudevan, Jayashankar Bharadwaj, Christopher J. Hughes, Milind B. Girkar, Mark J. Charney, Robert Valentine, Victor W. Lee, Daehyun Kim, Albert Hartono, Sara S. Baghsorkhi
  • Publication number: 20160055004
    Abstract: An apparatus and method are described for non-speculative execution of conditional instructions. For example, one embodiment of a processor comprises: a register set including a first register to store a set of one or more condition bits; non-speculative execution logic to execute a first instruction to identify a first target instruction strand in response to a first conditional value read from the set of condition bits, the first instruction to wait until the first conditional value becomes known before causing the first target instruction strand to be fetched and executed, the non-speculative execution logic to execute a second instruction to identify an end of the first target instruction strand and responsively identify a new current instruction pointer for instructions which follow the second instruction; and out-of-order execution logic to fetch and execute the instructions which follow the second instruction prior to the execution of the second instruction.
    Type: Application
    Filed: August 21, 2014
    Publication date: February 25, 2016
    Inventors: EDWARD T. GROCHOWSKI, MILIND B. GIRKAR, VICTOR W. LEE, DMITRY M. MASLENNIKOV, ROBERT VALENTINE, SERGEY A. ROZHKOV, BORIS A. BABAYAN
  • Patent number: 9268626
    Abstract: An apparatus and method are described for detecting and responding to fault conditions in a processor. For example, one embodiment of a method comprises: reading each active element in succession from a first vector register, each active element specifying an address for a gather or load operation; detecting one or more fault conditions associated with one or more of the active elements; for each active element read in succession prior to a detected fault condition on an element other than the first active element, storing the data loaded from an address associated with the active element in a first output vector register; and for each active element associated with the detected fault condition and following the detected fault condition, setting a bit in an output mask register to indicate the detected fault condition.
    Type: Grant
    Filed: December 23, 2011
    Date of Patent: February 23, 2016
    Assignee: INTEL CORPORATION
    Inventors: Jayashankar Bharadwaj, Victor W. Lee, Kim Daehyun, Nalini Vasudevan, Tin-Fook Ngai, Albert Hartono, Sara S. Baghsorkhi
  • Patent number: 9244677
    Abstract: Loop vectorization methods and apparatus are disclosed. An example method includes setting a dynamic adjustment value of a vectorization loop; executing the vectorization loop to vectorize a loop by grouping iterations of the loop into one or more vectors; identifying a dependency between iterations of the loop as; and setting the dynamic adjustment value based on the identified dependency.
    Type: Grant
    Filed: September 28, 2012
    Date of Patent: January 26, 2016
    Assignee: Intel Corporation
    Inventors: Nalini Vasudevan, Jayashankar Bharadwaj, Christopher J. Hughes, Milind B. Girkar, Mark J Charney, Robert Valentine, Victor W. Lee, Daehyun Kim, Albert Hartono, Sara S. Baghsorkhi
  • Patent number: 9207880
    Abstract: A processor of an aspect includes an on-die programmable architecturally-visible storage. The processor also includes a decode unit to receive a data access instruction of an instruction set of the processor. The data access instruction to indicate a data address that is to be associated with data to be stored in the on-die programmable architecturally-visible storage, to indicate a data size associated with the data to be stored in the on-die programmable architecturally-visible storage, and to indicate a destination storage location of the processor. An execution unit is coupled with the decode unit and the on-die programmable architecturally-visible storage. The execution unit is on-die with the on-die programmable storage. The execution unit is operable, in response to the data access instruction, to store the data, which is associated with the data address and the data size, in the destination storage location that is to be indicated by the instruction.
    Type: Grant
    Filed: December 27, 2013
    Date of Patent: December 8, 2015
    Assignee: Intel Corporation
    Inventor: Victor W. Lee
  • Patent number: 9189236
    Abstract: According to one embodiment, a processor includes an instruction decoder to decode an instruction to read a plurality of data elements from memory, the instruction having a first operand specifying a storage location, a second operand specifying a bitmask having one or more bits, each bit corresponding to one of the data elements, and a third operand specifying a memory address storing a plurality of data elements. The processor further includes an execution unit coupled to the instruction decoder, in response to the instruction, to read one or more data elements speculatively, based on the bitmask specified by the second operand, from a memory location based on the memory address indicated by the third operand, and to store the one or more data elements in the storage location indicated by the first operand.
    Type: Grant
    Filed: December 21, 2012
    Date of Patent: November 17, 2015
    Assignee: Intel Corporation
    Inventors: Jayashankar Bharadwaj, Nalini Vasudevan, Victor W. Lee, Sara S. Baghsorkhi, Albert Hartono, Daehyun Kim
  • Patent number: 9153064
    Abstract: A region or group of pixels may be textured as a unit, using a range specifier and one or more anchor pixels to define the group. In some embodiments, processing grouped pixels improves efficiency.
    Type: Grant
    Filed: December 23, 2009
    Date of Patent: October 6, 2015
    Assignee: Intel Corporation
    Inventors: Victor W. Lee, Ganesh S. Dasika, Mikhail Smelyanskiy, Jose Gonzalez, Changkyu Kim, Jatin Chhugani, Yen-Kuang Chen, Julio Gago, Santiago Galan, Victor Moya Del Barrio
  • Publication number: 20150277910
    Abstract: An apparatus and method are described for executing instructions using a predicate register. For example, one embodiment of a processor comprises: a register set including a predicate register to store a set of predicate condition bits, the predicate condition bits specifying whether results of a particular predicated instruction sequence are to be retained or discarded; and predicate execution logic to execute a first predicate instruction to indicate a start of a new predicated instruction sequence by copying a condition value from a processor control register in the register set to the predicate register. In a further embodiment, the predicate condition bits in the predicate register are to be shifted in response to the first predicate instruction to free space within the predicate register for the new condition value associated with the new predicated instruction sequence.
    Type: Application
    Filed: March 27, 2014
    Publication date: October 1, 2015
    Inventors: EDWARD T. GROCHOWSKI, VICTOR W. LEE, SERGEY A. ROZHKOV, BORIS A. BABAYAN
  • Publication number: 20150228091
    Abstract: A texture unit may be used to perform general purpose mathematical computations such as dot products. This enables some general purpose computations and operations to be offloaded from a central processing unit to the texture unit. The texture unit may use linear interpolators in order to perform the dot product calculations.
    Type: Application
    Filed: April 22, 2015
    Publication date: August 13, 2015
    Inventors: Victor W. Lee, Mikhail Smelyanskiy, Ganesh S. Dasika, Jose Gonzalez, Jatin Chhugani, Yen-Kuang Chen, Changkyu Kim, Julio Gago, Santiago Galan, Victor Moya Del Barrio