Thread serialization, distributed parallel programming, and runtime extensions of parallel computing platform

Uloženo v:
Podrobná bibliografie
Název: Thread serialization, distributed parallel programming, and runtime extensions of parallel computing platform
Patent Number: 10719,902
Datum vydání: July 21, 2020
Appl. No: 15/488842
Application Filed: April 17, 2017
Abstrakt: Systems, apparatuses, and methods may provide for technology to process graphical data, and to modify a runtime environment in a parallel computing platform for a graphic environment.
Inventors: Intel Corporation (Santa Clara, CA, US)
Assignees: Intel Corporation (Santa Clara, CA, US)
Claim: 1. A graphics processing system, comprising: a display to visually present a rendering graphical image; a memory to store a set of instructions; and a semiconductor package apparatus operatively coupled to the memory and the display, the semiconductor package apparatus including: a substrate, a host processor operatively coupled to the memory and the substrate, wherein when executed by the host processor, the set of instructions cause the host processor to execute a multi-threaded graphics platform, and a host graphics processor operatively coupled to the substrate, wherein the host graphics processor includes logic to: detect, in parallel to executing a plurality of threads of the multi-threaded graphics platform, a presence of one or more remote graphics processors on a shared computer network, by dynamically detecting a spatial proximity of the one or more remote graphics processors relative to the host graphics processor; dynamically enable, in response to detecting the presence, one or more of the detected remote graphics processors to conduct parallel runtime execution of a portion of the threads based on the detected spatial proximity.
Claim: 2. The graphics processing system of claim 1 , wherein enabling the one or more detected remote graphics processors comprises dynamically distributing, via the shared computer network, a portion of the plurality of threads to the one or more enabled remote graphics processors for the parallel runtime execution thereof.
Claim: 3. The graphics processing system of claim 1 , wherein enabling the one or more detected remote graphics processors comprises permitting the one or more enabled remote graphics processors access, via the shared computer network, to the portion of the plurality of threads for the parallel runtime execution thereof.
Claim: 4. The graphics processing system of claim 1 , wherein the host graphics processor includes logic to: receive, via the shared computer network, computational work from the one or more enabled remote graphics processors; and aggregate, in response to receiving the computational work from the one or more enabled remote graphics processors, computational work performed by the host graphics processor and the computational work performed by the one or more enabled remote graphics processors to produce a rendered graphical image.
Claim: 5. The graphics processing system of claim 1 , wherein the logic is to dynamically remove the one or more enabled remote graphics processors from the parallel runtime execution of the portion of the threads by dynamically disabling the parallel runtime execution of the portion of the threads by the one or more enabled remote graphics processors.
Claim: 6. The graphics processing system of claim 1 , wherein detecting the presence of one or more remote graphics processors comprises transmitting, to the host processor, a signal representing a spatial proximity value.
Claim: 7. The graphics processing system of claim 6 , wherein the host processor, upon receipt of the transmitted signal, is to compare the detected spatial proximity value with a predetermined threshold spatial proximity value.
Claim: 8. The graphics processing system of claim 7 , wherein the host processor is to enable the one or more remote graphics processors to conduct the parallel runtime execution of the portion of the threads when the detected spatial proximity value is less than the predetermined threshold spatial proximity value.
Claim: 9. A semiconductor package apparatus, comprising: a substrate; logic coupled to the substrate, wherein the logic is at least partially implemented in one or more of configurable logic or fixed-functionality hardware logic, the logic to: detect, in parallel to executing a plurality of threads of a multi-threaded graphics platform, a presence of one or more remote graphics processors on a shared computer network, by dynamically detecting a spatial proximity of the one or more remote graphics processors relative to a host graphics processor; and enable, in response to detecting the presence, one or more of the detected remote graphics processors to conduct parallel runtime execution of a portion of the threads based on the detected spatial proximity.
Claim: 10. The semiconductor package apparatus of claim 9 , wherein enabling the one or more detected remote graphics processors comprises dynamically distributing, via the shared computer network, the portion of the plurality of threads to the one or more enabled remote graphics processors for the parallel runtime execution thereof.
Claim: 11. The semiconductor package apparatus of claim 9 , wherein enabling the one or more detected remote graphics processors comprises permitting the one or more enabled remote graphics processors access, via the shared computer network, to the portion of the plurality of threads for the parallel runtime execution thereof.
Claim: 12. The semiconductor package apparatus of claim 9 , wherein the logic is to: receive, via the shared computer network, computational work from the one or more enabled remote graphics processors; and aggregate, in response to receiving the computational work from the one or more enabled remote graphics processors, computational work performed by the host graphics processor and the computational work performed by the one or more enabled remote graphics processors to produce a rendered graphical image.
Claim: 13. The semiconductor package apparatus of claim 9 , wherein the logic is to remove the one or more enabled remote graphics processors from the parallel runtime execution of the portion of the threads by disabling the parallel runtime execution of the portion of the threads by the one or more enabled remote graphics processors.
Claim: 14. A method of processing a graphical image, comprising: detecting, in parallel to executing a plurality of threads of a multi-threaded graphics platform, a presence of one or more remote graphics processors on a shared computer network, wherein the detecting includes dynamically detecting a spatial proximity of the one or more remote graphics processors relative to a host graphics processor; and enabling, in response to detecting the presence, one or more of the detected remote graphics processors to conduct parallel runtime execution of a portion of the threads based on the detected spatial proximity.
Claim: 15. The method of claim 14 , wherein enabling the one or more detected remote graphics processors comprises dynamically distributing, via the shared computer network, the portion of the plurality of threads to the one or more enabled remote graphics processors for the parallel runtime execution thereof.
Claim: 16. The method of claim 15 , wherein enabling the one or more detected remote graphics processors comprises permitting the one or more enabled remote graphics processors access, via the shared computer network, to the portion of the plurality of threads for the parallel runtime execution thereof.
Claim: 17. The method of claim 15 , further comprising: receiving, via the shared computer network, computational work from the one or more enabled remote graphics processors; and aggregating, in response to receiving the computational work from the one or more enabled remote graphics processors, computational work performed by the host graphics processor and the computational work performed by the one or more enabled remote graphics processors to produce a rendered graphical image.
Claim: 18. The method of claim 15 , further comprising removing the one or more enabled remote graphics processors from the parallel runtime execution of the portion of the threads by dynamically disabling the parallel runtime execution of the portion of the threads by the one or more enabled remote graphics processors.
Claim: 19. At least one non-transitory computer readable medium, comprising a set of instructions, which when executed by a host graphics processor, cause the host graphics processor to: detect, in parallel to executing a plurality of threads of a multi-threaded graphics platform, a presence of one or more remote graphics processors on a shared computer network, by dynamically detecting a spatial proximity of the one or more remote graphics processors relative to the host graphics processor; enable, in response to detecting the presence, one or more of the detected remote graphics processors to conduct parallel runtime execution of a portion of the threads based on the detected spatial proximity.
Claim: 20. The at least one non-transitory computer readable medium of claim 19 , wherein enabling the one or more detected remote graphics processors comprises dynamically distributing, via the shared computer network, a portion of the plurality of threads to the one or more enabled remote graphics processors for the parallel runtime execution thereof.
Claim: 21. The at least one non-transitory computer readable medium of claim 19 , wherein enabling the one or more detected remote graphics processors comprises permitting the one or more enabled remote graphics processors access, via the shared computer network, to the portion of the plurality of threads for the parallel runtime execution thereof.
Claim: 22. The at least one non-transitory computer readable medium of claim 19 , wherein the host graphics processor includes logic to: receive, via the shared computer network, computational work from the one or more enabled remote graphics processors; and aggregate, in response to receiving the computational work from the one or more enabled remote graphics processors, computational work performed by the host graphics processor and the computational work performed by the one or more enabled remote graphics processors to produce a rendered graphical image.
Claim: 23. The at least one non-transitory computer readable medium of claim 19 , wherein the host graphics processor is to remove one or more of the enabled remote graphics processors from the parallel runtime execution of the portion of the threads by dynamically disabling the parallel runtime execution of the portion of the threads by the one or more enabled remote graphics processors.
Patent References Cited: 7475397 January 2009 Garthwaite
7586483 September 2009 Sams
7650602 January 2010 Amamiya
7969444 June 2011 Biermann
8527988 September 2013 Rhine
9129443 September 2015 Gruen et al.
9165399 October 2015 Uralsky et al.
9177413 November 2015 Tatarinov et al.
9241146 January 2016 Neill
9262797 February 2016 Minkin et al.
9342857 May 2016 Kubisch et al.
9355483 May 2016 Lum et al.
9437040 September 2016 Lum et al.
9766938 September 2017 Munshi
2006/0020701 January 2006 Parekh
2006/0250387 November 2006 Alcorn
2009/0006520 January 2009 Abib
2009/0135180 May 2009 Li
2009/0328017 December 2009 Larsen
2010/0169895 July 2010 Dice
2010/0211371 August 2010 Kim
2011/0035736 February 2011 Stefansson
2011/0087815 April 2011 Kruglick
2011/0227934 September 2011 Sharp
2011/0283086 November 2011 Mejdrich
2012/0075319 March 2012 Dally
2012/0192198 July 2012 Becchi
2013/0038618 February 2013 Urbach
2013/0055072 February 2013 Arnold
2013/0113803 May 2013 Bakedash et al.
2014/0118351 May 2014 Uralsky et al.
2014/0125650 May 2014 Neill
2014/0168035 June 2014 Luebke et al.
2014/0168242 June 2014 Kubisch et al.
2014/0168783 June 2014 Luebke et al.
2014/0218390 August 2014 Rouet et al.
2014/0253555 September 2014 Lum et al.
2014/0267238 September 2014 Lum et al.
2014/0267315 September 2014 Minkin et al.
2014/0292771 October 2014 Kubisch et al.
2014/0327690 November 2014 McGuire
2014/0347359 November 2014 Gruen et al.
2014/0354675 December 2014 Lottes
2015/0002508 January 2015 Tatarinov et al.
2015/0009306 January 2015 Moore
2015/0022537 January 2015 Lum et al.
2015/0049104 February 2015 Lum et al.
2015/0130915 May 2015 More et al.
2015/0138065 May 2015 Alfierri
2015/0138228 May 2015 Lum et al.
2015/0170408 June 2015 He et al.
2015/0170409 June 2015 He et al.
2015/0187129 July 2015 Sloan
2015/0194128 July 2015 Hicok
2015/0199787 July 2015 Pechanec et al.
2015/0264299 September 2015 Leech et al.
2015/0317827 November 2015 Crassin et al.
2016/0048999 February 2016 Patney et al.
2016/0049000 February 2016 Patney et al.
2016/0071242 March 2016 Uralsky et al.
2016/0071246 March 2016 Uralsky et al.
2016/0292810 October 2016 Fine
2017/0024316 January 2017 Park
2017/0024924 January 2017 Wald et al.
2017/0256018 September 2017 Gandhi
2017/0277460 September 2017 Li
2018/0165131 June 2018 O'Hare


Other References: Nicholas Wilt, “The CUDA Handbook: A Comprehensive Guide to GPU Programming”, 522 pages, Jun. 2013, Addison-Wesley, USA. cited by applicant
Shane Cook, “CUDA Programming: A Developer's Guide to Parallel Computing with GPUs”, 591 pages, 2013, Elsevier, USA. cited by applicant
European Search Report for EP Patent Application No. 18167860.8, dated Sep. 12, 2018, 8 pages. cited by applicant
Primary Examiner: Nguyen, Phong X
Attorney, Agent or Firm: Jordan IP Law, LLC
Přístupové číslo: edspgr.10719902
Databáze: USPTO Patent Grants
Popis
Abstrakt:Systems, apparatuses, and methods may provide for technology to process graphical data, and to modify a runtime environment in a parallel computing platform for a graphic environment.