-
Notifications
You must be signed in to change notification settings - Fork 45
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
Enable end to end test with Linalg input and Vulkan backend #415
Conversation
I'll be taking PTO on Thur 10/17, so response would be delayed. |
Now memref's integer space id is converted to spirv opencl space by default. Fix bug in imex-runner.py. MLIR's textual pass pipeline is sensitive to space for mulit-option passes. space is used as a separator. Add gpu to spirv pass and gpu to gpux pass to OpenCL pass pipeline.
…pu-to-spirv. Extend OpenCL pipeline to spirv serialization.
CI seems to have some LLVM caching issue after LLVM SHA update. CI throws error that some files are not found. |
Add remaining part of pipeline as a comment (disabled for now).
Works for both separate llvm install and llvm external projects build.
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.
Nice!
A few more comments in the code would be helpful.
@diptorupd some changes to the cmake machinery, maybe this also touches #289 |
end-to-end would start with PTensor :) |
if (!mlir::gpu::GPUDialect::isKernel(gpuFunc) || | ||
gpuFunc->getAttr(attrName)) | ||
continue; | ||
if (m_clientAPI == "opencl") { |
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.
it seems only getEntryPointABIAttr argument differs between opencl and vulkan, can this code be restructured to avoid code duplication?
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.
lgtm overall
imex-runner.py.in is not a valid python file.
@@ -270,18 +270,17 @@ static BodyType buildTrivial(::mlir::Type typ) { | |||
builder.create<IOP>(loc, lhs, rhs).getResult()); | |||
return; | |||
} else | |||
assert("Found integer type but binary op not defined for integers" == | |||
nullptr); | |||
assert(0 && |
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.
you can also do assert(!"something")
or just llvm_unreachable("something")
Did it picked up cache from main? You could just change |
Every branch has its own cache. So the CI will not reuse the cache of a given branch for the merge commit. |
This PR enables the first end to end test targeting GPU.
It has multiple related sub parts.
Please review these guidelines to help with the review process: