-
Notifications
You must be signed in to change notification settings - Fork 603
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
Wiring up new executable library ABI to LLVM codegen. #4791
Conversation
3286bba
to
e11f8d1
Compare
// a useful failure though the HAL does not mandate that all overflows are | ||
// caught and only that they are not harmful - clamping byte ranges and never | ||
// returning a failure is sufficient. | ||
typedef int (*iree_hal_executable_dispatch_v0_t)( |
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.
+1, I think will be very useful (in the future) having executable to return some kind of status e.g block of code that verifies the dynamic shapes at runtime.
const size_t* binding_lengths; | ||
|
||
// Optional imported functions available for use within the executable. | ||
const iree_hal_executable_import_table_v0_t* imports; |
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.
NEAT!
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.
Still needs to be defined/requires goo - but at least there's a placeholder I can point to when people ask where it would go :)
Using this for all executables will reduce the overhead in the common case (statically/dynamically linked codegen) where we care about perf and require minimal translation for the weirder cases (VMLA) where we don't.
This switches the generated code to using the new executable library signature while still routing all the outputs through the flatbuffers. Progress on #3580.
e11f8d1
to
123649a
Compare
This switches the runtime and generated code to using the new executable
library signature while still routing all the outputs through the flatbuffers.
Future changes will start generating the library metadata structures.
Progress on #3580.