Problem-oriented program generators

Igor Sesin, Roman Bolbakov

Abstract


GPGPU (General Purpose computing for Graphical Processing Units) technology allows one to harness the computational power of a GPU (Graphical Processing Unit) and apply it to practically any computationally-intensive task benefiting from parallelization.

Software relying on GPGPU inevitably runs in performance problems as the complexity of the program grows and new functionality is introduced. This paper proposes a method to alleviate that particular issue, improving overall GPU program performance. Proposed method entails the creation of problem-oriented programs from the code of the original program.

A concept of problem-oriented program is introduced, and the key parts differentiating them from original programs are discussed. The preferable degree of program’s specialization is covered.

Various aspects of practical application of this approach are presented. Comparison with existing methods for enhancing the software performance is made, presenting the similarities and differences between proposed approach and said methods, as well their general applicability on GPU.


Full Text:

PDF (Russian)

References


Mike Houston, General Purpose Computation on Graphics Processors (GPGPU), ATI HD 2000 Series Launch, Tunis, Tunisia (2007) URL: https://graphics.stanford.edu/~mhouston/public_talks/R520-mhouston.pdf (Data obrashhenija: 30.03.2021)

Kim, H., Vuduc, R., Baghsorkhi, S., Choi, J., & Hwu, W. M. (2012). Performance analysis and tuning for general purpose graphics processing units (GPGPU). Synthesis Lectures on Computer Architecture, 7(2), 1-96. URL: https://core.ac.uk/download/pdf/205695507.pdf (Data obrashhenija: 30.03.2021)

Flynn M. J. Very high speed computers // Proc IEEE, 1966, 54. — P. 1901—1901.

Joseph A. Fisher, Paolo Faraboschi, Cliff Young. Embedded Computing - A VLIW Approach to Architecture, Compilers, and Tools. 2004.

Aho, Alfred V., Ravi Sethi, and Jeffrey D. Ullman. "Compilers, principles, techniques." Addison wesley 7.8 (1986): 9.

Kajiya, J. T. (1986, August). The rendering equation. In Proceedings of the 13th annual conference on Computer graphics and interactive techniques (pp. 143-150).

Lafortune, E, Mathematical Models and Monte Carlo Algorithms for Physically Based Rendering, (PhD thesis), 1996.

Sesin, I.Ju. Vybor generatora psevdosluchajnyh chisel dlja ispol'zovanija v renderige metodom trassirovki puti / Sesin I.Ju., Nechaev V.V. — INJOIT, v. 5, # 8 (2017)

Stallman, Richard M., and Zachary Weinberg. "The C preprocessor." Free Software Foundation (1987). URL: https://scicomp.ethz.ch/public/manual/gcc/6.3.0/cpp.pdf (Data obrashhenija: 30.03.2021)

Aycock, J. (June 2003). "A brief history of just-in-time". ACM Computing Surveys. 35 (2): 97–113. CiteSeerX 10.1.1.97.3985. doi:10.1145/857076.857077 URL: https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.97.3985 (Data obrashhenija: 10.03.2021)

Croce, Louis. "Just in Time Compilation". Columbia University. URL: http://www.cs.columbia.edu/~aho/cs6998/Lectures/14-09-22_Croce_JIT.pdf (Data obrashhenija: 10.03.2021)

De Groef, W., Nikiforakis, N., Younan, Y., & Piessens, F. (2010). Jitsec: Just-in-time security for code injection attacks. In Benelux Workshop on Information and System Security (WISSEC 2010), Date: 2010/11/29-2010/11/30, Location: Nijmegen, The Netherlands. URL: https://lirias.kuleuven.be/retrieve/132387 (Data obrashhenija: 30.03.2021)

Rohlf, C., & Ivnitskiy, Y. (2011). Attacking clientside JIT compilers. Black Hat USA. URL: https://paper.bobylive.com/Meeting_Papers/BlackHat/USA-2011/BH_US_11_RohlfIvnitskiy_Attacking_Client_Side_JIT_Compilers_WP.pdf (Data obrashhenija: 30.03.2021)

A. Riazanov. Implementing an Efficient Theorem Prover// PhD thesis, The University of Manchester, 2003. URL: https://www.researchgate.net/publication/2906405_Implementing_an_Efficient_Theorem_Prover (Data obrashhenija: 10.03.2021)


Refbacks

  • There are currently no refbacks.


Abava  Absolutech Convergent 2020

ISSN: 2307-8162