Program structure-based blocking
Abstract
Embodiments relate to program structure-based blocking. An aspect includes receiving source code corresponding to a computer program by a compiler of a computer system. Another aspect includes determining a prefetching section in the source code by a marking module of the compiler. Yet another aspect includes performing, by a blocking module of the compiler, blocking of instructions located in the prefetching section into instruction blocks, such that the instruction blocks of the prefetching section only contain instructions that are located in the prefetching section.
- Inventors:
- Issue Date:
- Research Org.:
- International Business Machines Corp., Armonk, NY (United States)
- Sponsoring Org.:
- USDOE
- OSTI Identifier:
- 1399244
- Patent Number(s):
- 9772824
- Application Number:
- 14/668,108
- Assignee:
- INTERNATIONAL BUSINESS MACHINES CORPORATION
- Patent Classifications (CPCs):
-
G - PHYSICS G06 - COMPUTING G06F - ELECTRIC DIGITAL DATA PROCESSING
- DOE Contract Number:
- B599858
- Resource Type:
- Patent
- Resource Relation:
- Patent File Date: 2015 Mar 25
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 97 MATHEMATICS AND COMPUTING
Citation Formats
Bertolli, Carlo, Eichenberger, Alexandre E., O'Brien, John K., and Sura, Zehra N. Program structure-based blocking. United States: N. p., 2017.
Web.
Bertolli, Carlo, Eichenberger, Alexandre E., O'Brien, John K., & Sura, Zehra N. Program structure-based blocking. United States.
Bertolli, Carlo, Eichenberger, Alexandre E., O'Brien, John K., and Sura, Zehra N. Tue .
"Program structure-based blocking". United States. https://www.osti.gov/servlets/purl/1399244.
@article{osti_1399244,
title = {Program structure-based blocking},
author = {Bertolli, Carlo and Eichenberger, Alexandre E. and O'Brien, John K. and Sura, Zehra N.},
abstractNote = {Embodiments relate to program structure-based blocking. An aspect includes receiving source code corresponding to a computer program by a compiler of a computer system. Another aspect includes determining a prefetching section in the source code by a marking module of the compiler. Yet another aspect includes performing, by a blocking module of the compiler, blocking of instructions located in the prefetching section into instruction blocks, such that the instruction blocks of the prefetching section only contain instructions that are located in the prefetching section.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2017},
month = {9}
}
Works referenced in this record:
Byte-compare operation for high-performance processor
patent, October 1996
- Sites, Richard L.; Witek, Richard T.
- US Patent Document 5,568,624
Instruction cache system for implementing programs having non-sequential instructions and method of implementing same
patent, December 1997
- Chi, Chi-Hung
- US Patent Document 5,701,435
Branch performance in high speed processor
patent, December 2000
- Sites, Richard L.; Witek, Richard T.
- US Patent Document 6,167,509
Multiple execution of instruction loops within a processor without accessing program memory
patent, October 2005
- Wojcieszak, Laurent; Cofler, Andrew
- US Patent Document 6,959,379
Method and apparatus for multicast multiple prefetch
patent, October 2007
- Jair, Hsinlun; Lo, Kaiwen
- US Patent Document 7,286,548
Fine-grained software-directed data prefetching using integrated high-level and low-level code analysis optimizations
patent, February 2010
- Archambault, Roch G.; Blainey, Robert J.; Gao, Yaoqing
- US Patent Document 7,669,194
Fine-grained software-directed data prefetching using integrated high-level and low-level code analysis optimizations
patent, April 2013
- Archambault, Roch G.; Blainey, Robert J.; Gao, Yaoqing
- US Patent Document 8,413,127
Adaptive instruction prefetching and fetching memory system apparatus and method for microprocessor system
patent, July 2015
- Jung, Yong-Kyu
- US Patent Document 9,092,236
Method and system of memory management using stack walking
patent-application, March 2002
- Charnell, William; Plummer, Wayne; Darnell, Stephen
- US Patent Application 09/859161; 20020029357
Method and apparatus for inserting prefetch instructions in an optimizing compiler
patent-application, May 2003
- Tirumalai, Partha; Kalogeropulos, Spiros; Rajagopalan, Mahadevan
- US Patent Application 10/052999; 20030088864
Program-directed cache prefetching for media processors
patent-application, August 2003
- Berg, Stefan; Kim, Donglok; Kim, Yongmin
- US Patent Application 10/056247; 20030154349
Signal processor, prefetch instruction method and prefetch instruction program
patent-application, September 2004
- Azuma, Tetsuhiko
- US Patent Application 10/453723; 20040181655
Predictively processing tasks for building software
patent-application, December 2004
- Bertelrud, P.; Goldstein, Theodore
- US Patent Application 10/660353; 20040261055
Program conversion device and program conversion method
patent-application, November 2006
- Kawabata, Teruo; Ogawa, Hajime; Heishi, Taketo
- US Patent Application 10/565530; 20060248520
Prefetching Irregular Data References for Software Controlled Caches
patent-application, October 2009
- Chen, Tong; Gonzalez tallada, Marc; Sura, Zehra
- US Patent Application 12/062579; 20090254895
Fast and Low-RAM-Footprint Indexing for Data Deduplication
patent-application, November 2011
- Sengupta, Sudipta; Debnath, Biplob; Li, Jin
- US Patent Application 12/979669; 20110276781
Collision-based alternate hashing
patent-application, December 2013
- Alexander, Khary; Averbouch, Ilia; Birnbaum, Ariel
- US Patent Application 13/524139; 20130339665
Multi-core processors
patent-application, January 2014
- Vajda, Andras; Stenstrom, Per
- US Patent Application 14/110140; 20140033217
Optimization of instruction groups across group boundaries
patent-application, January 2015
- Gschwind, Michael
- US Patent Application 14/135769; 20150006867
Generating and caching software code
patent-application, November 2015
- Fisher, Jomo; Jackson, Michael; Kilic, Yunus
- US Patent Application 14/801488; 20150324183
Automated adaptive compiler optimization
patent-application, March 2016
- Kalogeropulos, Spiros; Tirumalai, Partha
- US Patent Application 14/492743; 20160085528
Design and evaluation of a compiler algorithm for prefetching
conference, September 1992
- Mowry, Todd C.; Lam, Monica S.; Gupta, Anoop
- ASPLOS V Proceedings of the fifth international conference on Architectural support for programming languages and operating systems, Vol. 27, Issue 9, p. 62-73
An architecture for software-controlled data prefetching
conference, May 1991
- Klaiber, Alexander C.; Levy, Henry M.
- ISCA '91 Proceedings of the 18th annual international symposium on Computer architecture, Vol. 19, Issue 3, p. 43-53
Impulse: building a smarter memory controller
conference, August 2002
- Carter, J.; Hsieh, W.; Stoller, L.
- Proceedings Fifth International Symposium on High-Performance Computer Architecture
Prefetching and memory system behavior of the SPEC95 benchmark suite
journal, May 1997
- Charney, M. J.; Puzak, T. R.
- IBM Journal of Research and Development, Vol. 41, Issue 3, p. 265-286
Making pointer-based data structures cache conscious
journal, January 2000
- Larus, J. R.; Hill, M. D.; Chilimbi, T. M.
- Computer, Vol. 33, Issue 12, p. 67-74
Comparing memory systems for chip multiprocessors
conference, May 2007
- Leverich, Jacob; Arakida, Hideho; Solomatnikov, Alex
- ISCA '07 Proceedings of the 34th annual international symposium on Computer architecture, Vol. 35, Issue 2, p. 358-368