-
Couldn't load subscription status.
- Fork 72
Add tile-based API #145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Add tile-based API #145
Conversation
ae230ed to
b9ec5a6
Compare
b82a86a to
a54e6a7
Compare
|
The API |
| return semaphores_.size() - 1; | ||
| } | ||
|
|
||
| MSCCLPP_API_CPP SemaphoreId ProxyService::buildAndAddSemaphore(Communicator& communicator, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't make much sense to me, why do we need an extra an way of building a semaphore? We only need to provide a 2D write over 1D arrays. So, just a 2D write is enough. Right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we need to set pitch/stride for the channel (the name semaphore is not accurate). The reason we don't set stride in the put2D API is our trigger is only 128bit. We don't have extra bits for the it.
Provide tile-based api
To support this, add a new structure
fields2DinChannelTrigger. In this structure we replace the64bit sizeto two 32 bit fields (a 32bit width and a 32bit height). Also add another flagmultiDimensionFlaginfields2Dto distinguish withfieldsstructureExample to use tile-based API:
When setup the connections, need to call
channelService->addPitchfirstThen use the
put2DAPI