GPU-based four-dimensional general-relativistic ray tracing

Abstract This paper presents a new general-relativistic ray tracer that enables image synthesis on an interactive basis by exploiting the performance of graphics processing units (GPUs). The application is capable of visualizing the distortion of the stellar background as well as trajectories of moving astronomical objects orbiting a compact mass. Its source code includes metric definitions for the Schwarzschild and Kerr spacetimes that can be easily extended to other metric definitions, relying on its object-oriented design. The basic functionality features a scene description interface based on the scripting language Lua , real-time image output, and the ability to edit almost every parameter at runtime. The ray tracing code itself is implemented for parallel execution on the GPU using NVidia’s Compute Unified Device Architecture (CUDA), which leads to performance improvement of an order of magnitude compared to a single CPU and makes the application competitive with small CPU cluster architectures. Program summary Program title: GpuRay4D Catalog identifier: AEMV_v1_0 Program summary URL: http://cpc.cs.qub.ac.uk/summaries/AEMV_v1_0.html Program obtainable from: CPC Program Library, Queen’s University, Belfast, N. Ireland Licensing provisions: Standard CPC licence, http://cpc.cs.qub.ac.uk/licence/licence.html No. of lines in distributed program, including test data, etc.: 73649 No. of bytes in distributed program, including test data, etc.: 1334251 Distribution format: tar.gz Programming language:  C++, CUDA. Computer: Linux platforms with a NVidia CUDA enabled GPU (Compute Capability 1.3 or higher), C++ compiler, NVCC (The CUDA Compiler Driver). Operating system: Linux. RAM: 2 GB Classification: 1.5. External routines: OpenGL Utility Toolkit development files, NVidia CUDA Toolkit 3.2, Lua5.2 Nature of problem: Ray tracing in four-dimensional Lorentzian spacetimes. Solution method: Numerical integration of light rays, GPU-based parallel programming using CUDA, 3D-Rendering via OpenGL. Running time: Problem dependent, several seconds up to hours.

[1]  Thomas Ertl,et al.  Explanatory and illustrative visualization of special and general relativity , 2006, IEEE Transactions on Visualization and Computer Graphics.

[2]  W. Rindler,et al.  Relativity: Special, General, and Cosmological , 2001 .

[3]  Herr Waldeyer,et al.  Sitzungsberichte der Königlich Preußischen Akademie der Wissenschaften , 2005, Naturwissenschaften.

[4]  H. Ruder,et al.  The relativistic 'looks' of a neutron star , 1989 .

[5]  Peter Shirley,et al.  Realistic ray tracing , 2000 .

[6]  Alan H. Karp,et al.  A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sides , 1990, TOMS.

[7]  J. Dormand,et al.  A family of embedded Runge-Kutta formulae , 1980 .

[8]  Robert H. Boyer,et al.  Maximal Analytic Extension of the Kerr Metric , 1967 .

[9]  Ken-ichi Sakina,et al.  Parallel transport of a vector along a circular orbit in Schwarzschild space-time , 1979 .

[10]  Erwin Fehlberg,et al.  Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung auf Wärmeleitungsprobleme , 1970, Computing.

[11]  Thomas Müller,et al.  Analytic observation of a star orbiting a Schwarzschild black hole , 2009 .

[12]  Thomas Ertl,et al.  GPU‐Based Nonlinear Ray Tracing , 2004, Comput. Graph. Forum.

[13]  Thomas Müller,et al.  The Gödel universe: Exact geometrical optics and analytical investigations on motion , 2009 .

[14]  Thomas Müller,et al.  GeodesicViewer - A tool for exploring geodesics in the theory of relativity , 2010, Comput. Phys. Commun..

[15]  Guy Perrin,et al.  GYOTO: a new general relativistic ray-tracing code , 2011, 1109.4769.

[16]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[17]  C. T. Cunningham,et al.  The Optical Appearance of a Star Orbiting an Extreme Kerr Black Hole , 1972 .

[18]  Thomas Müller,et al.  Eurographics/ Ieee-vgtc Symposium on Visualization 2009 the Gödel Engine -an Interactive Approach to Visualization in General Relativity , 2022 .