[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4688: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4690: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4691: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4692: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
Parallella Community • View topic - Starter Project - Conway's Game of Life?

Starter Project - Conway's Game of Life?

Moderator: dar

Starter Project - Conway's Game of Life?

Postby stealthpaladin » Wed Aug 21, 2013 10:54 am

Talking with nickoppen in this thread; I decided to get a few base libraries up and running, but especially OpenCL and interop with GLFW for data visualization. Please let me know if anyone wants other broad-domain libraries linked up with at least a hello world or basic unit output.


Anyway, I was thinking about projects that would result in some helpful code and had this idea. Given the way the Epiphany cores communicate with each other, the routing pattern/speeds etc.. Do you think would be a good demonstration of how OpenCL kernels can be tasked with more optimal patterns?


I'm thinking that during the process of re-implementing the game to match epiphany (and the commuting of data in the game is quite similar) I could play with the base rules to make them match Epiphany to do constant-time operations on full memory banks. I think the end result of what I'll need to make could next be used to map standard NDRanges into a more 'grid-over-time' optimization.

Hopefully this can be a good entry-point demo for people making a transition from more common 1D/2D linear array optimization style to Epiphany optimization style.

Looking for feedback as to whether this might work out to be fairly enlightening on the architecture usage through OpenCL, if you know of any other/better demos or good tips for getting this to work =)
User avatar
stealthpaladin
 
Posts: 41
Joined: Sat Jul 20, 2013 9:46 am

Re: Starter Project - Conway's Game of Life?

Postby hamster » Wed Aug 21, 2013 9:05 pm

Excellent idea!

A lot of research on fast implementations of Game of Life has been done, one being hashlife (http://en.wikipedia.org/wiki/Hashlife) - the image on the page is "The 6,366,548,773,467,669,985,195,496,000 (6 octillionth) generation of a very complicated Game of Life pattern computed in less than 30 seconds on an Intel Core Duo 2GHz CPU using hashlife in Golly". It would be hard for the Parallella to beat that, as hashlife changes a CPU bound workload into one constrained by memory space (something that the cores in the parallella are a little short on).

However, there is a really interesting derivative of GoL, called SmoothLive. Have a look at the video at http://www.youtube.com/watch?v=KJe9H6qS82I. It is a continuous version (i.e. is not a grid) and very floating point heavy. It also looks awesomely organic!
hamster
 
Posts: 75
Joined: Mon Dec 17, 2012 3:23 am
Location: New Zealand

Re: Starter Project - Conway's Game of Life?

Postby LamsonNguyen » Thu Aug 22, 2013 6:20 am

I think this would make for a great demo of the Epiphany. Concrete code examples are always helpful.
LamsonNguyen
 
Posts: 138
Joined: Sun Dec 16, 2012 7:09 pm

Re: Starter Project - Conway's Game of Life?

Postby stealthpaladin » Mon Aug 26, 2013 3:26 am

Very cool, I will get on that then =) I've wanted some reason to do a version of Game of Life for a while!

Hamster, nice links! I hadn't ever seen SmoothLive before,... quite interesting o_o and looks awesome lol
Looking at Hashlife, implementing a similar algorithm would definitely need some changes for the Epiphany to run optimally, but hashes are so uniform it might be possible to cook something up that re-balances the work again ;

As soon as I get a board to develop with, I'll post a project up on github and link to it here on the forums.

Anyone wanting other simple 'link my libs and hello world' projects plz PM me or reply somehow and I'll try to put up others =)
User avatar
stealthpaladin
 
Posts: 41
Joined: Sat Jul 20, 2013 9:46 am


Return to OpenCL

Who is online

Users browsing this forum: No registered users and 5 guests

cron