Dynamic tracer message logging based on bottleneck detection
US-2019108004-A1 · Apr 11, 2019 · US
US10540260B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10540260-B2 |
| Application number | US-201815903393-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 23, 2018 |
| Priority date | Feb 23, 2018 |
| Publication date | Jan 21, 2020 |
| Grant date | Jan 21, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In one example, an apparatus comprises processing circuitry to analyze a program at compile time to determine a set of latency parameters associated with instruction sets implemented to execute the program and select a latency management technique based at least in part on the set of latency parameters associated with instruction sets implemented to execute the program. Other examples may be described and claimed.
Opening claim text (preview).
What is claimed is: 1. An apparatus comprising: a general purpose graphic processor, comprising: an instruction cache to receive a stream of instructions generated by a graphics program; an instruction unit to execute the stream of instructions; a general-purpose graphics processing compute block comprising a plurality of graphics compute units; a plurality of registers coupled to the plurality of graphics processing compute units; a hardware unit to selectively enable the instruction unit to execute the stream of instructions out of order; and a processor communicatively coupled to the general purpose graphics processor to: select a first hardware thread count to be applied to the plurality of graphics compute units to execute the stream of instructions; analyze the graphics program to be executed on the general purpose graphics processor at compile time to determine a set of latency parameters associated with the execution of the stream of instructions at the first hardware thread count; select a latency management technique to be implemented by the general purpose graphics processor based at least in part on the set of latency parameters associated with instruction sets implemented to execute the program; determine the set of latency parameters associated with instruction sets implemented to execute the program at a current hardware thread count; determine a composite latency score for the program from the set of latency parameters at the current thread count; and compare the composite latency score at the current hardware thread count to a threshold. 2. The apparatus of claim 1 , the processor to: generate an instruction for the general purpose graphics processor to select a second hardware thread count, greater than the first hardware thread count. 3. The apparatus of claim 1 , the processor to: set the hardware thread count for execution of the program to the current hardware thread when the composite latency score falls beneath the threshold. 4. The apparatus of claim 1 , the processor to: generate an instruction for the general purpose graphics processor to enable out-of-order instruction scheduling for hardware executing the program. 5. An electronic device, comprising: a computer readable memory: a graphics processor comprising; an instruction cache to receive a stream of instructions generated by a graphics program; an instruction unit to execute the stream of instructions; a general-purpose graphics processing compute block comprising a plurality of graphics compute units; a plurality of registers coupled to the plurality of graphics processing compute units; a hardware unit to selectively enable the instruction unit to execute the stream of instructions out of order; and a processor communicatively coupled to the general purpose graphics processor to: select a first hardware thread count to be applied to the plurality of graphics compute units to execute the stream of instructions; analyze the graphics program to be executed on the general purpose graphics processor at compile time to determine a set of latency parameters associated with the execution of the stream of instructions at the first hardware thread count; and select a latency management technique to be implemented by the general purpose graphics processor based at least in part on the set of latency parameters associated with instruction sets implemented to execute the program: determine the set of latency parameters associated with instruction count; determine a composite latency score for the program from the set of latency parameters at the current thread count; and compare the composite latency score at the current hardware thread count to a threshold. 6. The electronic device of claim 5 further comprising processing circuitry to: generate an instruction for the general purpose graphics processor to select a second hardware thread count, greater than the first hardware thread count. 7. The electronic device of claim 6 the processor to: implement an alternate latency management technique in response to a determination that the program latency cannot be adequately addressed by adjusting a thread count allocated to the instruction sets implemented to execute the program. 8. The electronic device of claim 7 , the processor to: generate an instruction for the general purpose graphics processor to enable out-of-order instruction scheduling for hardware executing the program. 9. The electronic device of claim 5 , the processor to: set the hardware thread count for execution of the program to the current hardware thread when the composite latency score falls beneath the threshold.
Reducing the execution time required by the program code · CPC title
Register allocation; Assignment of physical memory space to logical memory space · CPC title
by tracing the execution of the program · CPC title
Processor architectures; Processor configuration, e.g. pipelining · CPC title
Software pipelining · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.