-
Notifications
You must be signed in to change notification settings - Fork 43
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
Add tile-based API #145
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 |
@@ -29,6 +29,16 @@ MSCCLPP_API_CPP SemaphoreId ProxyService::buildAndAddSemaphore(Communicator& com | |||
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
fields2D
inChannelTrigger
. In this structure we replace the64bit size
to two 32 bit fields (a 32bit width and a 32bit height). Also add another flagmultiDimensionFlag
infields2D
to distinguish withfields
structureExample to use tile-based API:
When setup the connections, need to call
channelService->addPitch
firstThen use the
put2D
API