Patents by Inventor Mikhail Smelyanskiy

Mikhail Smelyanskiy 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).

  • Publication number: 20170168827
    Abstract: A processing device includes a sorting module, which adds to each of a plurality of elements a position value of a corresponding position in a register rest resulting in a plurality of transformed elements in corresponding positions. The plurality of elements include a plurality of bits. The sorting module compares each of the plurality of transformed elements to itself and to one another. The sorting module also assigns one of an enabled or disabled indicator to each of the plurality of the transformed elements based on the comparison. The sorting module further counts a number of the enabled indicators assigned to each of the plurality of the transformed elements to generate a sorted sequence of the plurality of elements.
    Type: Application
    Filed: December 15, 2015
    Publication date: June 15, 2017
    Inventors: Asit K. Mishra, Deborah T. Marr, Jong Soo Park, Nadathur Rajagopalan Satish, Mikhail Smelyanskiy, Michael Anderson, Mostofa Ali Patwary, Narayanan Sundaram, Sheng Li
  • Patent number: 9678750
    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 12, 2013
    Date of Patent: June 13, 2017
    Assignee: Intel Corporation
    Inventors: Mikhail Smelyanskiy, Victor Lee, Christopher Hughes, Daehyun Kim, Yen-Kuang Chen, Changkyu Kim, Jatin Chhugani, Anthony D. Nguyen, Sanjeev Kumar
  • Publication number: 20170091103
    Abstract: A processor includes a cache, a front end to decode an instruction, execution units to execute the instruction, and a retirement unit to retire the instruction. The instruction specifies that a vector of data will be prefetched. The instruction is to include a mask, the mask is to indicate whether corresponding values of the vector of data are included within the cache. The execution units include logic to issue prefetches for each value of the vector of data for which the mask indicates that is unavailable within the cache, and logic to suppress prefetches for each value of the vector of data for which the mask indicates that is available within the cache.
    Type: Application
    Filed: September 25, 2015
    Publication date: March 30, 2017
    Inventors: Mikhail Smelyanskiy, Jesus Corbal
  • Publication number: 20160378442
    Abstract: Methods, apparatus, systems and articles of manufacture are disclosed to optimize sparse matrix execution. An example disclosed apparatus includes a context former to identify a matrix function call from a matrix function library, the matrix function call associated with a sparse matrix, a pattern matcher to identify an operational pattern associated with the matrix function call, and a code generator to associate a function data structure with the matrix function call exhibiting the operational pattern, the function data structure stored external to the matrix function library, and facilitate a runtime link between the function data structure and the matrix function call.
    Type: Application
    Filed: June 25, 2015
    Publication date: December 29, 2016
    Inventors: Hongbo Rong, Jong Soo Park, Mikhail Smelyanskiy, Geoff Lowney
  • 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: 20160188337
    Abstract: Methods and apparatuses relating to a prefetch instruction to prefetch a multidimensional block of elements from a multidimensional array into a cache. In one embodiment, a hardware processor includes a decoder to decode a prefetch instruction to prefetch a multidimensional block of elements from a multidimensional array into a cache, wherein at least one operand of the prefetch instruction is to indicate a system memory address of an element of the multidimensional block of elements, a stride of the multidimensional block of elements, and boundaries of the multidimensional block of elements, and an execution unit to execute the prefetch instruction to generate system memory addresses of the other elements of the multidimensional block of elements, and load the multidimensional block of elements into the cache from the system memory addresses.
    Type: Application
    Filed: December 27, 2014
    Publication date: June 30, 2016
    Inventors: VICTOR LEE, Mikhail Smelyanskiy, Alexander Heinecke
  • Publication number: 20160179540
    Abstract: A processor includes a front end with a decoder with logic to identify a calculation instruction associated with a vector read. The processor also includes an execution unit with logic to issue a request for an address, the request to be implemented with the vector read. The processor further includes a cache and an alignment unit with logic to determine that the address is unaligned with the vector read, and to, based upon the determination that the address is unaligned with the vector read, determine whether to select successive cachelines from the cache or from an alignment buffer, the cacheline to include the address.
    Type: Application
    Filed: December 23, 2014
    Publication date: June 23, 2016
    Inventor: Mikhail Smelyanskiy
  • 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: 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
  • Patent number: 9076254
    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: Grant
    Filed: October 16, 2013
    Date of Patent: July 7, 2015
    Assignee: Intel Corporation
    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
  • Publication number: 20140176590
    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: October 16, 2013
    Publication date: June 26, 2014
    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
  • Patent number: 8688957
    Abstract: A system and method are configured to detect conflicts when converting scalar processes to parallel processes (“SIMDifying”). Conflicts may be detected for an unordered single index, an ordered single index and/or ordered pairs of indices. Conflicts may be further detected for read-after-write dependencies. Conflict detection is configured to identify operations (i.e., iterations) in a sequence of iterations that may not be done in parallel.
    Type: Grant
    Filed: December 21, 2010
    Date of Patent: April 1, 2014
    Assignee: Intel Corporation
    Inventors: Mikhail Smelyanskiy, Yen-Kuang Chen, Daehyun Kim, Christopher J. Hughes, Victor W. Lee
  • Publication number: 20140068226
    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: Application
    Filed: March 12, 2013
    Publication date: March 6, 2014
    Inventors: MIKHAIL SMELYANSKIY, VICTOR LEE, CHRISTOPHER HUGHES, DAEHYUN KIM, YEN-KUANG CHEN, CHANGKYU KIM, JATIN CHHUGANI, ANTHONY D. NGUYEN, SANJEEV KUMAR
  • Patent number: 8570336
    Abstract: A texture unit may be used utilized 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: Grant
    Filed: December 8, 2009
    Date of Patent: October 29, 2013
    Assignee: Intel Corporation
    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
  • Patent number: 8564601
    Abstract: Parallel and vectored data structures may be used in a single instruction multiple data processor that applies the Gilbert-Johnson-Keerthi algorithm. As a result, the performance of multi-core processors doing graphics processing may be increased in some cases.
    Type: Grant
    Filed: December 23, 2009
    Date of Patent: October 22, 2013
    Assignee: Intel Corporation
    Inventors: Aleksey A. Bader, Mikhail Smelyanskiy, Jatin Chhugani
  • Publication number: 20120159130
    Abstract: A system and method are configured to detect conflicts when converting scalar processes to parallel processes (“SIMDifying”). Conflicts may be detected for an unordered single index, an ordered single index and/or ordered pairs of indices. Conflicts may be further detected for read-after-write dependencies. Conflict detection is configured to identify operations (i.e., iterations) in a sequence of iterations that may not be done in parallel.
    Type: Application
    Filed: December 21, 2010
    Publication date: June 21, 2012
    Inventors: Mikhail Smelyanskiy, Yen-Kuang Chen, Daehyun Kim, Christopher J. Hughes, Victor W. Lee
  • Publication number: 20110148896
    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: Application
    Filed: December 23, 2009
    Publication date: June 23, 2011
    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: 20110153996
    Abstract: Parallel and vectored data structures may be used in a single instruction multiple data processor that applies the Gilbert-Johnson-Keerthi algorithm. As a result, the performance of multi-core processors doing graphics processing may be increased in some cases.
    Type: Application
    Filed: December 23, 2009
    Publication date: June 23, 2011
    Inventors: Aleksey A. Bader, Mikhail Smelyanskiy, Jatin Chhugani
  • Publication number: 20110134137
    Abstract: A texture unit may be used utilized 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: December 8, 2009
    Publication date: June 9, 2011
    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
  • Publication number: 20110025700
    Abstract: An interpolation unit, such as may be found in a texture unit or texture sampler, may be used utilized 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 an interpolation unit. The interpolation unit may use linear interpolators in order to perform the dot product calculations.
    Type: Application
    Filed: July 30, 2009
    Publication date: February 3, 2011
    Inventors: Victor W. Lee, Mikhail Smelyanskiy, Yen-Kuang Chen, Jatin Chhugani, Jose Gonzalez, Changkyu Kim, Ganesh S. Dasika