<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bench Press &#187; CUDA</title>
	<atom:link href="http://blog.benchside.com/tag/cuda/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.benchside.com</link>
	<description>The Crossroads of Science and Tech</description>
	<lastBuildDate>Thu, 26 Jan 2012 15:00:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>GPU meets spacedust</title>
		<link>http://blog.benchside.com/2009/12/gpu-meets-spacedust/</link>
		<comments>http://blog.benchside.com/2009/12/gpu-meets-spacedust/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 14:00:28 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[CUDA]]></category>
		<category><![CDATA[dust]]></category>
		<category><![CDATA[GPGPU]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[radiative transfer]]></category>
		<category><![CDATA[spacedust]]></category>

		<guid isPermaLink="false">http://blog.benchside.com/?p=1151</guid>
		<description><![CDATA[Dust can be a pain if you’re an astronomer. In the same way that clouds obscure a view of the night-sky, interstellar dust can distort an astronomer’s view (even if through the Hubble telescope) of interesting astronomical phenomena. This problem is compounded when you consider that stars and planets tend to form in dense interstellar [...]]]></description>
			<content:encoded><![CDATA[<p>Dust can be a pain if you’re an astronomer. In the same way that clouds obscure a view of the night-sky, interstellar dust can distort an astronomer’s view (even if through the Hubble telescope) of interesting astronomical phenomena. This problem is compounded when you consider that stars and planets tend to form in dense interstellar dust clouds.</p>
<p>The distortions caused by spacedust are caused by <a href="http://en.wikipedia.org/wiki/Radiative_transfer">radiative transfer</a> – a process of light absorption and scattering which also explains why the sky is blue and why sunsets/sunrises look red. Astronomers have built highly sophisticated models to understand radiative transfer across a wide range of different dust backgrounds. These models have enabled researchers to build very cool simulations, such as this one of two galaxies colliding:</p>
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:ab2d8712-13a1-4b95-80ef-0418ebfdebf3" class="wlWriterEditableSmartContent" style="margin: 0px auto; padding: 0px; width: 425px; display: block; float: none;">
<div><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/agqLEbOFT2A&amp;hl=en" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/agqLEbOFT2A&amp;hl=en"></embed></object></div>
</div>
<p>Interestingly, greater sophistication in our understanding of spacedust and a greater desire for precision and resolution in the modeling has meant that more and more of the computational processing of these radiative transfer models has been spent on calculating dust grain temperatures rather than the math behind the actual radiation transfer (a product of the fact that you need to calculate across many points in the “dust cloud”, across many types/sizes of dust particles, and because you need to iterate many times to find an equilibrium) – something on the order of 10<sup>11</sup>-10<sup>12</sup> exponentials per simulation!</p>
<p>That traditional processors are not well suited for calculating exponentials and that there were simply so many calculations which needed to be done in parallel <a href="http://arxiv.org/abs/0907.3768">convinced researchers to turn to NVIDIA’s CUDA</a> as a potential solution. As we’ve noted before with <a href="http://blog.benchside.com/2009/09/raytracing-radiotherapy/">using raytracing as a means to accelerate radiotherapy dosage calculations</a>, NVIDIA’s CUDA is a standard programming toolset which lets programmers more easily use the power of (NVIDIA) graphics cards for calculations. Because the calculations needed to do high-performance graphics <a href="http://modernwarfare2.infinityward.com/">for a game of Modern Warfare 2</a> are similar to the calculations that supercomputers crunch through, NVIDIA’s CUDA has been demonstrated to be able to accelerate calculation speed by orders of magnitude!</p>
<p>In the case of dust grain temperature calculation, the results were equally impressive. Not only were the researchers able to accelerate dust grain calculation using a NVIDIA Tesla C1060 (with 4 GB of memory) over an 8-core Intel Xeon E5420 processor (with 32 GB of RAM) <em>alone</em> <strong>by a factor of 55</strong>, they were able to do this despite:</p>
<ul>
<li>the fact that 17% of processing time on the GPU solution was dedicated to data transfer (something the CPU-only solution has to worry about less)</li>
<li>the maximum theoretical capacity of the GPU was only 6 times greater than that of the CPU, highlighting a big difference between the CUDA philosophy (crank up performance) and the CPU compiler philosophy (abstract but flexible)</li>
</ul>
<p>Amazingly, the researchers found that even if the CPU were to run an interpolation scheme (requires less processing power, but introduces a little more error and makes it harder to do more sophisticated calculations vs. the equilibrium calculations done here), the GPU solution <strong>is still faster by a factor of 16 times</strong>!</p>
<p>So: spacedust – 0. GPU – 1. Now let’s see if they can tackle the flexible dust temperature problem…</p>
<p>Paper: “Accelerating Dust Temperature Calculations with Graphics Processing Units”, submitted to <em>New Astronomy</em>; <a href="http://arxiv.org/abs/0907.3768">ArXiV link</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benchside.com/2009/12/gpu-meets-spacedust/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Raytracing Radiotherapy</title>
		<link>http://blog.benchside.com/2009/09/raytracing-radiotherapy/</link>
		<comments>http://blog.benchside.com/2009/09/raytracing-radiotherapy/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 14:00:00 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[CUDA]]></category>
		<category><![CDATA[dose]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[radiotherapy]]></category>
		<category><![CDATA[ray tracing]]></category>

		<guid isPermaLink="false">http://blog.benchside.com/2009/09/raytracing-radiotherapy/</guid>
		<description><![CDATA[An impressive demonstration of the power of graphics cards is the use of graphics processing units (GPUs) in ray tracing. For those of you not in the know, ray tracing refers to a technique for rendering graphics by tracking how rays of light behave as they reflect from surface to surface, allowing you to create [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.benchside.com/wp-content/uploads/2009/09/image1.png"><img style="margin: 0px 10px 0px 0px; display: inline" title="image" alt="image" align="left" src="http://blog.benchside.com/wp-content/uploads/2009/09/image_thumb1.png" width="360" height="255" /></a> An impressive demonstration of the <a href="http://blog.benchside.com/2008/08/theyre-not-just-for-gaming/">power of graphics cards</a> is the <a href="http://hothardware.com/News/NVIDIA-Shows-Interactive-Ray-Tracing-on-GPUs/">use of graphics processing units (GPUs) in ray tracing</a>. For those of you not in the know, <a href="http://en.wikipedia.org/wiki/Ray_tracing_%28graphics%29">ray tracing</a> refers to a technique for rendering graphics by tracking how rays of light behave as they reflect from surface to surface, allowing you to create photorealistic images that have complicated reflections and shadows which traditional graphics methods fail to deliver. The flip side of this photorealism is that these techniques are incredibly taxing on computational systems, and it has been something of a “holy grail” for GPU and CPU makers to demonstrate so-called “real time” ray tracing on their systems.</p>
<p>Of course, while ray tracing is an impressive computational feat, most of these demonstrations only show off the aesthetic benefits of being able to implement ray tracing quickly. There are much more real-world impacts in the scientific and medical domains, such as in the field of radiotherapy.</p>
<p><a href="http://blog.benchside.com/wp-content/uploads/2009/09/image2.png"><img style="margin: 0px 0px 0px 5px; display: inline" title="image" alt="image" align="right" src="http://blog.benchside.com/wp-content/uploads/2009/09/image_thumb2.png" width="240" height="215" /></a> In a nutshell, the idea behind radiotherapy as a cancer therapy is that you use strong bursts of radiation to kill off a tumor while minimizing the side effects of radiation exposure to the surrounding tissue. This balance is extremely difficult to manage as the calculations necessary to understand the effect of applying radiation from an external source on a complex three-dimensional maze of organs and liquids like the human body are highly sophisticated. Interestingly, these calculations actually resemble a ray tracing problem, as the problem of understanding radiotherapy dosage is one of understanding how individual “beams” of radiation travel and interact with the human body.</p>
<p>The result is that computer models which have been used to do dosage calculations are <u>slow</u> (making it impractical for physicians to consider multiple regimens or use more sophisticated “adaptive”/modulated radiation therapies), <u>error-prone</u> from the introduction of assumptions to “gloss over” some of the more sophisticated calculations, and <u>very expensive</u> given the need for large clusters of computational power.</p>
<p>What <a href="http://www.amc.nl/?pid=1076">researchers at the University of Amsterdam</a> have demonstrated is an implementation of a ray tracing algorithm targeted at the radiotherapy dosage question using <a href="http://www.nvidia.com/object/cuda_home.html">GPU maker NVIDIA’s CUDA toolkit</a> for performing mathematical calculations using the power of a graphics processor. The researchers used the fact that the power of a GPU rests in its ability to split up complicated math problems into many simpler problems to have the GPU calculate the paths of multiple “rays” of radiation simultaneously, resulting in a performance increase over a non-GPU accelerated technique <strong>ranging from 50% faster to 6 times faster</strong>! Amazingly, because of the way the GPU does its calculations (mainly that it avoids using a look-up table the CPU-driven algorithm needs), <strong>the GPU’s results are also more accurate</strong>, despite a single GPU implementation being <strong>both faster and cheaper than traditional techniques</strong>. </p>
<p>The implications to medicine? To quote the paper:</p>
<blockquote><p>“The developed GPU algorithm now enables <strong>dose calculations at a speed that will be experienced as real time</strong> for conventional forward planning based on clinically relevant datasets. this can lead to a major reduction in the workload of radiotherapy treatment planning. Moreover, the presented GPU algorithm can be used to accelerate more advanced treatment planning optimization techniques.”</p>
</blockquote>
<p><strong>Paper</strong>: M. de Greef et al, “Accelerated Ray Tracing for Radiotherapy Dose Calculations on a GPU.” <em>Medical Physics</em>, Vol 36, Issue 9 (link: <a title="http://dx.doi.org/10.1118/1.3190156" href="http://dx.doi.org/10.1118/1.3190156">http://dx.doi.org/10.1118/1.3190156</a>)</p>
<p><strong>Presentation</strong>: <a title="http://www.amc.nl/upload/teksten/radiotherapie/hyperthermie/RayForDose-NVIDIA.pdf" href="http://www.amc.nl/upload/teksten/radiotherapie/hyperthermie/RayForDose-NVIDIA.pdf">http://www.amc.nl/upload/teksten/radiotherapie/hyperthermie/RayForDose-NVIDIA.pdf</a></p>
<p>(<a href="http://www.codinghorror.com/blog/images/ray-tracing-diagram.png">Image credit – Ray tracing schema</a>) (<a href="http://www.amc.nl/upload/teksten/radiotherapie/hyperthermie/RayForDose-NVIDIA.pdf">Image from presentation</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benchside.com/2009/09/raytracing-radiotherapy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>They&#8217;re not just for gaming</title>
		<link>http://blog.benchside.com/2008/08/theyre-not-just-for-gaming/</link>
		<comments>http://blog.benchside.com/2008/08/theyre-not-just-for-gaming/#comments</comments>
		<pubDate>Sat, 30 Aug 2008 07:17:23 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[Chips]]></category>
		<category><![CDATA[CUDA]]></category>
		<category><![CDATA[GPGPU]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[Graphics Cards]]></category>
		<category><![CDATA[HPC]]></category>
		<category><![CDATA[Playstation]]></category>
		<category><![CDATA[Stream Processing]]></category>
		<category><![CDATA[Supercomputer]]></category>

		<guid isPermaLink="false">http://blog.benchside.com/?p=30</guid>
		<description><![CDATA[There was a time when video game consoles and graphics cards were “just for games.” In those days, game console chips and graphics cards were the domain of little boys, not grown men. Well, thank the stars those days are long gone! Today, if someone were to tease a grown man for purchasing Sony’s Playstation [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.benchside.com/wp-content/uploads/2008/08/image.png"><img style="margin: 0px 10px 10px 0px; border-width: 0px;" title="image" src="http://blog.benchside.com/wp-content/uploads/2008/08/image-thumb.png" border="0" alt="image" width="248" height="307" /></a></p>
<p>There was a time when video game consoles and graphics cards were “just for games.” In those days, game console chips and graphics cards were the domain of little boys, not grown men. Well, thank the stars those days are long gone!</p>
<p>Today, if someone were to tease a grown man for purchasing Sony’s Playstation 3, he could simply reply, “I beg your pardon. I am a grown man, not a little boy. I am clearly using the Playstation 3, not to play great games like Grand Theft Auto IV and Metal Gear Solid, but to use its TeraFLOPS (1 trillion floating point calculations per second) capacity to solve important and complex scientific problems.”</p>
<p>It almost sounds like a fantasy, but it’s not. The idea behind this is pretty basic. To make games and graphics run smoothly, video game console chips and graphics cards have to do a mind-boggling number of calculations much faster than a basic computer chip can. It “just so happens” that the supercomputers scientists and Wall Street analysts use to do simulations and research with also need to do those same types of calculations. Hence the idea of <a href="http://en.wikipedia.org/wiki/Stream_processing">Stream Processing</a> was born – why not use graphics card/game console chips for things which aren’t directly related to graphics or gaming?</p>
<p>Why not indeed? I can’t list all of the projects out there, but here’s just a snapshot of the scientific applications that people have been able to do with the Playstation 3’s unique chip, <a href="http://www-03.ibm.com/technology/cell/">IBM’s Cell Broadband Engine</a>, and graphics cards from <a href="http://www.nvidia.com/page/home.html">NVIDIA</a> and <a href="http://ati.amd.com/">AMD</a>:</p>
<ul>
<li>Researchers at the National Center for Atmospheric Research used NVIDIA’s CUDA stream processing platform to <a href="http://www.nvidia.com/object/national_center_for_atmospheric_research.html">improve the speed of their weather forecasting models</a></li>
<li>Astrophysicist Gaurav Khanna from UMass Dartmouth used 16 Playstation 3’s to <a href="http://gravity.phy.umassd.edu/ps3.html">simulate the collision of two black holes</a></li>
<li><a href="http://ati.amd.com/technology/streamcomputing/siggraph07-sketch.pdf">AMD researchers</a> were able to demonstrate the use of AMD graphics cards to let a computer see in 3D and then map that image to an actual physical simulation</li>
<li>The Los Alamos National Laboratories turned to IBM to design them a new supercomputer, but instead of just designing them with plain vanilla chips from Intel and AMD, they asked for a new breed of computer. Enter <a href="http://www.lanl.gov/roadrunner/">the Roadrunner</a>, a computer which when fully operational will be capable of PetaFLOPS performance (1 quadrillion floating point calculations per second), and consists of ~7000 AMD Opteron chips coupled with ~13000 Cell processors</li>
<li>The University of Illinois at Urbana-Champaign, by using 3 NVIDIA graphics processors, was able to help <a href="http://www.nvidia.com/object/uiuc.html">perform biochemical simulations at a submolecular level 100 times faster than 18 typical computer CPUs</a>.</li>
</ul>
<p>Technology – it’s good for more than just playing games.</p>
<p><a href="http://www.krunker.com/wp-content/uploads/2007/07/playstation%203.jpg">Image Credit</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benchside.com/2008/08/theyre-not-just-for-gaming/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

