Explore Continuous CA with Ready

For discussion of other cellular automata.
User avatar
Tim Hutton
Posts: 64
Joined: May 20th, 2010, 7:30 am
Contact:

Explore Continuous CA with Ready

Post by Tim Hutton »

Unlike normal cellular automata, continuous CA take a floating-point value at each location. One interesting class of continuous CA is reaction-diffusion systems, such as Turing patterns, thought responsible for tiger stripes and leopard spots.

Ready is a new program for exploring these systems, conceived as a sister project to Golly. It uses OpenCL for processing, and has an XML-based file format for sharing images and rules. Version 0.2 comes with 14 pattern files, including a continuous version of Conway's Game of Life.

Give it a go, let us know how you get on.
https://code.google.com/p/reaction-diffusion/

Some screenshots, from Win7, MacOSX and Linux;
Image
Image
Image
User avatar
Pilou
Posts: 63
Joined: January 20th, 2012, 5:08 am
Contact:

Re: Explore Continuous CA with Ready

Post by Pilou »

Seems very appetizing! 8)
Is beautiful that please without concept :)
User avatar
Pilou
Posts: 63
Joined: January 20th, 2012, 5:08 am
Contact:

Re: Explore Continuous CA with Ready

Post by Pilou »

It's pity that we can't save as 3D file format :(
Or I miss something ?
Is beautiful that please without concept :)
User avatar
Tim Hutton
Posts: 64
Joined: May 20th, 2010, 7:30 am
Contact:

Re: Explore Continuous CA with Ready

Post by Tim Hutton »

