All simulations using inital conditions given by the change:
//line 276 in original lake.c
void init_pebbles(/*...*/)
{
//...
 srand( time(NULL) );
//...
}
to
void init_pebbles(/*...*/)
{
//...
 srand( 10 );
//...
}

Use/Edit this script for gnuplot outputs

Single Thread:

running lake with (512 x 512) grid, until 1.200000, with 1 threads
Simulation took 14.247967 seconds

lake_f_0512_04_01.2_01.cpu.dat

Multi Thread:

running lake with (512 x 512) grid, until 1.200000, with 16 threads
Simulation took 0.974602 seconds

lake_f_0512_04_01.2_16.cpu.dat

$ diff -s lake_f_0512_04_01.2_01.cpu.dat lake_f_0512_04_01.2_16.cpu.dat  
Files lake_f_0512_04_01.2_01.cpu.dat and lake_f_0512_04_01.2_16.cpu.dat are identical

GPU Accel:

running lake with (512 x 512) grid, until 1.200000, with 1 threads
Simulation took 0.321520 seconds

lake_f_0512_04_01.2_01.gpu.dat

$ diff -s lake_f_0512_04_01.2_01.cpu.dat lake_f_0512_04_01.2_01.gpu.dat  
Files lake_f_0512_04_01.2_01.cpu.dat and lake_f_0512_04_01.2_01.gpu.dat are identical