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

IPU Jacobi eigh decomposition fori_loop transition #42

Merged
merged 1 commit into from
Oct 5, 2023

Conversation

balancap
Copy link
Contributor

@balancap balancap commented Oct 2, 2023

This PR is switching the IPU Jacobi eigh implementation from a
Python loop to a JAX fori_loop, reducing massively code size and
allowing Eigen decomposition on larger matrices.

Note: in terms of performance, some issues still remain as Poplar
compiler is adding some extra on-tile copies which in theory could
be eluded.

@balancap balancap self-assigned this Oct 2, 2023
@balancap balancap marked this pull request as draft October 2, 2023 12:46
@balancap balancap force-pushed the ipu-jacobi-eigh-fori-loop-implementation branch from 648afaa to 736e9b0 Compare October 5, 2023 09:56
@balancap balancap changed the title Ipu jacobi eigh fori loop implementation IPU Jacobi eigh decomposition fori_loop transition Oct 5, 2023
@balancap balancap marked this pull request as ready for review October 5, 2023 10:07
@balancap balancap force-pushed the ipu-jacobi-eigh-fori-loop-implementation branch 2 times, most recently from 209ea98 to 905d482 Compare October 5, 2023 16:15
This PR is switching the IPU Jacobi `eigh` implementation from a
Python loop to a JAX `fori_loop`, reducing massively code size and
allowing Eigen decomposition on larger matrices.

Note: in terms of performance, some issues still remain as Poplar
compiler is adding some extra on-tile copies which in theory could
be eluded.
@balancap balancap force-pushed the ipu-jacobi-eigh-fori-loop-implementation branch from 905d482 to 8617eb2 Compare October 5, 2023 19:45
@balancap balancap merged commit 491275a into main Oct 5, 2023
6 checks passed
@balancap balancap deleted the ipu-jacobi-eigh-fori-loop-implementation branch October 5, 2023 20:14
@balancap balancap mentioned this pull request Oct 10, 2023
@balancap balancap linked an issue Oct 10, 2023 that may be closed by this pull request
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

Successfully merging this pull request may close these issues.

ipu_eigh OOM for 500x500 matrix.
1 participant