Pilou wrote:It's pity that we can't save as 3D file format :(
Or I miss something ?
It saves files as .vti, which is VTK's 3D image format. These can be read in other packages, like Paraview.

Do you want the 3D mesh surface as e.g. OBJ? We will definitely include this soon, it's on our TODO list.
User avatar
Wojowu
Posts: 210
Joined: October 1st, 2011, 1:24 pm

Re: Explore Continuous CA with Ready

Post by Wojowu »

Are these CA spatialy continuous, temporary or in terms of states?
Last edited by Wojowu on March 23rd, 2012, 10:14 am, edited 2 times in total.
First question ever. Often referred to as The Question. When this question is asked in right place in right time, no one can lie. No one can abstain. But when The Question is asked, silence will fall. Silence must fall. The Question is: Doctor Who?
User avatar
Tim Hutton
Posts: 64
Joined: May 20th, 2010, 7:30 am
Contact:

Re: Explore Continuous CA with Ready

Post by Tim Hutton »

Wojowu wrote:Are these CA spatialy continuous, temporary or in terms of states?
The implementation is only state-wise continuous. (I don't know how else we'd do it.) Each cell is discrete and has a floating-point value at each discrete timestep. Cells are updated synchronously.

But this is a standard method of approximating a system that is fully continuous in space and time and value. We currently use the Euler method for systems specified by differential equation (e.g. heat_equation.vti). By changing the timestep and the spatial scale, the simulation can be made arbitrarily close to a fully-continuous system.

We also support (e.g. conway_life.vti) systems that are actually discrete in space and time. Here timestep isn't a parameter.
User avatar
Wojowu
Posts: 210
Joined: October 1st, 2011, 1:24 pm

Re: Explore Continuous CA with Ready

Post by Wojowu »

Error appears when opening patterns from FitzHugh-Nagumo folder

Code: Select all

Failed to open file. Error:

OpenCL_RD::ReloadKernelIfNeeded : expecting CL_KERNEL_WORK_GROUP_SIZE to be a power of 2
First question ever. Often referred to as The Question. When this question is asked in right place in right time, no one can lie. No one can abstain. But when The Question is asked, silence will fall. Silence must fall. The Question is: Doctor Who?
User avatar
Hektor
Posts: 89
Joined: November 3rd, 2011, 2:37 pm

Re: Explore Continuous CA with Ready

Post by Hektor »

I'm having some problems with the mac version...
I'm using Mac Os X Lion 10.7.2, here are some more details

Code: Select all

Process:         Ready [1145]
Path:            /Users/USER/Downloads/*/Ready.app/Contents/MacOS/Ready
Identifier:      com.google.code.reaction-diffusion
Version:         0.2 (0.2)
Code Type:       X86-64 (Native)
Parent Process:  launchd [210]

Date/Time:       2012-03-23 15:37:56.292 +0100
OS Version:      Mac OS X 10.7.2 (11C74)
Report Version:  9

Interval Since Last Report:          1585591 sec
Crashes Since Last Report:           64
Per-App Crashes Since Last Report:   3
Anonymous UUID:                      F7FD81F1-86AB-4272-8CC5-C1065DBBAD88

Crashed Thread:  0

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
  Library not loaded: /usr/local/lib/libjpeg.7.dylib
  Referenced from: /Users/USER/Downloads/*/Ready.app/Contents/MacOS/Ready
  Reason: image not found

Binary Images:
       0x100000000 -        0x100eadfff +com.google.code.reaction-diffusion (0.2 - 0.2) <2DA76DD0-DA5A-1034-68F7-79D37BD8F60E> /Users/USER/Downloads/*/Ready.app/Contents/MacOS/Ready
    0x7fff6cf74000 -     0x7fff6cfa8ac7  dyld (195.5 - ???) <B372EB7D-DCD8-30CE-9342-E06CADD7CACA> /usr/lib/dyld
    0x7fff84464000 -     0x7fff84464fff  com.apple.Carbon (153 - 153) <C1A30E01-E113-38A0-95CA-99360F92A37A> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
    0x7fff84b19000 -     0x7fff84b46ff7  com.apple.opencl (1.50.63 - 1.50.63) <DB335C5C-3ABD-38C8-B6A5-8436EE1484D3> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
    0x7fff87a28000 -     0x7fff87a92fff  com.apple.framework.IOKit (2.0 - ???) <87D55F1D-CDB5-3D13-A5F9-98EA4E22F8EE> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x7fff8b585000 -     0x7fff8b5b2fe7  libSystem.B.dylib (159.1.0 - compatibility 1.0.0) <095FDD3C-3961-3865-A59B-A5B0A4B8B923> /usr/lib/libSystem.B.dylib
    0x7fff8b9c8000 -     0x7fff8b9c8fff  com.apple.Cocoa (6.6 - ???) <7EC4D759-B2A6-3A99-AC75-809FED1500C6> /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
    0x7fff8de12000 -     0x7fff8df6bfff  com.apple.audio.toolbox.AudioToolbox (1.7.1 - 1.7.1) <4877267E-F736-3019-85D3-40A32A042A80> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
    0x7fff908c4000 -     0x7fff908d3ff7  com.apple.opengl (1.7.5 - 1.7.5) <2945F1A6-910C-3596-9988-5701B04BD821> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL

Model: iMac12,1, BootROM IM121.0047.B1D, 4 processors, Intel Core i5, 2.7 GHz, 6 GB, SMC 1.71f22
Graphics: AMD Radeon HD 6770M, AMD Radeon HD 6770M, PCIe, 512 MB
Memory Module: BANK 0/DIMM0, 2 GB, DDR3, 1333 MHz, 0x02FE, 0x45424A3231554538424655302D444A2D4620
Memory Module: BANK 1/DIMM0, 2 GB, DDR3, 1333 MHz, 0x02FE, 0x45424A3231554538424655302D444A2D4620
Memory Module: BANK 0/DIMM1, 1 GB, DDR3, 1333 MHz, 0x80AD, 0x484D54333132533642465236432D48392020
Memory Module: BANK 1/DIMM1, 1 GB, DDR3, 1333 MHz, 0x80AD, 0x484D54333132533642465236432D48392020
AirPort: spairport_wireless_card_type_airport_extreme (0x168C, 0x9A), Atheros 9380: 4.0.58.4-P2P
Bluetooth: Version 4.0.1f4, 2 service, 18 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en1
Serial ATA Device: ST31000528AS, 1 TB
Serial ATA Device: OPTIARC DVD RW AD-5690H
USB Device: FaceTime HD Camera (Built-in), apple_vendor_id, 0x850b, 0xfa200000 / 3
USB Device: hub_device, 0x0424  (SMSC), 0x2514, 0xfa100000 / 2
USB Device: BRCM2046 Hub, 0x0a5c  (Broadcom Corp.), 0x4500, 0xfa110000 / 4
USB Device: Bluetooth USB Host Controller, apple_vendor_id, 0x8215, 0xfa111000 / 7
USB Device: hub_device, 0x0424  (SMSC), 0x2514, 0xfd100000 / 2
USB Device: MTE-450, 0x056a  (WACOM Co., Ltd.), 0x0065, 0xfd140000 / 6
USB Device: Keyboard Hub, apple_vendor_id, 0x1006, 0xfd130000 / 5
USB Device: Apple Optical USB Mouse, apple_vendor_id, 0x0304, 0xfd133000 / 8
USB Device: Apple Keyboard, apple_vendor_id, 0x0250, 0xfd132000 / 7
USB Device: IR Receiver, apple_vendor_id, 0x8242, 0xfd120000 / 4
USB Device: Internal Memory Card Reader, apple_vendor_id, 0x8403, 0xfd110000 / 3

I also tried running the Win32 version with Wine, but it freezes on the main window
User avatar
Tim Hutton
Posts: 64
Joined: May 20th, 2010, 7:30 am
Contact:

Re: Explore Continuous CA with Ready

Post by Tim Hutton »

Wojowu wrote:Error appears when opening patterns from FitzHugh-Nagumo folder

Code: Select all

Failed to open file. Error:

OpenCL_RD::ReloadKernelIfNeeded : expecting CL_KERNEL_WORK_GROUP_SIZE to be a power of 2
I'm sure we can fix this. Can you send me the output of "Show OpenCL Diagnostics..." from the Action menu in Ready? Either to our mailing list: [url=mailto://reaction-diffusion@googlegroups.com]reaction-diffusion@googlegroups.com[/url] (http://groups.google.com/group/reaction-diffusion) or by private message to me here if you want anonymity.

Thanks!
User avatar
Wojowu
Posts: 210
Joined: October 1st, 2011, 1:24 pm

Re: Explore Continuous CA with Ready

Post by Wojowu »

Code: Select all

Found 1 platform(s):
Platform 1:
2304 : FULL_PROFILE
2305 : OpenCL 1.0 CUDA 3.2.1
2306 : NVIDIA CUDA
2307 : NVIDIA Corporation
2308 : cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_d3d9_sharing cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll 

Found 1 device(s) on this platform.
Device 1:
4139 : GeForce 315M
4140 : NVIDIA Corporation
4141 : 267.21
4142 : FULL_PROFILE
4143 : OpenCL 1.0 CUDA
4144 : cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_d3d9_sharing cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll  cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics 
Really, I don't have any idea what that means, but it is taken when opened another pattern. These with error can't be even opened
First question ever. Often referred to as The Question. When this question is asked in right place in right time, no one can lie. No one can abstain. But when The Question is asked, silence will fall. Silence must fall. The Question is: Doctor Who?
User avatar
Pilou
Posts: 63
Joined: January 20th, 2012, 5:08 am
Contact:

Re: Explore Continuous CA with Ready

Post by Pilou »

Do you want the 3D mesh surface as e.g. OBJ? We will definitely include this soon, it's on our TODO list.
Cool so the surface "Wireframe" can be modified in some more commun progs ;)
And thx for the Paraview!
8)
User avatar
Tim Hutton
Posts: 64
Joined: May 20th, 2010, 7:30 am
Contact:

Re: Explore Continuous CA with Ready

Post by Tim Hutton »

Hektor wrote:I'm having some problems with the mac version...
I'm using Mac Os X Lion 10.7.2, here are some more details

Code: Select all

Process:         Ready [1145]
Path:            /Users/USER/Downloads/*/Ready.app/Contents/MacOS/Ready
Identifier:      com.google.code.reaction-diffusion
...

I also tried running the Win32 version with Wine, but it freezes on the main window
We will look into this. Thanks for letting us know.

I don't think any of us have tested Ready on Wine. We do know that OpenCL isn't supported in VirtualBox, for example, but even so it shouldn't crash out.
User avatar
Tim Hutton
Posts: 64
Joined: May 20th, 2010, 7:30 am
Contact:

Re: Explore Continuous CA with Ready

Post by Tim Hutton »

Wojowu wrote:

Code: Select all

Found 1 platform(s):
Platform 1:
2304 : FULL_PROFILE
2305 : OpenCL 1.0 CUDA 3.2.1
2306 : NVIDIA CUDA
...

Found 1 device(s) on this platform.
4139 : GeForce 315M
4140 : NVIDIA Corporation
4141 : 267.21
... 
Really, I don't have any idea what that means, but it is taken when opened another pattern. These with error can't be even opened
This is what the OpenCL system reports for your hardware. It means you have the NVidia OpenCL driver installed and the GeForce 315M card is available. Sadly the card is reporting a workgroup size that we don't currently support. I will look into this.

The patterns in the CPU-Only folder should work (they don't use OpenCL). All the others will give the same error.

In the meanwhile, it might be worth installing the AMD or Intel OpenCL SDK, as this should make your CPU available as an OpenCL device. You can then select it using the command "Select OpenCL Device..." from the Action menu and all the examples should work.

Thanks for the feedback.
User avatar
Pilou
Posts: 63
Joined: January 20th, 2012, 5:08 am
Contact:

Re: Explore Continuous CA with Ready

Post by Pilou »

Works like a charm 8)

Except the fact is always the same start and not a tremenduous figure! :mrgreen:

Bravo! All the rest of the prog is a task! :)

PS What about volume for "The Game of Life" as all is on the same plane, we can subdivise the scale for have many colors on the mountains result ?

vie1.png
vie1.png (94.88 KiB) Viewed 14704 times
Is beautiful that please without concept :)
User avatar
Tim Hutton
Posts: 64
Joined: May 20th, 2010, 7:30 am
Contact:

Re: Explore Continuous CA with Ready

Post by Tim Hutton »

Pilou wrote:Works like a charm 8)

Except the fact is always the same start and not a tremenduous figure! :mrgreen:

Bravo! All the rest of the prog is a task! :)

PS What about volume for "The Game of Life" as all is on the same plane, we can subdivise the scale for have many colors on the mountains result ?
Thanks for letting us know that it's working!

If you use the command "Generate Initial Pattern" from the Action menu or toolbar button then it will generate a different pattern each time. But it's only slightly different - just a filled rectangle with random values. We hope to support painting of the values (as in Golly) and image import in a later version.

I'm not sure I understand your next bit. By 'mountains' do you mean the gray height map at the top of your screenshot? (It's called the 'displacement mapped surface' in the render settings.) You can change the vertical scale of that plot ('vertical scale 2D') and change the color ('surface color') but there is no option that puts many colors on it.
Last edited by Tim Hutton on March 23rd, 2012, 5:52 pm, edited 1 time in total.
User avatar
Pilou
Posts: 63
Joined: January 20th, 2012, 5:08 am
Contact:

