<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>GPGPU Blog</title>
	<atom:link href="http://gpuproject.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://gpuproject.wordpress.com</link>
	<description>GPU Project Blog from Bogazici University</description>
	<lastBuildDate>Fri, 08 Jan 2010 17:48:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='gpuproject.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>GPGPU Blog</title>
		<link>http://gpuproject.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://gpuproject.wordpress.com/osd.xml" title="GPGPU Blog" />
	<atom:link rel='hub' href='http://gpuproject.wordpress.com/?pushpress=hub'/>
		<item>
		<title>04.01.2010 &#8211; Seventh Meeting Report</title>
		<link>http://gpuproject.wordpress.com/2010/01/08/04-01-2010-seventh-meeting-report/</link>
		<comments>http://gpuproject.wordpress.com/2010/01/08/04-01-2010-seventh-meeting-report/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 17:48:40 +0000</pubDate>
		<dc:creator>melihmert</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gpuproject.wordpress.com/?p=130</guid>
		<description><![CDATA[In this report, the topics discussed in this meeting will be mentioned. First of all, we explained the performance of our parallel simulation algorithm. After we tested its first version with aiger benchmarks, we received worse results than our sequential algorithm. Than, we told which optimization techniques we applied in order to make it faster [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=130&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In this report, the topics discussed in this meeting will be mentioned.</p>
<p>First of all, we explained the performance of our parallel simulation algorithm. After we tested its first version with aiger benchmarks, we received worse results than our sequential algorithm. Than, we told which optimization techniques we applied in order to make it faster than sequential one.</p>
<p>Secondly, we made some assumptions in our parallel code to run on some specific input files correctly, then we decided to generalize them, and make our simulation code work efficiently with every input file.</p>
<p>Thirdly, we discussed benefits of random input generation for our net-lists in the code instead of reading these inputs from an input file. Then, we concluded that this change will remove some overhead on simulation code.</p>
<p>Finally, we talked about extra optimization operations that we can apply our code and how these changes may affect simulation time. Then, our supervisor made some comments about progress and posted us some new large benchmarks.</p>
<p>Up to next meeting, we are going to deal with new optimizations, tests, and we are going to upgrade our simulation code.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gpuproject.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gpuproject.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gpuproject.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gpuproject.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gpuproject.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gpuproject.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gpuproject.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gpuproject.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gpuproject.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gpuproject.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gpuproject.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gpuproject.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gpuproject.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gpuproject.wordpress.com/130/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=130&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gpuproject.wordpress.com/2010/01/08/04-01-2010-seventh-meeting-report/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c495ffb9b0988d3aa66b3ac0fc41b8c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">melihmert</media:title>
		</media:content>
	</item>
		<item>
		<title>Report 9 &#8211; Melih Mert</title>
		<link>http://gpuproject.wordpress.com/2010/01/05/report-9-melih-mert/</link>
		<comments>http://gpuproject.wordpress.com/2010/01/05/report-9-melih-mert/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 23:04:36 +0000</pubDate>
		<dc:creator>melihmert</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gpuproject.wordpress.com/?p=128</guid>
		<description><![CDATA[In this week, we have worked on improving our algorithm most of the time. We had implemented the last parallel version of our code by using CUDA architecture. This time, we focused on optimization features that this architecture provided us. First of all, we built our special clusters for blocks. Then, we controlled that the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=128&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div>
<p>In this week, we have worked on improving our algorithm most of the time. We had implemented the last parallel version of our code by using CUDA architecture. This time, we focused on optimization features that this architecture provided us.</p>
<p>First of all, we built our special clusters for blocks. Then, we controlled that the distribution of gates into these clusters were balanced or not for some test net-lists. Then, we left a number of levels at the top part to be executed by a single block. After arranging the clusters and blocks, we made a number of tests with both parallel and sequential version of code.</p>
<p>At the beginning, we got very bad results for parallel version when it was compared with sequential one. Then, we had to make certain optimizations. As memory optimizations increased in our code, we saw that time of parallel simulation decreased very much. In order to make optimizations in the code, we were quite careful in analyzing our code.</p>
<p>During next week, we will continue with optimization work and try new techniques.</p>
<p>Melih Mert</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gpuproject.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gpuproject.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gpuproject.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gpuproject.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gpuproject.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gpuproject.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gpuproject.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gpuproject.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gpuproject.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gpuproject.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gpuproject.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gpuproject.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gpuproject.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gpuproject.wordpress.com/128/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=128&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gpuproject.wordpress.com/2010/01/05/report-9-melih-mert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c495ffb9b0988d3aa66b3ac0fc41b8c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">melihmert</media:title>
		</media:content>
	</item>
		<item>
		<title>Report 8 &#8211; Melih Mert</title>
		<link>http://gpuproject.wordpress.com/2010/01/05/report-8-melih-mert/</link>
		<comments>http://gpuproject.wordpress.com/2010/01/05/report-8-melih-mert/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 22:23:02 +0000</pubDate>
		<dc:creator>melihmert</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gpuproject.wordpress.com/?p=123</guid>
		<description><![CDATA[In this week, there was an important point in our simulation code. We noticed that our advanced simulation algorithm gave some incorrect results for long output lists while we were testing it with large net-lists. Then, we found that our simulation logic was incomplete and this led us to modify the whole simulation code from [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=123&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In this week, there was an important point in our simulation code. We noticed that our advanced simulation algorithm gave some incorrect results for long output lists while we were testing it with large net-lists. Then, we found that our simulation logic was incomplete and this led us to modify the whole simulation code from the beginning.</p>
<p>First of all, we tried to understand the logic of Aiger simulation code. This was really important for us to know which techniques were used in this simulation. After understanding its details, we wrote our sequential simulation code which worked very fast when compared with the previous versions. Then, we parallelized this code. However, we had another inconsistency in output values. The reason of this is that we could not synchronize threads in different blocks in CUDA architecture. So we should find another method for parallel version.</p>
<p>Finally, we implemented different kernels for distinct tasks. This helped us to provide a safe and correct synchronization mechanism. Then, we tested our simulation code with some net-lists. Then, we decided that we had to work on it in more detail.</p>
<p>During next week, we are going to work on improving our last parallel simulation algorithm.</p>
<p>Melih Mert</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gpuproject.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gpuproject.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gpuproject.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gpuproject.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gpuproject.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gpuproject.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gpuproject.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gpuproject.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gpuproject.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gpuproject.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gpuproject.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gpuproject.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gpuproject.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gpuproject.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=123&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gpuproject.wordpress.com/2010/01/05/report-8-melih-mert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c495ffb9b0988d3aa66b3ac0fc41b8c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">melihmert</media:title>
		</media:content>
	</item>
		<item>
		<title>Report 9, Murat Bozkurt</title>
		<link>http://gpuproject.wordpress.com/2010/01/04/report-9-murat-bozkurt/</link>
		<comments>http://gpuproject.wordpress.com/2010/01/04/report-9-murat-bozkurt/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 18:43:56 +0000</pubDate>
		<dc:creator>muratbozkurt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gpuproject.wordpress.com/?p=120</guid>
		<description><![CDATA[In this week, we mainly worked on improving our last parallel algorithm. In our algorithm, we firstly levelized gates. After that, we divided gates into clusters by making all of them independent from each other. Then, we simulate and gates, after that we simulate latches for all cycles. The most time consuming part was the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=120&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In this week, we mainly worked on improving our last parallel algorithm.</p>
<p>In our algorithm, we firstly levelized gates. After that, we divided gates into clusters by making all of them independent from each other. Then, we simulate and gates, after that we simulate latches for all cycles.</p>
<p>The most time consuming part was the optimization part of our code. To do this, we analyzed our code to be able to decide where we could use shared memory instead of global memory. After we made use of shared memory in some of our code, we decreased time to run to nearly 60% of the recent week&#8217;s result.</p>
<p>In the next week, we are planning to make further optimizations to make our result better than the sequential part.</p>
<p>Murat Bozkurt</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gpuproject.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gpuproject.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gpuproject.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gpuproject.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gpuproject.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gpuproject.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gpuproject.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gpuproject.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gpuproject.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gpuproject.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gpuproject.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gpuproject.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gpuproject.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gpuproject.wordpress.com/120/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=120&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gpuproject.wordpress.com/2010/01/04/report-9-murat-bozkurt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c6ceeaeb7b6cf62b3ba383b45014892f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">muratbozkurt</media:title>
		</media:content>
	</item>
		<item>
		<title>Report 8, Murat Bozkurt</title>
		<link>http://gpuproject.wordpress.com/2010/01/04/report-8-murat-bozkurt/</link>
		<comments>http://gpuproject.wordpress.com/2010/01/04/report-8-murat-bozkurt/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 18:12:09 +0000</pubDate>
		<dc:creator>muratbozkurt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gpuproject.wordpress.com/?p=118</guid>
		<description><![CDATA[In this week,  we firstly finished the implementation of our code&#8217;s second version which uses linked lists. Then we started testing our code. We realized that it did not work correctly. After brainstorming, we found that our simulation logic was incorrect in some aspects. After that, we analyzed the AIGER simulation code and understood our [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=118&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In this week,  we firstly finished the implementation of our code&#8217;s second version which uses linked lists. Then we started testing our code. We realized that it did not work correctly. After brainstorming, we found that our simulation logic was incorrect in some aspects.</p>
<p>After that, we analyzed the AIGER simulation code and understood our mistake. Then, we started to write our new algorithm. Again, this new algorithm is based on levels which provide necessary independence for parallelism. Then we wrote two distinct kernels, the first one is for simulating the and gates and the other one is for simulating the latches.</p>
<p>After writing our algorithm, we realized that it did not behave as we expected. After some researches, we found out that CUDA does not allow block synchronization. To make blocks sychronized, we should use different kernels. Launching new kernels implicitly synchronize blocks. So, we should think a new parallel algorithm on our latest correct sequential algorithm.</p>
<p>We implemented a new parallel algorithm but it had a very bad performance initially.</p>
<p>In the next week, we are planning to increase our algorithm&#8217;s performance by considering CUDA optimization techniques.</p>
<p>Murat Bozkurt</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gpuproject.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gpuproject.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gpuproject.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gpuproject.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gpuproject.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gpuproject.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gpuproject.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gpuproject.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gpuproject.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gpuproject.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gpuproject.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gpuproject.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gpuproject.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gpuproject.wordpress.com/118/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=118&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gpuproject.wordpress.com/2010/01/04/report-8-murat-bozkurt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c6ceeaeb7b6cf62b3ba383b45014892f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">muratbozkurt</media:title>
		</media:content>
	</item>
		<item>
		<title>weekly report 9 – Barış Akşanlı</title>
		<link>http://gpuproject.wordpress.com/2010/01/02/weekly-report-9-%e2%80%93-baris-aksanli/</link>
		<comments>http://gpuproject.wordpress.com/2010/01/02/weekly-report-9-%e2%80%93-baris-aksanli/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 22:09:51 +0000</pubDate>
		<dc:creator>aksanli</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gpuproject.wordpress.com/?p=115</guid>
		<description><![CDATA[Lastly, we decided to construct a new algorithm in order to achieve a better performance in parallelism. To do this, we need to ensure the independence between the blocks in order not to deal with any block synchronization issue. This algorithm works as: - First we determine a level in which there are at least [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=115&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Lastly, we decided to construct a new algorithm in order to achieve a better performance in parallelism. To do this, we need to ensure the independence between the blocks in order not to deal with any block synchronization issue. This algorithm works as:</p>
<p>- First we determine a level in which there are at least 30 gates. This number then will be used as block number. (This determination is generic, in other words, we can change it to 40 or 50 to see if increased number of blocks will result in better performance)</p>
<p>- After determining the relevant level, we start going back from each of the and gates in that level and construct a triangular shape.</p>
<p>- In the base of that triangle, there are the inputs and in the rightest part there is the single output.</p>
<p>- When determining this triangular shape, we copy the necessary gates for each block, so that the blocks become independent from each other.</p>
<p>- We try to leave the number of gates coming after the determined level low so that they can be simulated by just one block. (If we did not ensure this, we would again need to deal with explicit block synchronization which does not operate correctly every time.)</p>
<p>- After implementing this algorithm we started to make some time efficiency control. At the beginning the method worked quite inefficient(slower than the sequential version). However, after this observation, we started to use the techniques that CUDA offers us. Those include mostly memory optimizations.</p>
<p>- We should make the need for global memory as less as possible since reaching to device global memory is a quite expensive operation. We traced our code and made optimizations based on this phenomenon. Then, we observed an increase in time efficiency. However, the level is still not as good as we expect.</p>
<p><em>Next Goal:</em> During the next week we will work on optimizing this method further since this method promises more ways for optimization. And we also begin to use the test cases coming from sparc and opencore.</p>
<p>Barış Akşanlı</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gpuproject.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gpuproject.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gpuproject.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gpuproject.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gpuproject.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gpuproject.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gpuproject.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gpuproject.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gpuproject.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gpuproject.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gpuproject.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gpuproject.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gpuproject.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gpuproject.wordpress.com/115/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=115&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gpuproject.wordpress.com/2010/01/02/weekly-report-9-%e2%80%93-baris-aksanli/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fec5c82478765f40e61ef033d806856?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aksanli</media:title>
		</media:content>
	</item>
		<item>
		<title>weekly report 8 – Barış Akşanlı</title>
		<link>http://gpuproject.wordpress.com/2010/01/02/weekly-report-8-%e2%80%93-baris-aksanli/</link>
		<comments>http://gpuproject.wordpress.com/2010/01/02/weekly-report-8-%e2%80%93-baris-aksanli/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 21:52:23 +0000</pubDate>
		<dc:creator>aksanli</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gpuproject.wordpress.com/?p=111</guid>
		<description><![CDATA[After finishing the implementation of the linked list version of our simulation algorithm, we also finished the parallel implementation of this version. Then we performed some tests on AIGER benchmarks, and we saw performance increase in the parallel version. However, after performing on some specific test cases, we realized that our simulation logic dow not [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=111&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>After finishing the implementation of the linked list version of our simulation algorithm, we also finished the parallel implementation of this version. Then we performed some tests on AIGER benchmarks, and we saw performance increase in the parallel version. However, after performing on some specific test cases, we realized that our simulation logic dow not always give the correct answer. So, we started to investigate the reason that causes this problem. And we saw that there some cases in which our simulation logic does not behave correct.</p>
<p>After this observation, we began to investigate the simulation code of AIGER itself and achieved to understand the specific structure of AIGER itself. Then we rewrote our simulation algorithm in correspondence with this simulation algorithm of AIGER itself. After finishing the implementation, we saw that the new sequential code works really fast. So this has explained the reason why AIGER simulation works quite fast even for big input data.</p>
<p>After seeing that the old global level-local level logic is wrong, we constructed a new parallelism method for the newly generated sequential algorithm. This method again includes a level based simulation. The base for level is required to construct the necessary independence for parallelism. Then we generated two distinct kernel functions, one for simulating the and gates and the other for simulating the latches.</p>
<p>We planned to perform the and gate simulation in one kernel. And obtained good timing results at first. However, when we wanted to validate the answers, we saw that there are some inconsistency between the AIGER answers and ours. So, we debugged our code and realized that the technique we used for block synchronization is not working as we want. This made us to make a detailed search about the block synchronization in CUDA and the fact that we learned is that there is no way to synchronize the blocks in CUDA. The only way to synchronize the blocks is to divide the kernel into multiple parts so that the block synchronization can be handled implicitly by CUDA architecture.</p>
<p>Then we divided our kernel into different parts and we were able to validate the correctness of the answers in parallel execution. However, in this time the time efficiency decreased dramatically, such that we obtained 4 times worse results. We tried to use some properties of CUDA architecture in order to increase the performance, however the time efficiency did not improve as we want.</p>
<p>So, this situation made us to develop another algorithm for parallel simulation. Since we did not want to divide the kernel into multiple parts, we should construct the independence between the blocks(as we can not synchronize them manually). This method includes the duplication of the gates that shall be used by more than one block. In this method, we will generate more blocks and use them efficiently.</p>
<p><em>Next Goal:</em> We will start to implement the new parallel algorithm and test it in terms of correctness and time efficiency.</p>
<p>Barış Akşanlı</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gpuproject.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gpuproject.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gpuproject.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gpuproject.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gpuproject.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gpuproject.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gpuproject.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gpuproject.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gpuproject.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gpuproject.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gpuproject.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gpuproject.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gpuproject.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gpuproject.wordpress.com/111/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=111&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gpuproject.wordpress.com/2010/01/02/weekly-report-8-%e2%80%93-baris-aksanli/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fec5c82478765f40e61ef033d806856?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aksanli</media:title>
		</media:content>
	</item>
		<item>
		<title>Report 7, Murat Bozkurt</title>
		<link>http://gpuproject.wordpress.com/2009/12/18/report-7-murat-bozkurt/</link>
		<comments>http://gpuproject.wordpress.com/2009/12/18/report-7-murat-bozkurt/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 16:54:11 +0000</pubDate>
		<dc:creator>muratbozkurt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gpuproject.wordpress.com/?p=109</guid>
		<description><![CDATA[In this week, I mainly worked on: - Correcting bug in our first version of code - Adding new functions on the new implemented version of our code First of all, there were bugs in our first code and I tried to find them using benchmarks from AIGER web-site. That requires debugging the code and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=109&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In this week, I mainly worked on:</p>
<p>- Correcting bug in our first version of code</p>
<p>- Adding new functions on the new implemented version of our code</p>
<p>First of all, there were bugs in our first code and I tried to find them using benchmarks from AIGER web-site. That requires debugging the code and detecting the bug. After detecting it, I corrected some of these bugs.</p>
<p>After that, I worked on our code&#8217;s new implementation which was done using linked lists instead of arrays. It requires additional functions and I worked on writing them.</p>
<p>In addition to these, I worked on parallelization of our code&#8217;s second version. Parallelization part of two versions are very similar but we had to make some modifications on them. Also, we made some optimizations on them for better efficiency.</p>
<p>In the next week, I will work on parallelization of our code and try to make it fully functional.</p>
<p>Murat Bozkurt</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gpuproject.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gpuproject.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gpuproject.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gpuproject.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gpuproject.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gpuproject.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gpuproject.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gpuproject.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gpuproject.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gpuproject.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gpuproject.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gpuproject.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gpuproject.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gpuproject.wordpress.com/109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=109&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gpuproject.wordpress.com/2009/12/18/report-7-murat-bozkurt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c6ceeaeb7b6cf62b3ba383b45014892f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">muratbozkurt</media:title>
		</media:content>
	</item>
		<item>
		<title>16.12.2009 &#8211; Melih Mert &#8211; Report 7</title>
		<link>http://gpuproject.wordpress.com/2009/12/16/16-12-2009-melih-mert-report-7/</link>
		<comments>http://gpuproject.wordpress.com/2009/12/16/16-12-2009-melih-mert-report-7/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 17:04:14 +0000</pubDate>
		<dc:creator>melihmert</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gpuproject.wordpress.com/?p=105</guid>
		<description><![CDATA[In this report, I am going to summarize what I have done during this week. Firstly, I have spent most of my time in designing and testing the parallelization code that we have written for our simulation algorithm. Secondly, there were certain problems in some parts of the code, and I tried to find the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=105&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In this report, I am going to summarize what I have done during this week.</p>
<p>Firstly, I have spent most of my time in designing and testing the parallelization code that we have written for our simulation algorithm.</p>
<p>Secondly, there were certain problems in some parts of the code, and I tried to find the source of these bugs.</p>
<p>In order to design a parallel code for our simulation algorithm, all synchronization issues must be considered carefully before starting coding. All threads in all blocks that are active in kernel access some memory locations in our structures. Therefore, concurrent read and write shall not be allowed for the same location in our kernel. I have worked basically on this.</p>
<p>Then, I have spent some time on debugging our code in order to check efficiency of our search and traversal algorithms, and how they perform if a deep net-list was taken as input. Then, I saw that this linked list structure performs quite well in doing these operations, whereas our previous structures degrades the performance dramatically.</p>
<p>In addition, we delivered our third interim report of the project to our supervisor.</p>
<p>Next week, I am going to concentrate more on our code as a whole. I will make a number of tests aiming to detect any possible error.  In addition, performance of our parallel simulation shall be compared with other simulation tools.</p>
<p>Melih Mert</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gpuproject.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gpuproject.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gpuproject.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gpuproject.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gpuproject.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gpuproject.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gpuproject.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gpuproject.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gpuproject.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gpuproject.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gpuproject.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gpuproject.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gpuproject.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gpuproject.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=105&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gpuproject.wordpress.com/2009/12/16/16-12-2009-melih-mert-report-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c495ffb9b0988d3aa66b3ac0fc41b8c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">melihmert</media:title>
		</media:content>
	</item>
		<item>
		<title>weekly report 7 – Barış Akşanlı</title>
		<link>http://gpuproject.wordpress.com/2009/12/14/weekly-report-7-%e2%80%93-baris-aksanli/</link>
		<comments>http://gpuproject.wordpress.com/2009/12/14/weekly-report-7-%e2%80%93-baris-aksanli/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 18:26:40 +0000</pubDate>
		<dc:creator>aksanli</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gpuproject.wordpress.com/?p=102</guid>
		<description><![CDATA[During the last week, I mainly concentrated on two basic things about our project: - Rewriting of our cycle based simulation with using linked list representation. - Updating and correcting the first kernel written before. I firstly focused on establishing a new data structure that shall keep the netlist of a given circuit. Last time, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=102&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>During the last week, I mainly concentrated on two basic things about our project:</p>
<p>- Rewriting of our cycle based simulation with using linked list representation.</p>
<p>- Updating and correcting the first kernel written before.</p>
<p>I firstly focused on establishing a new data structure that shall keep the netlist of a given circuit. Last time, we were using arrays to keep the netlist information. However, we examined our implementation and saw that that implementation is not efficient enough particularly if we used huge netlists. The main reason is that we could not keep the connection information properly with arrays. Then, we decided to construct a linked list. With this, we would be able to keep the connection information of each node. Also, with linked list implementation, the graph traversals have become easier and more efficient since we then knew where to go after examining an and gate or a latch. After finishing the implementation, we observed that this way is much better than the old implementation.</p>
<p>After finishing the implementation of the new way, I tried the new code with some benchmarks from AIGER web-site to validate our implementation.</p>
<p>Then, I finally came to alter the kernel code. Actually, there were not many changes in the kernel resulting from our new implementation. However, we also tried to improve the code quality and the efficiency of the kernel written before. Then we ran the code firstly in our own machines with the emulator facility provided by NVIDIA. However, there are still some concurrency problems that we should handle before we claim a successful conclusion.<em> </em></p>
<p><em>Next Goal:</em> In this week, the main concentration will be on correcting the kernel and making it to opearte fully functional. Then we shall check the validity of the source code and verify it. The last part, of course, includes testing with benchmarks provided in AIGER&#8217;s website.</p>
<p>Barış Akşanlı</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gpuproject.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gpuproject.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gpuproject.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gpuproject.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gpuproject.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gpuproject.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gpuproject.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gpuproject.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gpuproject.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gpuproject.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gpuproject.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gpuproject.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gpuproject.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gpuproject.wordpress.com/102/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gpuproject.wordpress.com&amp;blog=9890548&amp;post=102&amp;subd=gpuproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gpuproject.wordpress.com/2009/12/14/weekly-report-7-%e2%80%93-baris-aksanli/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6fec5c82478765f40e61ef033d806856?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aksanli</media:title>
		</media:content>
	</item>
	</channel>
</rss>
