<?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>Ananth&#039;s very own website &#187; General</title>
	<atom:link href="http://ananthonline.net/category/blog/general/feed" rel="self" type="application/rss+xml" />
	<link>http://ananthonline.net</link>
	<description>Nemo vir est qui mundum non reddat meliorem</description>
	<lastBuildDate>Sun, 29 Jan 2012 05:04:09 +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>Downloads page is working again</title>
		<link>http://ananthonline.net/2010/11/06/downloads-page-is-working-again/</link>
		<comments>http://ananthonline.net/2010/11/06/downloads-page-is-working-again/#comments</comments>
		<pubDate>Sat, 06 Nov 2010 20:05:40 +0000</pubDate>
		<dc:creator>ananth</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.ananthonline.net/blog/general/downloads-page-is-working-again</guid>
		<description><![CDATA[ Tweet <p>I have fixed the Brahma &#124; Downloads page, and it is back up. Thanks to everyone who pointed that out, and sorry it took so long for me to get around to it!</p> ]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fananthonline.net%2F2010%2F11%2F06%2Fdownloads-page-is-working-again%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://ananthonline.net/2010/11/06/downloads-page-is-working-again/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://ananthonline.net/2010/11/06/downloads-page-is-working-again/"  data-text="Downloads page is working again" data-count="horizontal" data-via="ananthonline">Tweet</a>
			</div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://ananthonline.net/2010/11/06/downloads-page-is-working-again/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>I have fixed the Brahma | Downloads page, and it is back up. Thanks to everyone who pointed that out, and sorry it took so long for me to get around to it!</p>
]]></content:encoded>
			<wfw:commentRss>http://ananthonline.net/2010/11/06/downloads-page-is-working-again/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Brahma.OpenCL works and is available to check out!</title>
		<link>http://ananthonline.net/2010/10/18/brahma-opencl-works-and-is-available-to-check-out/</link>
		<comments>http://ananthonline.net/2010/10/18/brahma-opencl-works-and-is-available-to-check-out/#comments</comments>
		<pubDate>Mon, 18 Oct 2010 02:55:13 +0000</pubDate>
		<dc:creator>ananth</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.ananthonline.net/blog/general/brahma-opencl-works-and-is-available-to-check-out</guid>
		<description><![CDATA[ Tweet <p>Ok, I finally got around to cleaning up the Brahma code (just a little, mind you – there’s loads more to do!) and checking it in! Yes, that means you can try it out now! Because there are no releases, you’re going to have to check out the code with the instructions from [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fananthonline.net%2F2010%2F10%2F18%2Fbrahma-opencl-works-and-is-available-to-check-out%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://ananthonline.net/2010/10/18/brahma-opencl-works-and-is-available-to-check-out/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://ananthonline.net/2010/10/18/brahma-opencl-works-and-is-available-to-check-out/"  data-text="Brahma.OpenCL works and is available to check out!" data-count="horizontal" data-via="ananthonline">Tweet</a>
			</div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://ananthonline.net/2010/10/18/brahma-opencl-works-and-is-available-to-check-out/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Ok, I finally got around to cleaning up the Brahma code (just a little, mind you – there’s loads more to do!) and checking it in! Yes, that means you can try it out now! Because there are no releases, you’re going to have to check out the code with the instructions from <a href="http://sourceforge.net/projects/brahma-fx/develop">here</a>. The source contains a few samples I showed off at the <a href="http://www.twincitiescodecamp.com/TCCC/Default.aspx">Twin Cities Code Camp</a> last weekend, so that’s the place to start poking around. I would love to see questions, suggestions and offers for help with samples <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.ananthonline.net/wp-content/uploads/2010/10/wlEmoticonsmile.png" />.</p>
<p>&#160;</p>
<p>I’m hoping to be able to put in more work on Brahma in a week or so, so stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://ananthonline.net/2010/10/18/brahma-opencl-works-and-is-available-to-check-out/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>New Brahma syntax/usage</title>
		<link>http://ananthonline.net/2010/09/29/new-brahma-syntaxusage/</link>
		<comments>http://ananthonline.net/2010/09/29/new-brahma-syntaxusage/#comments</comments>
		<pubDate>Wed, 29 Sep 2010 05:36:22 +0000</pubDate>
		<dc:creator>ananth</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.ananthonline.net/?p=265</guid>
		<description><![CDATA[ Tweet <p>Earlier versions of Brahma used a LINQ statement exactly like a query. You could “transform” data, but weren’t allowed any control over where it went in the output. You could also just “select” one value, no more and no less. Another limitation was; when operating on two differently sized data-parallel arrays (Phew! That’s [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fananthonline.net%2F2010%2F09%2F29%2Fnew-brahma-syntaxusage%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://ananthonline.net/2010/09/29/new-brahma-syntaxusage/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://ananthonline.net/2010/09/29/new-brahma-syntaxusage/"  data-text="New Brahma syntax/usage" data-count="horizontal" data-via="ananthonline">Tweet</a>
			</div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://ananthonline.net/2010/09/29/new-brahma-syntaxusage/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Earlier versions of Brahma used a LINQ statement exactly like a query. You could “transform” data, but weren’t allowed any control over where it went in the output. You could also just “select” one value, no more and no less. Another limitation was; when operating on two differently sized data-parallel arrays (Phew! That’s a mouthful!) you had to make a choice about the size of the output, the “kernel” would be called for all elements in the output array. It was also hard to loop, do conditionals and other kinds of logic that are almost indispensable in complex algorithms.</p>
<p>With OpenCL, kernel code has finally become expressive enough to truly perform general purpose computations. Brahma allows you (albeit in a limited fashion due to current language restrictions – of course, if we could write multiline lambdas and the compiler would give me expression trees of those, I wouldn’t have any of these “workarounds”. Oh, well.) to do this:</p>
<pre class="csharp" style="font-family: consolas,; font-size: small;">
<ol>
<li>
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">provider<span style="color: #008000;">.</span><span style="color: #0000ff;">CompileKernel</span><span style="color: #008000;">&lt;</span>Buffer<span style="color: #008000;">&lt;</span>int32<span style="color: #008000;">&gt;</span>, Buffer<span style="color: #008000;">&lt;</span>int32<span style="color: #008000;">&gt;&gt;</span><span style="color: #008000;">(</span><span style="color: #008000;">(</span>d1, d2<span style="color: #008000;">)</span> <span style="color: #008000;">=&gt;</span></div>
</li>
<li style="background-color: #f4f4f4;">
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">    <span style="color: #0600ff; font-weight: bold;">from</span> x <span style="color: #0600ff; font-weight: bold;">in</span> Loop<span style="color: #008000;">.</span><span style="color: #0600ff; font-weight: bold;">For</span><span style="color: #008000;">(</span><span style="color: #008000;">(</span><span style="color: #008000;">)</span> <span style="color: #008000;">=&gt;</span> <span style="color: #ff0000;">0</span>, i <span style="color: #008000;">=&gt;</span> i <span style="color: #008000;">&lt;</span> _width, i <span style="color: #008000;">=&gt;</span> i <span style="color: #008000;">+</span> <span style="color: #ff0000;">1</span><span style="color: #008000;">)</span></div>
</li>
<li>
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">    <span style="color: #0600ff; font-weight: bold;">from</span> y <span style="color: #0600ff; font-weight: bold;">in</span> Loop<span style="color: #008000;">.</span><span style="color: #0600ff; font-weight: bold;">For</span><span style="color: #008000;">(</span><span style="color: #008000;">(</span><span style="color: #008000;">)</span> <span style="color: #008000;">=&gt;</span> <span style="color: #ff0000;">0</span>, i <span style="color: #008000;">=&gt;</span> i <span style="color: #008000;">&lt;</span> _height, i <span style="color: #008000;">=&gt;</span> i <span style="color: #008000;">+</span> <span style="color: #ff0000;">1</span><span style="color: #008000;">)</span></div>
</li>
<li style="background-color: #f4f4f4;">
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">    let idx <span style="color: #008000;">=</span> y <span style="color: #008000;">*</span> _width <span style="color: #008000;">+</span> x</div>
</li>
<li>
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">    <span style="color: #0600ff; font-weight: bold;">select</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a><span style="color: #008000;">[</span><span style="color: #008000;">]</span></div>
</li>
<li style="background-color: #f4f4f4;">
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">    <span style="color: #008000;">{</span></div>
</li>
<li>
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">        result1<span style="color: #008000;">[</span>idx<span style="color: #008000;">]</span> <span style="color: #008000;">&lt;=</span> <span style="color: #008000;">(</span>d1<span style="color: #008000;">[</span>idx<span style="color: #008000;">]</span> <span style="color: #008000;">+</span> d2<span style="color: #008000;">[</span>idx<span style="color: #008000;">]</span><span style="color: #008000;">)</span>,</div>
</li>
<li style="background-color: #f4f4f4;">
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">        result2<span style="color: #008000;">[</span>idx<span style="color: #008000;">]</span> <span style="color: #008000;">&lt;=</span> <span style="color: #008000;">(</span>d1<span style="color: #008000;">[</span>idx<span style="color: #008000;">]</span> <span style="color: #008000;">-</span> d2<span style="color: #008000;">[</span>idx<span style="color: #008000;">]</span><span style="color: #008000;">)</span></div>
</li>
<li>
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">    <span style="color: #008000;">}</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span></div>
</li>
</ol>
</pre>
<p>Note that DataParallelArray&lt;T&gt; is now called Buffer&lt;T&gt; – isn’t that a lot easier? The kernel above is two nested loops that calculate something off two 2D images and write the results to 2 output buffers called result1 and result2. (I know the example doesn’t make sense, it’s just there to show usage!)</p>
<p>The observant among you probably noticed a few things</p>
<ul>
<li>I AM selecting one output item for each inner loop iteration (= _width * _height items) – Well, yes. But I’m writing two results each time (I can write none if I don’t want to).</li>
<li>Why am I comparing result[idx] and (d1[idx]….)? Nope. Brahma overloads the &lt;= operator and in this case you read it as “is assigned”. So in Brahma parlance, you’re saying: result[idx] “is assigned” d1[idx]….</li>
<li>result1 and result2 are NOT lambda parameters. While Brahma will allow you to use only “side-effects”, you can also use other overloads to provide parameters that you assign to. This comes in handy when you want to use different output buffers but compile the query only once.</li>
</ul>
<p>And in that sense, you are also free to pass non-buffer arguments to the kernel (and write to them from one &#8211; depending on your compute device you may have memory restrictions, though). For example, a structure containing control values can now be “passed” in per run!</p>
<p>Here’s one more (idiotic) sample that uses the current thread id instead of running nested loops per kernel launch. Ok, so I’m still thinking about the DeviceMethods name.</p>
<pre class="csharp" style="font-family: consolas,; font-size: small;">
<ol>
<li>
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">provider<span style="color: #008000;">.</span><span style="color: #0000ff;">CompileKernel</span><span style="color: #008000;">&lt;</span>Buffer<span style="color: #008000;">&lt;</span>int32<span style="color: #008000;">&gt;</span>, Buffer<span style="color: #008000;">&lt;</span>int32<span style="color: #008000;">&gt;&gt;</span><span style="color: #008000;">(</span><span style="color: #008000;">(</span>d1, d2<span style="color: #008000;">)</span> <span style="color: #008000;">=&gt;</span></div>
</li>
<li style="background-color: #f4f4f4;">
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">    <span style="color: #0600ff; font-weight: bold;">from</span> x <span style="color: #0600ff; font-weight: bold;">in</span> DeviceMethods<span style="color: #008000;">.</span><span style="color: #0000ff;">GlobalID</span><span style="color: #008000;">(</span><span style="color: #ff0000;">0</span><span style="color: #008000;">)</span> <span style="font-style: italic; color: #008080;">// ID (and coordinates) of the thread</span></div>
</li>
<li>
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">    <span style="color: #0600ff; font-weight: bold;">from</span> y <span style="color: #0600ff; font-weight: bold;">in</span> DeviceMethods<span style="color: #008000;">.</span><span style="color: #0000ff;">GlobalID</span><span style="color: #008000;">(</span><span style="color: #ff0000;">1</span><span style="color: #008000;">)</span></div>
</li>
<li style="background-color: #f4f4f4;">
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">    let idx <span style="color: #008000;">=</span> y <span style="color: #008000;">*</span> _width <span style="color: #008000;">+</span> x</div>
</li>
<li>
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">    <span style="color: #0600ff; font-weight: bold;">select</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a><span style="color: #008000;">[</span><span style="color: #008000;">]</span></div>
</li>
<li style="background-color: #f4f4f4;">
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">    <span style="color: #008000;">{</span></div>
</li>
<li>
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">        result1<span style="color: #008000;">[</span>idx<span style="color: #008000;">]</span> <span style="color: #008000;">&lt;=</span> <span style="color: #008000;">(</span>d1<span style="color: #008000;">[</span>idx<span style="color: #008000;">]</span> <span style="color: #008000;">+</span> d2<span style="color: #008000;">[</span>idx<span style="color: #008000;">]</span><span style="color: #008000;">)</span>,</div>
</li>
<li style="background-color: #f4f4f4;">
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">        result2<span style="color: #008000;">[</span>idx<span style="color: #008000;">]</span> <span style="color: #008000;">&lt;=</span> <span style="color: #008000;">(</span>d1<span style="color: #008000;">[</span>idx<span style="color: #008000;">]</span> <span style="color: #008000;">-</span> d2<span style="color: #008000;">[</span>idx<span style="color: #008000;">]</span><span style="color: #008000;">)</span></div>
</li>
<li>
<div style="margin: 0px; font: 1em/1.2em monospace; background: none transparent scroll repeat 0% 0%; vertical-align: top; padding: 0px;">    <span style="color: #008000;">}</span><span style="color: #008000;">)</span><span style="color: #008000;">;</span></div>
</li>
</ol>
</pre>
<p>I think the new kernel syntax/usage is neat, functional and compact. What do you think? I’m still working on several bits of this design … so this is when you can be heard! Please tell me what you think!</p>
]]></content:encoded>
			<wfw:commentRss>http://ananthonline.net/2010/09/29/new-brahma-syntaxusage/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>TidePowerd</title>
		<link>http://ananthonline.net/2010/09/21/tidepowerd/</link>
		<comments>http://ananthonline.net/2010/09/21/tidepowerd/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 21:51:26 +0000</pubDate>
		<dc:creator>ananth</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.ananthonline.net/?p=257</guid>
		<description><![CDATA[ Tweet <p>I&#8217;m at the nVidia GPU conference and I just learned of (and met) a company called TidePowerd, who seem to have taken the IL decompilation idea (that Brahma 1.0 was based on) into a commercial product. This, to me is good because</p> It looks like someone thought many-core/GPGPU developer tools for .NET was [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fananthonline.net%2F2010%2F09%2F21%2Ftidepowerd%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://ananthonline.net/2010/09/21/tidepowerd/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://ananthonline.net/2010/09/21/tidepowerd/"  data-text="TidePowerd" data-count="horizontal" data-via="ananthonline">Tweet</a>
			</div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://ananthonline.net/2010/09/21/tidepowerd/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>I&#8217;m at the nVidia GPU conference and I just learned of (and met) a company called <a title="TidePowerd" href="http://www.tidepowerd.com/" target="_blank">TidePowerd</a>, who seem to have taken the IL decompilation idea (that Brahma 1.0 was based on) into a commercial product. This, to me is good because</p>
<ol>
<li>It looks like someone thought many-core/GPGPU developer tools for .NET was an idea worthy of commercialization (a drum I&#8217;ve been banging for many years now)</li>
<li>It&#8217;s nice to see the seed of the idea that IL can be effectively transformed to SIMD/SIMT type code be realized in a fuller fashion.</li>
</ol>
<p>Personally, I&#8217;d be REALLY interested in seeing what TidePowerd does and how the industry responds to their offerings.</p>
]]></content:encoded>
			<wfw:commentRss>http://ananthonline.net/2010/09/21/tidepowerd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OpenCL.Net published!</title>
		<link>http://ananthonline.net/2010/07/20/opencl-net-published/</link>
		<comments>http://ananthonline.net/2010/07/20/opencl-net-published/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 13:20:00 +0000</pubDate>
		<dc:creator>ananth</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[OpenCL]]></category>

		<guid isPermaLink="false">http://www.ananthonline.net/blog/general/opencl-net-published</guid>
		<description><![CDATA[ Tweet <p>I just published my version of .NET bindings for OpenCL over on Codeplex last night. Why another, you ask? There’s already so many out there … Cloo, OpenCL.NET from hoopoe and another OpenCL.Net over at Sourceforge (and more?). Well, …</p> Every API out there has an object-oriented version of the API that’s easily [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fananthonline.net%2F2010%2F07%2F20%2Fopencl-net-published%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://ananthonline.net/2010/07/20/opencl-net-published/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://ananthonline.net/2010/07/20/opencl-net-published/"  data-text="OpenCL.Net published!" data-count="horizontal" data-via="ananthonline">Tweet</a>
			</div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://ananthonline.net/2010/07/20/opencl-net-published/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>I just published my version of <a href="http://openclnet.codeplex.com/">.NET bindings for OpenCL</a> over on Codeplex last night. Why another, you ask? There’s already so many out there … <a href="http://www.opentk.com/project/cloo">Cloo</a>, <a href="http://www.hoopoe-cloud.com/Solutions/OpenCL.NET/Default.aspx">OpenCL.NET from hoopoe</a> and another <a href="http://sourceforge.net/projects/openclnet/">OpenCL.Net over at Sourceforge</a> (and more?). Well, …</p>
<ul>
<li>Every API out there has an object-oriented version of the API that’s easily usable from .NET. Sure, it’s easy … but looks very different from the raw OpenCL API if I wanted to use it, right? There’s reason #1 right there. I wanted a set of .NET bindings that look, feel and act like the C-style API so I (read: the users) could port existing samples or read books/tutorials and understand what’s going on.</li>
<li>Which brings us to our second question: Don’t all of the mentioned bindings also have the C-style API exposed? Sure, they do. But some of them mark the exposed API as unsafe, use of which would force users to mark their own projects as unsafe too. Secondly, every set of bindings I saw had raw translations of the API transliterating &lt;anything&gt;* to IntPtr (and others along those lines) meaning we have to use their OO abstractions to get anything done easily. I wanted something more .NET friendly at the API level, however.</li>
</ul>
<p>So I guess the reason I wrote my own bindings is: I wanted to strike the middle ground between OO + .NET friendly and raw API translation. You can find this over at <a href="http://openclnet.codeplex.com/">Codeplex</a>. The API isn’t complete yet, but some things I’m particularly happy about are:</p>
<ol>
<li>No unsafe code (yet).</li>
<li>Everything is .NET friendly AND you can use it as you would the raw API (overloads).</li>
<li>As little explicit marshaling as possible, in fact all the exposed methods that invoke the extern’d methods in OpenCL.dll are only one call/line.</li>
</ol>
<p>Initially, I started with these bindings for my project <a href="http://brahma.ananthonline.net">Brahma</a>, but decided it was a large enough effort to put up separately. I hope people find it useful alongside the other tools for OpenCL for .NET that are already available. I hope to have the API completed and released soon. Stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://ananthonline.net/2010/07/20/opencl-net-published/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Website upgrade</title>
		<link>http://ananthonline.net/2010/06/08/website-upgrade/</link>
		<comments>http://ananthonline.net/2010/06/08/website-upgrade/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 13:07:00 +0000</pubDate>
		<dc:creator>ananth</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.ananthonline.net/blog/?p=50</guid>
		<description><![CDATA[ Tweet <p>I recently had to upgrade the WordPress installation on my website, and decided to do a bunch of housecleaning besides. </p> <p>I&#8217;d been looking for a good content management system that allows me to keep a blog, wiki(s) and forums (across different subdomains &#8211; brahma, blog, etc.) and I couldn&#8217;t find anything easy [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fananthonline.net%2F2010%2F06%2F08%2Fwebsite-upgrade%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://ananthonline.net/2010/06/08/website-upgrade/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://ananthonline.net/2010/06/08/website-upgrade/"  data-text="Website upgrade" data-count="horizontal" data-via="ananthonline">Tweet</a>
			</div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://ananthonline.net/2010/06/08/website-upgrade/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>I recently had to upgrade the WordPress installation on my website, and decided to do a bunch of housecleaning besides.    </p>
<p>I&#8217;d been looking for a good content management system that allows me to keep a blog, wiki(s) and forums (across different subdomains &#8211; brahma, blog, etc.) and I couldn&#8217;t find anything easy to use and powerful at the same time. I&#8217;m a big stickler for themes and I hate having to manage and re-theme different applications to look the same. </p>
<p>After a lot of searching, I&#8217;ve decided to use WordPress as my CMS and am going to be trying out these wonderful plugins:</p>
<ol>
<li><a href="http://wp-wiki.org/" target="_blank">WordPress Wiki</a> &#8211; This looks interesting, although I have no idea how I&#8217;m going to integrate this into a subdomain.domain.net/wiki URL structure. If anyone has any ideas, I&#8217;ll be glad to hear them. </li>
<li><a href="http://simple-press.com/" target="_blank">Simple Press</a> &#8211; This is the other thing I wanted on my website, and I&#8217;m quite happy WordPress has a plugin for it. </li>
</ol>
<p>Unfortunately, to do a lot of this, I might have to shuffle some URLs and pages around. I will do my best to keep the site as functional as possible (perhaps even resorting to the evil redirection trick), but if you can&#8217;t find anything or see a problem with the website, please contact me so I can fix the problem. Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://ananthonline.net/2010/06/08/website-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brahma on Wikipedia</title>
		<link>http://ananthonline.net/2009/10/21/brahma-on-wikipedia/</link>
		<comments>http://ananthonline.net/2009/10/21/brahma-on-wikipedia/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 14:33:00 +0000</pubDate>
		<dc:creator>ananth</dc:creator>
				<category><![CDATA[Brahma]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.ananthonline.net/?p=41</guid>
		<description><![CDATA[ Tweet <p>I just found out this morning that a link to the Brahma website has made it into Wikipedia (under the topic GPGPU). Cool!</p> <p>The lack of updates on Brahma is because I have moved to the United States (early this month) and will be living and working here from now. It&#8217;s been crazy [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fananthonline.net%2F2009%2F10%2F21%2Fbrahma-on-wikipedia%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://ananthonline.net/2009/10/21/brahma-on-wikipedia/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://ananthonline.net/2009/10/21/brahma-on-wikipedia/"  data-text="Brahma on Wikipedia" data-count="horizontal" data-via="ananthonline">Tweet</a>
			</div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://ananthonline.net/2009/10/21/brahma-on-wikipedia/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>I just found out this morning that a <a href="http://en.wikipedia.org/wiki/GPGPU#See_also">link</a> to the Brahma website has made it into Wikipedia (under the topic GPGPU). Cool!</p>
<p>The lack of updates on Brahma is because I have moved to the United States (early this month) and will be living and working here from now. It&#8217;s been crazy busy getting settled in. I have been working on Brahma in my spare time, though. DataParallelArray3D will probably be the first feature out. Stay tuned.</p>
<p>My sincere apologies to anyone who emailed me in this past month, I will get around to responding to you real soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://ananthonline.net/2009/10/21/brahma-on-wikipedia/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Interview up on DotNetRocks!</title>
		<link>http://ananthonline.net/2009/07/23/interview-up-on-dotnetrocks/</link>
		<comments>http://ananthonline.net/2009/07/23/interview-up-on-dotnetrocks/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 13:50:00 +0000</pubDate>
		<dc:creator>ananth</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Brahma]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.ananthonline.net/?p=40</guid>
		<description><![CDATA[ Tweet <p>My interview about Brahma is up on DotNetRocks, you can find it here. I hope this helps Brahma&#8217;s popularity and remember, contributions are most welcome (samples, help getting Brahma to run on Mono on Linux)!</p> <p>I&#8217;ve recently had a new idea, the concept of using user-defined types with Brahma. This should (hopefully) be [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fananthonline.net%2F2009%2F07%2F23%2Finterview-up-on-dotnetrocks%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://ananthonline.net/2009/07/23/interview-up-on-dotnetrocks/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://ananthonline.net/2009/07/23/interview-up-on-dotnetrocks/"  data-text="Interview up on DotNetRocks!" data-count="horizontal" data-via="ananthonline">Tweet</a>
			</div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://ananthonline.net/2009/07/23/interview-up-on-dotnetrocks/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>My interview about Brahma is up on DotNetRocks, you can find it <a href="http://www.dotnetrocks.com/default.aspx?showNum=466">here</a>. I hope this helps Brahma&#8217;s popularity and remember, contributions are most welcome (samples, help getting Brahma to run on Mono on Linux)!</p>
<p>I&#8217;ve recently had a new idea, the concept of using user-defined types with Brahma. This should (hopefully) be out soon! Look out!</p>
]]></content:encoded>
			<wfw:commentRss>http://ananthonline.net/2009/07/23/interview-up-on-dotnetrocks/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Brahma on DotNetRocks</title>
		<link>http://ananthonline.net/2009/07/08/brahma-on-dotnetrocks/</link>
		<comments>http://ananthonline.net/2009/07/08/brahma-on-dotnetrocks/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 18:02:00 +0000</pubDate>
		<dc:creator>ananth</dc:creator>
				<category><![CDATA[Brahma]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.ananthonline.net/?p=39</guid>
		<description><![CDATA[ Tweet <p>We all know .NET rocks. Apparently, the guys over at www.dotnetrocks.com thought Brahma rocks, too! Carl Franklin, Richard Campbell and I had an hour long conversation about Brahma; how it works and what the future for it is like.</p> <p>It&#8217;s going to be published on the 23rd of July 2009, so watch out [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fananthonline.net%2F2009%2F07%2F08%2Fbrahma-on-dotnetrocks%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://ananthonline.net/2009/07/08/brahma-on-dotnetrocks/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://ananthonline.net/2009/07/08/brahma-on-dotnetrocks/"  data-text="Brahma on DotNetRocks" data-count="horizontal" data-via="ananthonline">Tweet</a>
			</div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://ananthonline.net/2009/07/08/brahma-on-dotnetrocks/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>We all know .NET rocks. Apparently, the guys over at <a href="http://www.dotnetrocks.com">www.dotnetrocks.com</a> thought Brahma rocks, too! Carl Franklin, Richard Campbell and I had an hour long conversation about Brahma; how it works and what the future for it is like.</p>
<p>It&#8217;s going to be published on the 23rd of July 2009, so watch out for it!</p>
<p>Awesome!</p>
]]></content:encoded>
			<wfw:commentRss>http://ananthonline.net/2009/07/08/brahma-on-dotnetrocks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lyre – A Windows 7 music player</title>
		<link>http://ananthonline.net/2009/05/18/lyre-a-windows-7-music-player/</link>
		<comments>http://ananthonline.net/2009/05/18/lyre-a-windows-7-music-player/#comments</comments>
		<pubDate>Mon, 18 May 2009 13:35:24 +0000</pubDate>
		<dc:creator>ananth</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://blog.ananthonline.net/?p=36</guid>
		<description><![CDATA[ Tweet <p>What does Windows 7 have to do with music? Nothing, really. But I&#8217;ve noticed that no one has been enterprising enough to put the Window 7 taskbar features to REALLY good use and make an mp3 player that we can use while we work (WMP team, are you listening?). I mean, who doesn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fananthonline.net%2F2009%2F05%2F18%2Flyre-a-windows-7-music-player%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://ananthonline.net/2009/05/18/lyre-a-windows-7-music-player/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://ananthonline.net/2009/05/18/lyre-a-windows-7-music-player/"  data-text="Lyre – A Windows 7 music player" data-count="horizontal" data-via="ananthonline">Tweet</a>
			</div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://ananthonline.net/2009/05/18/lyre-a-windows-7-music-player/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>What does Windows 7 have to do with music? Nothing, really. But I&#8217;ve noticed that no one has been enterprising enough to put the Window 7 taskbar features to REALLY good use and make an mp3 player that we can use while we work (WMP team, are you listening?). I mean, who doesn&#8217;t listen to music while working? Everyone who raised their hands can leave the room now. Just kidding.</p>
<p>Onto the good stuff. Lyre sits in your taskbar, updates the application icon with the album art (if present), shows play progress on the taskbar button and provides all the basic play controls as thumb-buttons on the taskbar. There are no visualizations yet, but they should be easy enough to do if there&#8217;s enough demand for it. Here are some screenshots:</p>
<p><a href="http://blog.ananthonline.net/wp-content/uploads/2009/05/thumbnailcontrols.jpg"><img src="http://blog.ananthonline.net/wp-content/uploads/2009/05/thumbnailcontrols-thumb.jpg" style="border-width: 0px; display: inline" title="Thumbnail&amp;Controls" alt="Thumbnail&amp;Controls" border="0" height="244" width="232" /></a></p>
<p>Here&#8217;s the player with controls, progress and tag-reading.</p>
<p><a href="http://blog.ananthonline.net/wp-content/uploads/2009/05/jumplist.jpg"><img src="http://blog.ananthonline.net/wp-content/uploads/2009/05/jumplist-thumb.jpg" style="border-width: 0px; display: inline" title="Jumplist" alt="Jumplist" border="0" height="244" width="226" /></a></p>
<p>You can control the player by using it&#8217;s jump list.</p>
<p>True, this project only took me a week to complete (to this level), but there were a lot of unknowns and problems with the managed Windows7 integration wrapper. Well, I guess I should write a blog post on those later <img src='http://ananthonline.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Download it here, give it a whirl and let me know what you think.</p>
<p style="margin: 0px; padding: 0px; display: inline; float: none" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:388c032c-fa4e-4155-bfd4-d807fb305896" class="wlWriterEditableSmartContent"><a href="http://blog.ananthonline.net/wp-content/uploads/2009/05/lyresetup.zip" target="_self">Lyre-setup.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ananthonline.net/2009/05/18/lyre-a-windows-7-music-player/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