Re: Explore Continuous CA with Ready

Post by Pilou »

About the OBJ file format
I have seen this video 8)

So Ready vti--> ParaView STL --> Blender ---> OBJ or any 3D format : that's very cool 8)

Thx for the explanations about the Conway file, I will see that ;)
but there is no option that puts many colors on it.
Yes but about the Scale values 0 to 1 I can't build one 0 to 0.0001 for example and have in "cheating"
some more colors on the 2D displacement mapped surface ?
here seems I have some colors on the "ground" (maybe not :)
ready2.jpg
ready2.jpg (35.23 KiB) Viewed 14687 times


PS Golly is only in 2D : So if someone can make an adatation of a "Golly 3D" that will also a very fun challenge!
Is beautiful that please without concept :)
User avatar
Wojowu
Posts: 210
Joined: October 1st, 2011, 1:24 pm

Re: Explore Continuous CA with Ready

Post by Wojowu »

Tim Hutton wrote:...The patterns in the CPU-Only folder should work (they don't use OpenCL). All the others will give the same error...
And here you are wrong: files which are in CPU-Only work, but these which are in neither folder also. Only ones which don't work are these in folder FitzHugh-Nagumo. ONLY
Also, some good idea for your program is variable state ranges: colored scale will be detailed if there are states from smaller range, like in schlogl.vti when there are values only near to zero. The scale will change over time, like in thermographic camera
First question ever. Often referred to as The Question. When this question is asked in right place in right time, no one can lie. No one can abstain. But when The Question is asked, silence will fall. Silence must fall. The Question is: Doctor Who?
User avatar
Tim Hutton
Posts: 64
Joined: May 20th, 2010, 7:30 am
Contact:

Re: Explore Continuous CA with Ready

Post by Tim Hutton »

Wojowu wrote:
Tim Hutton wrote:...The patterns in the CPU-Only folder should work (they don't use OpenCL). All the others will give the same error...
And here you are wrong: files which are in CPU-Only work, but these which are in neither folder also. Only ones which don't work are these in folder FitzHugh-Nagumo. ONLY
Also, some good idea for your program is variable state ranges: colored scale will be detailed if there are states from smaller range, like in schlogl.vti when there are values only near to zero. The scale will change over time, like in thermographic camera
Oh! That's very odd. Try moving the files first? :-)

You can change 'high' and 'low' in the render settings to change the scale. We decided not to change them dynamically because it wouldn't show change so well but we could reconsider that decision.
Last edited by Tim Hutton on March 23rd, 2012, 3:37 pm, edited 2 times in total.
User avatar
Tim Hutton
Posts: 64
Joined: May 20th, 2010, 7:30 am
Contact:

Re: Explore Continuous CA with Ready

Post by Tim Hutton »

Pilou wrote:About the OBJ file format
I have seen this video 8)

So Ready vti--> ParaView STL --> Blender ---> OBJ or any 3D format : that's very cool 8)

Thx for the explanations about the Conway file, I will see that ;)
but there is no option that puts many colors on it.
Yes but about the Scale values 0 to 1 I can't build one 0 to 0.0001 for example and have in "cheating"
some more colors on the 2D displacement mapped surface ?
here seems I have some colors on the "ground" (maybe not :)
ready2.jpg


