Skip to content
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

Ability to run different pipelines to different dispatches #541

Open
newling opened this issue Jul 12, 2024 · 0 comments
Open

Ability to run different pipelines to different dispatches #541

newling opened this issue Jul 12, 2024 · 0 comments

Comments

@newling
Copy link
Contributor

newling commented Jul 12, 2024

This task is to have an end to end model which has 2 dispatches, one with a convolution and one with a matmul. This will test our ability to run different pipelines automatically on different dispatches. An example is as follows (please excuse my python)

A = np.empty([64,64])
B = np.empty([64,64])
C = np.matmul(A,B)
D = C.reshape([1,64,8,8])
E = np.empty([1,8,3,3])
F = torch.conv2D(D, E)

This model will correspond to 2 dispatches in IREE, the first with a matmul the second with a convolution. There will be an expand_shape inbetween them.

To get this to generate code for AIE, the first dispatch (with the matmul) will need to use the pack-peel pipeline (or the pad-pack pipeline). The second dispatch (with the conv2d) will need to use the conv-decompose pipeline.

Currently the only way we can set the pipeline to run on the untiled function is manually with a flag. The compiler needs to dynamically choose the pipeline to run, based on the operations in the function. This must be a solved problem for all other backends that IREE has, no need to invent anything new I suspect.

The nearest thing I can see to an end-to-end test like this is the "three-matmuls" test: see here and here.

The task is to have an end-to-end numerical test of the above simple model.

@newling newling changed the title Ability to run different pipelines on different dispatches (no hand-holding) Ability to run different pipelines to different dispatches (no hand-holding) Jul 12, 2024
@newling newling changed the title Ability to run different pipelines to different dispatches (no hand-holding) Ability to run different pipelines to different dispatches Jul 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant