Studying Parallella & ePython (Epiphany Python) a bit.

I know I know... It's Python, not Perl but... ;-)

Code mostly from ePython Documentation. added few lines just to play around.

import parallel
a=0
b=0
if coreid() > 0:
        a=sendrecv(coreid(), coreid()-1)

if coreid() < numcores()-1:
        b=sendrecv(coreid(), coreid()+1)
print "Values are "+a+" and "+b
c = sqrt(a)
d = sqrt(b)
e = c + d
print(e)

Output with option -t to time it.

parallella@parallella:~/epython$ epython parallel-test -t
[device 0] Values are 0 and 1
[device 1] Values are 0 and 2
[device 2] Values are 1 and 3
[device 3] Values are 2 and 4
[device 4] Values are 3 and 5
[device 5] Values are 4 and 6
[device 6] Values are 5 and 7
[device 7] Values are 6 and 8
[device 8] Values are 7 and 9
[device 9] Values are 8 and 10
[device 10] Values are 9 and 11
[device 11] Values are 10 and 12
[device 12] Values are 11 and 13
[device 13] Values are 12 and 14
[device 14] Values are 13 and 15
[device 15] Values are 14 and 0
[device 0] 1.000000
[device 1] 1.414214
[device 2] 2.732051
[device 3] 3.414214
[device 4] 3.968119
[device 5] 4.449490
[device 6] 4.881819
[device 7] 5.277917
[device 8] 5.645751
[device 9] 5.990705
[device 10] 6.316625
[device 11] 6.626379
[device 12] 6.922176
[device 13] 7.205759
Core 0 completed in 0.003188 seconds
Core 1 completed in 0.003262 seconds
Core 2 completed in 0.003299 seconds
Core 3 completed in 0.003317 seconds
Core 4 completed in 0.003354 seconds
Core 5 completed in 0.003391 seconds
Core 6 completed in 0.003428 seconds
Core 7 completed in 0.003446 seconds
Core 8 completed in 0.003483 seconds
Core 9 completed in 0.003520 seconds
Core 10 completed in 0.003539 seconds
Core 11 completed in 0.003575 seconds
Core 12 completed in 0.003612 seconds
Core 13 completed in 0.003649 seconds
[device 14] 7.478535
[device 15] 3.741657
Core 14 completed in 0.003742 seconds
Core 15 completed in 0.003760 seconds
parallella@parallella:~/epython$