PS Golly is only in 2D : So if someone can make an adatation of a "Golly 3D" that will also a very fun challenge!
Show us some Blender renders if you get that working. I couldn't get Paraview to contour a volume.

You can change 'high' to 0.0001 and 'low' to 0.0. They control the color range and the height map.

You should be able to try out 3D life rules in Ready but it only currently supports floats (as in conway_life.vti) so it's a bit awkward.
User avatar
Wojowu
Posts: 210
Joined: October 1st, 2011, 1:24 pm

Re: Explore Continuous CA with Ready

Post by Wojowu »

Moving files from folder to folder don't work. I want to ask: how works Life implementation using floating point?
First question ever. Often referred to as The Question. When this question is asked in right place in right time, no one can lie. No one can abstain. But when The Question is asked, silence will fall. Silence must fall. The Question is: Doctor Who?
User avatar
Andrew
Moderator
Posts: 1039
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Explore Continuous CA with Ready

Post by Andrew »

Hektor wrote:I'm having some problems with the mac version...
I'm using Mac Os X Lion 10.7.2, here are some more details
...
Dyld Error Message:
Library not loaded: /usr/local/lib/libjpeg.7.dylib
Thanks for the report. I'll try to fix this ASAP.

What output do you see if you run this command in Terminal.app?

Code: Select all

find /usr -name "libjp*" -print
I suspect you don't have libjpeg anywhere on your system. (Tim, I notice that Golly's makefile statically links libwxjpeg* which is created by wxWidgets so I think we just have to persuade cmake to do the same thing -- leave it with me.)
Use Glu or Glui to explore CA rules on non-periodic tilings: DominoLife and HatLife
User avatar
Tim Hutton
Posts: 64
Joined: May 20th, 2010, 7:30 am
Contact:

Re: Explore Continuous CA with Ready

Post by Tim Hutton »

Wojowu wrote:Moving files from folder to folder don't work. I want to ask: how works Life implementation using floating point?
No, I didn't really think it would. Was worth trying.

If you look in the Info Pane for conway_life.vti you can see the OpenCL kernel code. The key bit is:

Code: Select all

    float n = a_in[i_n] + a_in[i_ne] + a_in[i_e] + a_in[i_se]
            + a_in[i_s] + a_in[i_sw] + a_in[i_w] + a_in[i_nw];
    if(a_in[i_here]<0.5f) {
        if(n>2.5f && n<3.5f) a_out[i_here]=1.0f; // B3
        else a_out[i_here]=0.0f;
    }
    else {
        if(n>1.5f && n<3.5f) a_out[i_here]=1.0f; // S23
        else a_out[i_here]=0.0f;
    }
So it's still the familiar B3/S23, just implemented in floats, where n is the sum of the 8 neighbors. Let me know if you (or anyone) want more explanation of this code.

It will be interesting to see if there are nearby rules in the same continuous rulespace that give similarly interesting behavior with a wider range of values other than 0.0 and 1.0. Wolfram's NKS book is essential reading on this kind of search for complexity.
User avatar
Tim Hutton
Posts: 64
Joined: May 20th, 2010, 7:30 am
Contact:

Re: Explore Continuous CA with Ready

Post by Tim Hutton »

Wojowu wrote: files which are in CPU-Only work, but these which are in neither folder also. Only ones which don't work are these in folder FitzHugh-Nagumo. ONLY
Just to clarify, do all the patterns in FitzHugh-Nagumo give the error? I'm not seeing anything about them that is different.
User avatar
Andrew
Moderator
Posts: 1039
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Explore Continuous CA with Ready

Post by Andrew »

Hektor wrote:I'm having some problems with the mac version...
I've just uploaded a new Mac build (called version 0.2.1 but nothing has really changed except the way it is linked) so please try that and let us know if it works.
Use Glu or Glui to explore CA rules on non-periodic tilings: DominoLife and HatLife
User avatar
Wojowu
Posts: 210
Joined: October 1st, 2011, 1:24 pm

Re: Explore Continuous CA with Ready

Post by Wojowu »

Tim Hutton wrote:
Wojowu wrote: files which are in CPU-Only work, but these which are in neither folder also. Only ones which don't work are these in folder FitzHugh-Nagumo. ONLY
Just to clarify, do all the patterns in FitzHugh-Nagumo give the error? I'm not seeing anything about them that is different.
Yes, all of these and only these
First question ever. Often referred to as The Question. When this question is asked in right place in right time, no one can lie. No one can abstain. But when The Question is asked, silence will fall. Silence must fall. The Question is: Doctor Who?
Post Reply