-
Notifications
You must be signed in to change notification settings - Fork 5
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
Disable verifier in main pass manager pipeline #269
Conversation
This gives me a segfault for the NeuralOperators test case. We should add the minimal case from the linked issue as a test
|
This IR (#238 (comment)) now fails for another reason:
that's caused by the reverse derivative of %31 = "arith.addf"(%30, %29) <{fastmath = #arith.fastmath<none>}> : (tensor<10xcomplex<f64>>, tensor<10xf64>) -> tensor<10xcomplex<f64>> and then arith-raise make it to: %31 = "stablehlo.add"(%30, %29) : (tensor<10xcomplex<f64>>, tensor<10xf64>) -> tensor<10xcomplex<f64>> which is invalid. So we should modify the reverse rule for abs of complex numbers |
so the thing is we only want to disable the verifier before arith raise and after enzyme [all other verifications are good and will stop bugs] |
should we do 3 invocations of run_pass_pipeline! with "enzyme,arith-raise" having the verifier disabled ? Or in enzyme-jax have a enzyme-hlo pass which just wraps both enzyme and arith-raise ? |
I'm game for either option, up to you |
This is similar to the Enzyme-JAX lit tests where the verifier is disabled between passes for some complex-related test cases.