Interface channel usage if tasks on same tile

Technical questions regarding the XTC tools and programming with XMOS.
DemoniacMilk
XCore Addict
Posts: 191
Joined: Tue Jul 05, 2016 2:19 pm

Interface channel usage if tasks on same tile

Post by DemoniacMilk »

Due to running into problems with the number of chanends available on one of my tiles, I combined two interfaces to a single interface.

The setup is something like the following, with <--n--> representing n interface connections between the tasks. All tasks run on the same tile.
Client A <--n--> Server <--n--> Client B
I reduced n by 1, and expected four channels to be freed (2x a chanend on both server and client side) but the report told me that only additional 2 chanends are available now.

Do Tasks on the same tile connect to the same chanend?
User avatar
andrewxcav
Verified
Experienced Member
Posts: 76
Joined: Wed Feb 17, 2016 5:10 pm

Post by andrewxcav »

Yes.

Is it easy for you to place the server on another tile? You should see an additional 2n chanends vs. the one-tile approach (if my math is correct).

While I am not 100% sure on the implementation, here is how I like to think about it:

Picture the 2 tile case as having input and output registers to the channel, vs. the single tile mode where the input and output registers can be the same physical register.
DemoniacMilk
XCore Addict
Posts: 191
Joined: Tue Jul 05, 2016 2:19 pm

Post by DemoniacMilk »

Ye that's how I assumed it to work on seeing the numbers change. Thank you for confirming!