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$