Patents by Inventor Konstantin Levit-Gurevich

Konstantin Levit-Gurevich 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: 20230418613
    Abstract: Embodiments are disclosed for inserting profiling instructions into graphics processing unit (GPU) kernels. An example apparatus includes instructions, and at least one processor to execute the instructions to determine whether a GPU supports modification of entry point addresses, detect a first entry point address and a second entry point address of an original GPU kernel, create a corresponding instrumented GPU kernel from the original GPU kernel based on the determination by inserting at least one of first profiling initialization instructions or first jump instructions at the first entry point address of the instrumented GPU kernel, inserting at least one of second profiling initialization instructions or second jump instructions at the second entry point address of the instrumented GPU kernel, and inserting profiling measurement instructions into the instrumented GPU kernel.
    Type: Application
    Filed: September 7, 2023
    Publication date: December 28, 2023
    Inventors: Konstantin Levit-Gurevich, Orr Goldman
  • Patent number: 11775304
    Abstract: Embodiments are disclosed for inserting profiling instructions into graphics processing unit (GPU) kernels. An example apparatus includes instructions, and at least one processor to execute the instructions to determine whether a GPU supports modification of entry point addresses, detect a first entry point address and a second entry point address of an original GPU kernel, create a corresponding instrumented GPU kernel from the original GPU kernel based on the determination by inserting at least one of first profiling initialization instructions or first jump instructions at the first entry point address of the instrumented GPU kernel, inserting at least one of second profiling initialization instructions or second jump instructions at the second entry point address of the instrumented GPU kernel, and inserting profiling measurement instructions into the instrumented GPU kernel.
    Type: Grant
    Filed: June 25, 2021
    Date of Patent: October 3, 2023
    Assignee: INTEL CORPORATION
    Inventors: Konstantin Levit-Gurevich, Orr Goldman
  • Publication number: 20230281104
    Abstract: Disclosed examples include generating instrumented code by inserting profiling instructions at insertion points in code; outputting the instrumented code for execution by second programmable circuitry; and accessing profiling data generated by the second programmable circuitry based on the instrumented code.
    Type: Application
    Filed: May 12, 2023
    Publication date: September 7, 2023
    Inventors: Konstantin Levit-Gurevich, Aleksey Alekseev, Michael Berezalsky, Sion Berkowits, Julia Fedorova, Anton V. Gorshkov, Sunpyo Hong, Noam Itzhaki, Arik Narkis
  • Patent number: 11694299
    Abstract: Embodiments are disclosed for emulation of graphics processing unit instructions. An example method executing an instrumented kernel using a logic circuit, the instrumented kernel including an emulation sequence; saving, in response to determination that the emulation sequence is to be executed, source data to a shared memory; setting an emulation request flag to indicate to processor circuitry separate from the logic circuit that offloaded execution of the emulation sequence is to be executed; monitoring the emulation request flag to determine whether the offloaded execution of the emulation sequence is complete; and accessing resulting data from the shared memory.
    Type: Grant
    Filed: September 24, 2021
    Date of Patent: July 4, 2023
    Assignee: INTEL CORPORATION
    Inventors: Konstantin Levit-Gurevich, Michael Berezalsky, Noam Itzhaki, Arik Narkis, Orr Goldman
  • Patent number: 11650902
    Abstract: Disclosed examples to perform instruction-level graphics processing unit (GPU) profiling based on binary instrumentation include: accessing, via a GPU driver executed by a processor, binary code generated by a GPU compiler based on application programming interface (API)-based code provided by an application; accessing, via the GPU driver executed by the processor, instrumented binary code, the instrumented binary code generated by a binary instrumentation module that inserts profiling instructions in the binary code based on an instrumentation schema provided by a profiling application; and providing, via the GPU driver executed by the processor, the instrumented binary code from the GPU driver to a GPU, the instrumented binary code structured to cause the GPU to collect and store profiling data in a memory based on the profiling instructions while executing the instrumented binary code.
    Type: Grant
    Filed: November 8, 2017
    Date of Patent: May 16, 2023
    Assignee: Intel Corporation
    Inventors: Konstantin Levit-Gurevich, Aleksey Alekseev, Michael Berezalsky, Sion Berkowits, Julia Fedorova, Anton V. Gorshkov, Sunpyo Hong, Noam Itzhaki, Arik Narkis
  • Publication number: 20230109752
    Abstract: At least one computer-readable storage medium comprising instructions for execution by at least one graphics processing unit (GPU) that, when executed, cause the at least one GPU to: obtain program code for tracing, the program code including a plurality of instructions; identify from the plurality of instructions of the program code events to be synchronized; instrument the program code corresponding to one or more of the events identified, by inserting instructions that support monitoring code; execute the instrumented program code on at least a plurality of hardware threads of the GPU and generate trace data; replay the identified events according to an order of occurrence of the events identified; and report a GPU state indicating a utilization of the GPU based; and wherein to report the GPU state includes to indicate when the GPU executes non-graphics related tasks.
    Type: Application
    Filed: December 9, 2022
    Publication date: April 13, 2023
    Applicant: Intel Corporation
    Inventor: Konstantin Levit-Gurevich
  • Publication number: 20230104199
    Abstract: An apparatus and method for improving ray tracing efficiency. For example, one embodiment of an apparatus comprises: An apparatus comprising: a binary instrumentation engine to perform binary instrumentation of ray tracing shaders and to trace execution of the ray tracing shaders to generate execution metrics; call graph construction logic to construct a shader call graph based on the execution metrics; shader source mapping logic to map the shader call graph to shader source code to generate a source code map; efficiency analysis logic to determine inefficiencies in ray tracing shader execution based on the source code map; and optimization logic to identify optimization actions based on the inefficiencies.
    Type: Application
    Filed: September 25, 2021
    Publication date: April 6, 2023
    Inventors: STANISLAV VOLKOV, SCOTT PILLOW, JOSHUA BARCZAK, KONSTANTIN LEVIT-GUREVICH, IGOR SURMIN
  • 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
  • Publication number: 20220100512
    Abstract: A deterministic replay of a multi-threaded trace on a multi-threaded processor is described. An example of a computer-readable storage medium includes instructions to cause at least one processor to receive graphics processing unit (GPU) program code for tracing, the program code including a plurality of instructions; analyze the plurality of instructions to identify instructions of the program code that are events requiring synchronization; instrument each of the identified events to generate instrumented program code; execute the instrumented program code on a plurality of hardware threads of the GPU to generate trace data; and emulate the trace data utilizing an emulator on a plurality of hardware traces of a central processing unit (CPU), including replaying the identified events according to an order of occurrence of the identified events.
    Type: Application
    Filed: December 10, 2021
    Publication date: March 31, 2022
    Applicant: Intel Corporation
    Inventors: Konstantin Levit-Gurevich, Alexander Skaletsky
  • Publication number: 20220012844
    Abstract: Embodiments are disclosed for emulation of graphics processing unit instructions. An example method executing an instrumented kernel using a logic circuit, the instrumented kernel including an emulation sequence; saving, in response to determination that the emulation sequence is to be executed, source data to a shared memory; setting an emulation request flag to indicate to processor circuitry separate from the logic circuit that offloaded execution of the emulation sequence is to be executed; monitoring the emulation request flag to determine whether the offloaded execution of the emulation sequence is complete; and accessing resulting data from the shared memory.
    Type: Application
    Filed: September 24, 2021
    Publication date: January 13, 2022
    Inventors: Konstantin Levit-Gurevich, Michael Berezalsky, Noam Itzhaki, Arik Narkis, Orr Goldman
  • Publication number: 20210326140
    Abstract: Embodiments are disclosed for inserting profiling instructions into graphics processing unit (GPU) kernels. An example apparatus includes instructions, and at least one processor to execute the instructions to determine whether a GPU supports modification of entry point addresses, detect a first entry point address and a second entry point address of an original GPU kernel, create a corresponding instrumented GPU kernel from the original GPU kernel based on the determination by inserting at least one of first profiling initialization instructions or first jump instructions at the first entry point address of the instrumented GPU kernel, inserting at least one of second profiling initialization instructions or second jump instructions at the second entry point address of the instrumented GPU kernel, and inserting profiling measurement instructions into the instrumented GPU kernel.
    Type: Application
    Filed: June 25, 2021
    Publication date: October 21, 2021
    Inventors: Konstantin Levit-Gurevich, Orr Goldman
  • Patent number: 11132761
    Abstract: Embodiments are disclosed for emulation of graphics processing unit instructions. An example apparatus includes a kernel accessor to access an instruction of an original GPU kernel, the original GPU kernel intended to be executed at a first GPU. An instruction support determiner is to determine whether execution of the instruction is supported by a second GPU different from the first GPU. An instruction modifier is to, in response to determining that the execution of the instruction is not supported by the second GPU, create an instrumented GPU kernel based on the original GPU kernel. The instrumented GPU kernel includes an emulation sequence. The emulation sequence is to, when executed by the second GPU, cause the second GPU to emulate execution of the instruction by the first GPU.
    Type: Grant
    Filed: February 6, 2020
    Date of Patent: September 28, 2021
    Assignee: INTEL CORPORATION
    Inventors: Konstantin Levit-Gurevich, Michael Berezalsky, Noam Itzhaki, Arik Narkis, Orr Goldman
  • Patent number: 11120521
    Abstract: Techniques and apparatus for profiling graphics processing unit (GPU) processes using binary instrumentation are described. In one embodiment, for example, an apparatus may include at least one memory comprising instructions and a processor coupled to the at least one memory. The processor may execute the instructions to implement a profiling process to profile a graphics processing unit (GPU) application being executed via a GPU, the profiling process to perform an instrumentation phase to determine an operating process being executed via the GPU and to generate instrumented binary code for the operating process, perform an execution phase to collect profiling data for a command of the operating process, and perform a completion phase for a profiling application executed via the processor to read the profiling data. Other embodiments are described.
    Type: Grant
    Filed: December 28, 2018
    Date of Patent: September 14, 2021
    Assignee: INTEL CORPORATION
    Inventors: Orr Goldman, Konstantin Levit-Gurevich, Michael Berezalsky, Noam Itzhaki, Arik Narkis
  • Patent number: 11093366
    Abstract: Systems, methods, computer program products, and apparatuses to determine a count of trace records to be generated by each block of a plurality of blocks of an instrumented binary code to be executed on a graphics processor, each trace record to comprise a trace record type, the trace record types of a plurality of trace record types, determine a respective execution count for each of the plurality of blocks of the instrumented binary code to be executed on the graphics processor, and determine a respective size of each of a plurality of trace buffers to be allocated in memory based on the determined counts of trace records generated by each block and the execution count for each block, each trace buffer to store trace records of a respective one of the plurality of trace record types.
    Type: Grant
    Filed: August 28, 2019
    Date of Patent: August 17, 2021
    Assignee: INTEL CORPORATION
    Inventor: Konstantin Levit-Gurevich
  • Publication number: 20210225062
    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: Application
    Filed: April 6, 2021
    Publication date: July 22, 2021
    Applicant: Intel Corporation
    Inventors: Michael Apodaca, John Feit, David Cimini, Thomas Raoux, Konstantin Levit-Gurevich
  • Patent number: 11048514
    Abstract: Embodiments are disclosed for inserting profiling instructions into graphics processing unit (GPU) kernels. An example apparatus includes an entry point detector to detect a first entry point address and a second entry point address of an original GPU kernel, the first entry point address including a first entry point instruction, the second entry point address including a second entry point instruction. An instruction inserter is to create a corresponding instrumented GPU kernel from the original GPU kernel by inserting first profiling initialization instructions at a first address of the instrumented GPU kernel, the instruction inserter to insert profiling measurement instructions into the instrumented GPU kernel. An entry point adjuster is to adjust a list of entry points of the instrumented GPU kernel to replace the first entry point address with the first address and the second entry point address with the second address.
    Type: Grant
    Filed: June 10, 2020
    Date of Patent: June 29, 2021
    Assignee: Intel Corporation
    Inventors: Konstantin Levit-Gurevich, Orr Goldman
  • Publication number: 20210192674
    Abstract: Methods, apparatus, systems, and articles of manufacture are disclosed to improve operation of a graphics processing unit (GPU). An example apparatus includes an instruction generator to insert profiling instructions into a GPU kernel to generate an instrumented GPU kernel, the instrumented GPU kernel is to be executed by a GPU, a trace analyzer to generate an occupancy map associated with the GPU executing the instrumented GPU kernel, a parameter calculator to determine one or more operating parameters of the GPU based on the occupancy map, and a processor optimizer to invoke a GPU driver to adjust a workload of the GPU based on the one or more operating parameters.
    Type: Application
    Filed: November 12, 2020
    Publication date: June 24, 2021
    Inventors: Konstantin Levit-Gurevich, Michael Berezalsky, Noam Itzhaki, Arik Narkis, Orr Goldman
  • 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
  • Publication number: 20210117202
    Abstract: Methods, apparatus, systems and articles of manufacture are disclosed to generate a graphics processing unit (GPU) long instruction trace (GLIT). An example apparatus includes at least one memory, and at least one processor to execute instructions to at least identify a first routine based on an identifier of a second routine executed by the GPU, the first routine based on an emulation of the second routine, execute the first routine to determine a first value of a GPU state of the GPU, the first routine having (i) a first argument associated with the second routine and (ii) a second argument corresponding to a second value of the GPU state prior to executing the first routine, and control a workload of the GPU based on the first value of the GPU state.
    Type: Application
    Filed: December 3, 2020
    Publication date: April 22, 2021
    Inventor: Konstantin Levit-Gurevich
  • Patent number: 10949330
    Abstract: An embodiment of a semiconductor package apparatus may include technology to determine a size for a trace buffer based on instrumented code to be executed on a graphics processor, initialize the trace buffer in a shared memory based on the determined size, provide the instrumented code to the graphics processor to be executed, collect data in the trace buffer from the executed instrumented code, analyze the data collected in the trace buffer on a processor, and generate a trace of the instrumented code on the processor based on the analyzed data. Other embodiments are disclosed and claimed.
    Type: Grant
    Filed: March 8, 2019
    Date of Patent: March 16, 2021
    Assignee: Intel Corporation
    Inventor: Konstantin Levit-Gurevich