iree-org / iree-torch

Torch Frontend for IREE
Apache License 2.0
25 stars 11 forks source link

Refactor to not use the "external config" functionality. #1

Closed silvasean closed 2 years ago

silvasean commented 2 years ago

This commit refactors the code here to own "main()". It adds a main() very similar to the one in torch-mlir's e2e_testing/torchscript/main.py, but they are expected to diverge over time (e.g. configuring different HAL targets and such, configuring devices for running tests on devices, ec.), so there wasn't much point in sharing code.

In this initial rewrite, support for dylib and vmvx backends are added. CUDA and Vulkan are TODO.

The "external config" functionality didn't provide enough flexibility -- putting appropriate framework functionality in a library and letting the downstream "own main()" works much better.

The current status is:

Full list of failing tests are at: https://gist.github.com/silvasean/33663d18f27d6c40d70023e92a2874aa

And a rough breakdown of the dylib failure modes is available at: https://gist.github.com/silvasean/b5a14a4cf3dd2b70332e7efbec655d72

There seem to be about 10-ish issues (not all of them in IREE -- some are improvements to our IREE test config to properly handle multiple results/etc.).

The IREE bugs needed to pass all the Torch-MLIR E2E tests are being tracked in: https://github.com/google/iree/projects/44