<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for Anteru's blog</title>
	<atom:link href="http://anteru.net/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://anteru.net</link>
	<description>Graphics, programming &#38; software engineering</description>
	<lastBuildDate>Fri, 20 Jan 2012 16:35:28 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Comment on Review: PVS Studio by Andrey</title>
		<link>http://anteru.net/2011/07/18/1714/comment-page-1/#comment-54516</link>
		<dc:creator>Andrey</dc:creator>
		<pubDate>Fri, 20 Jan 2012 16:35:28 +0000</pubDate>
		<guid isPermaLink="false">http://anteru.net/?p=1714#comment-54516</guid>
		<description>Now PVS-Studio (v. 4.53) detect the error:
&lt;code&gt;
char s [5];
strcpy (s, &quot;Sixchr&quot;);
&lt;/code&gt;

Regarding speed, we also worked a lot. Now you can use Clang and speeds up the analysis. There are other ways to speed up the analysis of the project. Learn more here: &lt;a href=&quot;http://www.viva64.com/en/d/0213/&quot; rel=&quot;nofollow&quot;&gt;Tips on speeding up PVS-Studio&lt;/a&gt;.</description>
		<content:encoded><![CDATA[<p>Now PVS-Studio (v. 4.53) detect the error:<br />
<code><br />
char s [5];<br />
strcpy (s, "Sixchr");<br />
</code></p>
<p>Regarding speed, we also worked a lot. Now you can use Clang and speeds up the analysis. There are other ways to speed up the analysis of the project. Learn more here: <a href="http://www.viva64.com/en/d/0213/" rel="nofollow">Tips on speeding up PVS-Studio</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Displaying listings in LaTeX beamer slides by jh</title>
		<link>http://anteru.net/2008/09/15/269/comment-page-1/#comment-53210</link>
		<dc:creator>jh</dc:creator>
		<pubDate>Sat, 07 Jan 2012 21:31:53 +0000</pubDate>
		<guid isPermaLink="false">http://anteru.net/?p=269#comment-53210</guid>
		<description>thx, you saved my day</description>
		<content:encoded><![CDATA[<p>thx, you saved my day</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on std::tr1::shared_ptr tutorial by Nickolay</title>
		<link>http://anteru.net/2008/09/01/260/comment-page-1/#comment-53092</link>
		<dc:creator>Nickolay</dc:creator>
		<pubDate>Fri, 06 Jan 2012 14:25:26 +0000</pubDate>
		<guid isPermaLink="false">http://anteru.net/?p=260#comment-53092</guid>
		<description>shared_ptr is not an addition to the STL. It is an addition to the C++ Standard Library.
Standard Library and STL are not the same.</description>
		<content:encoded><![CDATA[<p>shared_ptr is not an addition to the STL. It is an addition to the C++ Standard Library.<br />
Standard Library and STL are not the same.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on C++, ownership and shared_ptr by Matthieu M.</title>
		<link>http://anteru.net/2011/09/12/1773/comment-page-1/#comment-49882</link>
		<dc:creator>Matthieu M.</dc:creator>
		<pubDate>Thu, 08 Dec 2011 08:31:52 +0000</pubDate>
		<guid isPermaLink="false">http://anteru.net/?p=1773#comment-49882</guid>
		<description>The problem with the simpler design is that your clients may end up with a dangling pointer.

You could provide a smarter proxy, by reversing the &lt;code&gt;shared_ptr&lt;/code&gt; and &lt;code&gt;weak_ptr&lt;/code&gt;. If you use the &lt;code&gt;shared_ptr&lt;/code&gt; solely within the owner class, then you can implement a proxy around a &lt;code&gt;weak_ptr&lt;/code&gt; which provides safe monitoring of the object lifetime.

The proxy should not expose the &lt;code&gt;weak_ptr&lt;/code&gt; directly (as someone could then grab ownership), but instead should provide methods that encapsulate its use, and throw/return an error/do nothing when the object pointed to is dead.</description>
		<content:encoded><![CDATA[<p>The problem with the simpler design is that your clients may end up with a dangling pointer.</p>
<p>You could provide a smarter proxy, by reversing the <code>shared_ptr</code> and <code>weak_ptr</code>. If you use the <code>shared_ptr</code> solely within the owner class, then you can implement a proxy around a <code>weak_ptr</code> which provides safe monitoring of the object lifetime.</p>
<p>The proxy should not expose the <code>weak_ptr</code> directly (as someone could then grab ownership), but instead should provide methods that encapsulate its use, and throw/return an error/do nothing when the object pointed to is dead.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on OpenCL for realtime rendering: What&#8217;s missing? by Dominik</title>
		<link>http://anteru.net/2011/12/06/1815/comment-page-1/#comment-49770</link>
		<dc:creator>Dominik</dc:creator>
		<pubDate>Wed, 07 Dec 2011 08:36:48 +0000</pubDate>
		<guid isPermaLink="false">http://anteru.net/?p=1815#comment-49770</guid>
		<description>Hey, apart from your realtime stuff, if you may want to try something out rapid prototyping style (even in MATLAB ... :) ), maybe you want to have a look at http://viennacl.sourceforge.net/. Its quite nice, but some features are still missing (e.g. cl_image).</description>
		<content:encoded><![CDATA[<p>Hey, apart from your realtime stuff, if you may want to try something out rapid prototyping style (even in MATLAB &#8230; <img src='http://anteru.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ), maybe you want to have a look at <a href="http://viennacl.sourceforge.net/" rel="nofollow">http://viennacl.sourceforge.net/</a>. Its quite nice, but some features are still missing (e.g. cl_image).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on OpenCL for realtime rendering: What&#8217;s missing? by Anteru</title>
		<link>http://anteru.net/2011/12/06/1815/comment-page-1/#comment-49768</link>
		<dc:creator>Anteru</dc:creator>
		<pubDate>Wed, 07 Dec 2011 08:01:37 +0000</pubDate>
		<guid isPermaLink="false">http://anteru.net/?p=1815#comment-49768</guid>
		<description>Well, two reasons: First of all, CUDA is not so much faster than OpenCL unless you use a lot of hardware specific trickery (like assuming a particular warp-size, etc.) That&#039;s all fine if you&#039;re doing a single publication which is supposed to run fast. If you are mostly interested in it running at all, then you also start writing more or less general CUDA which doesn&#039;t look much different from OpenCL any more. For the stuff I&#039;m working on now -- which is mostly content creation -- getting the utmost performance doesn&#039;t matter. So from this side, I don&#039;t see a point in using CUDA. Don&#039;t get me wrong, I still believe there are valid use cases for CUDA, but it doesn&#039;t have a compelling advantage over OpenCL for me.

Second, lots of the stuff I&#039;m doing does run quite well on CPUs. We have a volume raycaster and various image processing stuff which runs just as fine on a dual-six-core as it does on a 560 for instance, and it&#039;s pretty cool if you can offload some work without changing your code (and I totally expect a dual-8-core Sandy Bridge with 100 GiB/s memory bandwidth to be even faster at some stuff.) Some of the processing stuff may also run on machines without a DX11 GPU (we still have some DX10 hardware flying around), where it automatically switches to the CPU with OpenCL. Lower performance, of course, but it &quot;just works&quot;. Yes, I know there is a CUDA to x86 compiler right now, but I like that Intel is providing an optimized OpenCL runtime for Intel CPUs and AMD one for their, etc. instead of relying on PGI to do a good job across all hardware. Plus, the OpenCL runtime is free. I guess that if I had already a large existing body of CUDA code, I would bite the bullet and buy the CUDA-&gt;x86 compiler, but truth to be told, I started serious GPU computing with OpenCL (on an AMD 5870); the first time I really used CUDA was quite a bit later.

Do you see a striking advantage CUDA has over OpenCL? For graphics interop, they are both quite limited still ... you can&#039;t share a depth buffer in CUDA 4.1 either, no mip-maps as well and there is no multi-sampled texture access, so except for the offline compiler CUDA 4.1 is just as good/bad for graphics as OpenCL 1.2.</description>
		<content:encoded><![CDATA[<p>Well, two reasons: First of all, CUDA is not so much faster than OpenCL unless you use a lot of hardware specific trickery (like assuming a particular warp-size, etc.) That&#8217;s all fine if you&#8217;re doing a single publication which is supposed to run fast. If you are mostly interested in it running at all, then you also start writing more or less general CUDA which doesn&#8217;t look much different from OpenCL any more. For the stuff I&#8217;m working on now &#8212; which is mostly content creation &#8212; getting the utmost performance doesn&#8217;t matter. So from this side, I don&#8217;t see a point in using CUDA. Don&#8217;t get me wrong, I still believe there are valid use cases for CUDA, but it doesn&#8217;t have a compelling advantage over OpenCL for me.</p>
<p>Second, lots of the stuff I&#8217;m doing does run quite well on CPUs. We have a volume raycaster and various image processing stuff which runs just as fine on a dual-six-core as it does on a 560 for instance, and it&#8217;s pretty cool if you can offload some work without changing your code (and I totally expect a dual-8-core Sandy Bridge with 100 GiB/s memory bandwidth to be even faster at some stuff.) Some of the processing stuff may also run on machines without a DX11 GPU (we still have some DX10 hardware flying around), where it automatically switches to the CPU with OpenCL. Lower performance, of course, but it &#8220;just works&#8221;. Yes, I know there is a CUDA to x86 compiler right now, but I like that Intel is providing an optimized OpenCL runtime for Intel CPUs and AMD one for their, etc. instead of relying on PGI to do a good job across all hardware. Plus, the OpenCL runtime is free. I guess that if I had already a large existing body of CUDA code, I would bite the bullet and buy the CUDA->x86 compiler, but truth to be told, I started serious GPU computing with OpenCL (on an AMD 5870); the first time I really used CUDA was quite a bit later.</p>
<p>Do you see a striking advantage CUDA has over OpenCL? For graphics interop, they are both quite limited still &#8230; you can&#8217;t share a depth buffer in CUDA 4.1 either, no mip-maps as well and there is no multi-sampled texture access, so except for the offline compiler CUDA 4.1 is just as good/bad for graphics as OpenCL 1.2.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on OpenCL for realtime rendering: What&#8217;s missing? by Anjul</title>
		<link>http://anteru.net/2011/12/06/1815/comment-page-1/#comment-49756</link>
		<dc:creator>Anjul</dc:creator>
		<pubDate>Wed, 07 Dec 2011 05:01:18 +0000</pubDate>
		<guid isPermaLink="false">http://anteru.net/?p=1815#comment-49756</guid>
		<description>I can understand why you moved from DirectCompute to OpenCL, but why is CUDA off your list?</description>
		<content:encoded><![CDATA[<p>I can understand why you moved from DirectCompute to OpenCL, but why is CUDA off your list?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on OpenCL for realtime rendering: What&#8217;s missing? by Geeks3D Programming Links &#8211; December 06, 2011 - 3D Tech News and Pixel Hacking - Geeks3D.com</title>
		<link>http://anteru.net/2011/12/06/1815/comment-page-1/#comment-49726</link>
		<dc:creator>Geeks3D Programming Links &#8211; December 06, 2011 - 3D Tech News and Pixel Hacking - Geeks3D.com</dc:creator>
		<pubDate>Tue, 06 Dec 2011 20:06:56 +0000</pubDate>
		<guid isPermaLink="false">http://anteru.net/?p=1815#comment-49726</guid>
		<description>[...] OpenCL for realtime rendering: What’s missing? [...]</description>
		<content:encoded><![CDATA[<p>[...] OpenCL for realtime rendering: What’s missing? [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on OpenCL for realtime rendering: What&#8217;s missing? by Anteru</title>
		<link>http://anteru.net/2011/12/06/1815/comment-page-1/#comment-49721</link>
		<dc:creator>Anteru</dc:creator>
		<pubDate>Tue, 06 Dec 2011 18:56:52 +0000</pubDate>
		<guid isPermaLink="false">http://anteru.net/?p=1815#comment-49721</guid>
		<description>Well, the problem I mention remains: If I compile on the target machine on first start, I hope that the compiler there does not have problems with my source code. Let&#039;s assume I use a different driver version with a different compiler. Pre-compiling resolves this issue completely. Second, I have to compile the same code for all platforms/devices: At least CPU + GPU, and sometimes for two different GPUs in the same machine. That&#039;s just stupid, and the different compiler problem becomes worse (I had multiple kernels which failed on one of {AMD, Intel, NVIDIA} but worked on the other two.)

Second, you can do better analysis and optimization if compiling offline. Read the AMD slides on how they hacked up LLVM to compile faster, all of this doesn&#039;t matter when compiling offline.

So it&#039;s not that easy, and the workarounds suck. There&#039;s a good reason that DirectX comes with a compiler; never ever had problems loading a compiled shader; but compiling on the target machine was always tricky, in particular if different SDK versions were used.</description>
		<content:encoded><![CDATA[<p>Well, the problem I mention remains: If I compile on the target machine on first start, I hope that the compiler there does not have problems with my source code. Let&#8217;s assume I use a different driver version with a different compiler. Pre-compiling resolves this issue completely. Second, I have to compile the same code for all platforms/devices: At least CPU + GPU, and sometimes for two different GPUs in the same machine. That&#8217;s just stupid, and the different compiler problem becomes worse (I had multiple kernels which failed on one of {AMD, Intel, NVIDIA} but worked on the other two.)</p>
<p>Second, you can do better analysis and optimization if compiling offline. Read the AMD slides on how they hacked up LLVM to compile faster, all of this doesn&#8217;t matter when compiling offline.</p>
<p>So it&#8217;s not that easy, and the workarounds suck. There&#8217;s a good reason that DirectX comes with a compiler; never ever had problems loading a compiled shader; but compiling on the target machine was always tricky, in particular if different SDK versions were used.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on OpenCL for realtime rendering: What&#8217;s missing? by Jacobo</title>
		<link>http://anteru.net/2011/12/06/1815/comment-page-1/#comment-49718</link>
		<dc:creator>Jacobo</dc:creator>
		<pubDate>Tue, 06 Dec 2011 18:40:12 +0000</pubDate>
		<guid isPermaLink="false">http://anteru.net/?p=1815#comment-49718</guid>
		<description>3. No offline kernel compiler

You can compile your kernels, ask the API for the binaries, and the next time, upload the binaries directly, without having to recompilate them.
Also you can download the CL compiler from the driver with API, to free its resources,

So now, you can fix your article.</description>
		<content:encoded><![CDATA[<p>3. No offline kernel compiler</p>
<p>You can compile your kernels, ask the API for the binaries, and the next time, upload the binaries directly, without having to recompilate them.<br />
Also you can download the CL compiler from the driver with API, to free its resources,</p>
<p>So now, you can fix your article.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

