I was looking at trying the multicast stuff but I can't seem to find any reference to how it works from the host. Andreas alluded to a write-register in the post below but I looked through e-hal and even the hdl but with no luck (not that i really know what i'm looking at in the hdl). e-hal doesn't even define the MULTICAST snoop register ($F0704) so it's pretty safe to assume it isn't used in e-hal anywhere. I see no example for it in epiphany-examples, and the only reference seems to be defining the reg in e-server.
All I can think of is just using a dma channel of a core either setup via the host or via an on-core routine. This may be what I go with anyway (seems silly wasting arm cycles on a memcpy) but i'm curious nonetheless.
said post: viewtopic.php?f=9&t=650&p=4087&hilit=multicast#p4087
FWIW the 4.13.x version of the arch reference manual is gone from it's original location:
http://www.adapteva.com/docs/epiphany_a ... .09.29.pdf
On a related note: wand/sync
How do you define the 'group' that wand waits on? Is this just defined implicitly by the *EDGE propagation bits in MESHCONFIG? I can't see any other way but it seems that would lead to a complex hardware solution (i.e. to count the number of cores in this workgroup). If so, are there restrictions on the shape of the workgroup (i.e. does it have to be rectilinear) and when it needs to be configured. Again it's something i haven't tried yet but hopefully will get time to look at soon.