Penultimate draft
[ipdf/sam.git] / chapters / Background / FloatingPointOnTheGPU.tex
index 33357a6..7598e73 100644 (file)
@@ -4,10 +4,14 @@ Traditionally, vector images have been rasterized by the CPU before being sent t
 
 It is not entirely clear how well supported the IEEE-754 standard for floating point computation is amongst GPUs\footnote{Informal technical articles are abundant on the internet --- Eg: Regarding the Dolphin Wii GPU Emulator: \url{https://dolphin-emu.org/blog} (accessed 2014-05-22)}. Although the OpenGL API does use IEEE-754 number representations, research by Hillesland and Lastra in 2004 suggested that many GPUs were not internally compliant with the standard\cite{hillesland2004paranoia}.
 
-Figure \ref{gpufloats.pdf} shows the rendering of a circle through evaluation of $x^2 + y^2 < 1$ in an early version of the IPDF software (Chapter \ref{Process}) using an x86-64 CPU and various GPU models respectively. If we assume the x86-64 is IEEE-754 compliant performing the default rounding behaviour (to nearest) the GPUs are using different rounding behaviours which may not be IEEE-754 compliant.
+To test this assertion, Figure \ref{gpufloats.pdf} was produced with an early version of the IPDF software which will be discussed in Chapter \ref{Process}. The Figure was created jointly with Gow and is also discussed in their work \cite{thesisGow}.
+
 \begin{figure}[H]
        \centering
-       \includegraphics[width=0.9\textwidth]{figures/gpufloats.pdf}\label{gpufloats.pdf}
-       \caption{CPU and GPU evaluation of $x^2 + y^2 < 1$ at $\approx 10^6$ magnification}
+       \includegraphics[width=0.6\textwidth]{figures/gpufloats.pdf}
+       \caption{CPU and GPU evaluation of $x^2 + y^2 < 1$ (black) at $\approx 10^6$ magnification} \label{gpufloats.pdf}
 \end{figure}
+
+
+Figure \ref{gpufloats.pdf} shows the rendering of a the edge of circle through evaluation of $x^2 + y^2 < 1$ using an x86-64 CPU and various GPU models. If we assume the x86-64 is IEEE-754 compliant performing the default rounding behaviour (to nearest) the GPUs are using different rounding behaviours which may not be IEEE-754 compliant. Whilst outside the scope of this project, consistency of floating point arithmetic on GPUs could be an interesting area for further investigation, particularly given the recent interest in use of GPUs for parallelisable numerical computing.
 %Arbitrary precision arithmetic, is provided by many software libraries for CPU based calculations

UCC git Repository :: git.ucc.asn.au