Home > Uncategorized > Report 8, Murat Bozkurt

Report 8, Murat Bozkurt

In this week,  we firstly finished the implementation of our code’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 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.

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.

We implemented a new parallel algorithm but it had a very bad performance initially.

In the next week, we are planning to increase our algorithm’s performance by considering CUDA optimization techniques.

Murat Bozkurt

Advertisement
Categories: Uncategorized
  1. No comments yet.
  1. No trackbacks yet.
You must be logged in to post a comment.
Follow

Get every new post delivered to your Inbox.