English

Bringing Together Dynamic Geometry Software and the Graphics Processing Unit

Mathematical Software 2018-08-15 v1 Distributed, Parallel, and Cluster Computing Symbolic Computation Algebraic Geometry

Abstract

We equip dynamic geometry software (DGS) with a user-friendly method that enables massively parallel calculations on the graphics processing unit (GPU). This interplay of DGS and GPU opens up various applications in education and mathematical research. The GPU-aided discovery of mathematical properties, interactive visualizations of algebraic surfaces (raycasting), the mathematical deformation of images and footage in real-time, and computationally demanding numerical simulations of PDEs are examples from the long and versatile list of new domains that our approach makes accessible within a DGS. We ease the development of complex (mathematical) visualizations and provide a rapid-prototyping scheme for general-purpose computations (GPGPU). The possibility to program both CPU and GPU with the use of only one high-level (scripting) programming language is a crucial aspect of our concept. We embed shader programming seamlessly within a high-level (scripting) programming environment. The aforementioned requires the symbolic process of the transcompilation of a high-level programming language into shader programming language for GPU and, in this article, we address the challenge of the automatic translation of a high-level programming language to a shader language of the GPU. To maintain platform independence and the possibility to use our technology on modern devices, we focus on a realization through WebGL.

Keywords

Cite

@article{arxiv.1808.04579,
  title  = {Bringing Together Dynamic Geometry Software and the Graphics Processing Unit},
  author = {Aaron Montag and Jürgen Richter-Gebert},
  journal= {arXiv preprint arXiv:1808.04579},
  year   = {2018}
}