High-Performance Graphics in Racket with DirectX

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10393)

Abstract

Nowadays, modern computer systems rely heavily on parallel processing, and not only because of the multicore CPUs bundled with any machine, even mobile devices, but more and more thanks to the parallel processing capacities of graphics processing units (GPU), general-purpose computing on graphics processing units (GPGPU) being one example. In this paper, relying on the DirectX 12 framework, we propose an innovative approach to enable parallel processing for graphical rendering on both the CPU and GPU for the popular Racket functional programming language (formerly PLT Scheme), and importantly without compromising Racket’s usability and programmer-friendliness. Our performance evaluations show significant improvements with respect to execution time (\(\times 3\) speed-up in some cases), CPU utilisation time (reduced by as much as 80% in some scenarios) and the frame rate when using moving graphics.

Keywords

GPU Parallel processing Functional Programming Scheme 

References

  1. 1.
    Nvidia, GeForce GTX 1080 user guide (2016)Google Scholar
  2. 2.
    Luna, F.: 3D game programming with DirectX 12 (Chapter 4). Mercury Learning and Information, Dulles (2016)Google Scholar
  3. 3.
    Flatt, M.: Creating languages in Racket. Comm. ACM 55(1), 48–56 (2012)CrossRefGoogle Scholar
  4. 4.
    Box, D.: Essential COM. Addison-Wesley Professional, Boston (1998)MATHGoogle Scholar
  5. 5.
    Sheeparamatti, R.B., Sheeparamatti, B.G., Bharamagoudar, M., Ambali, N.: Simulink model for double buffering. In: Proceedings of the 32nd Conference on IEEE Industrial Electronics, pp. 4593–4597. Paris (2006)Google Scholar
  6. 6.
    Rupp, K.: CPU, GPU and MIC Hardware Characteristics over Time (2013–2016). https://www.karlrupp.net/2013/06/cpu-gpu-and-mic-hardware-characteristics-over-time/. Accessed 29 June 2017
  7. 7.
    Hindriksen, V.: Processors that can do 20+ GFLOPS per Watt (2012). https://streamcomputing.eu/blog/2012-08-27/processors-that-can-do-20-gflops-watt/. Accessed 29 June 2017
  8. 8.
    Feng, W.-C., Cameron, K.: The green500 list: Encouraging sustainable supercomputing. Computer 40(12), 50–55 (2007)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Graduate School of ScienceKanagawa UniversityHiratsukaJapan

Personalised recommendations