Tags: google/heir
Tags
Integrate LLVM at llvm/llvm-project@75a45c373407 Updates LLVM usage to match [75a45c373407](llvm/llvm-project@75a45c373407) PiperOrigin-RevId: 964904972
Integrate LLVM at llvm/llvm-project@75a45c373407 Updates LLVM usage to match [75a45c373407](llvm/llvm-project@75a45c373407) PiperOrigin-RevId: 964904972
Integrate LLVM at llvm/llvm-project@75a45c373407 Updates LLVM usage to match [75a45c373407](llvm/llvm-project@75a45c373407) PiperOrigin-RevId: 964904972
Set grpc_keepalive_time to help prevent BuildBuddy disconnects I still see timeouts on PRs and then the GHA disconnects from the buildbuddy server. E.g., https://heir.buildbuddy.io/invocation/ebd5b0de-618e-4419-b4ef-94b4b573b0d4 for this job: https://github.com/google/heir/actions/runs/31540176730/job/93940562317 After consulting with BuildBuddy support, they know that networking issues on GitHub or the AWS/Azure side (whatever cloud is hosting their runners) can cause this, and recommended we set grpc_keepalive_time to hedge against that. They also mentioned upgrading to bazel 9 would help, though that is currently blocked by #3113 (comment) for at least one more month. PiperOrigin-RevId: 964161074
Implement early bootstrap placement in HEIR This adds a new pass `EarlyBootstrapPlacement` pass, specific to the torch pipeline, that does early greedy bootstrap insertion while linalg and chebyshev ops are still a single operation. This prevents `SecretInsertMgmt` from inserting bootstraps inside loops or in bulk on loop outputs, resolving some performance issues we saw with the hotword model. It's also a bit of a cop out for the ineptitude of the greedy bootstrap pass to handle loops, which I feel is later going to be resolved by switching to Edward's ILP-based mgmt solver. This change also includes some of the hoisting logic from my attempts to get the `SecretInsertMgmt` to move unnecessary bootstraps out of loops, and I feel that for the timing with the upcoming blog post, I'd like to just merge this as techdebt and worry about cleaning it up later (or not, if we switch to the ILP solver). PiperOrigin-RevId: 962470276
fix: implement physical slot replication for bicyclic and tricyclic l… …ayout after matrix multiplication. In the bicyclic layout, we require for each 0 <= slot < numSlot, (ct, slot) is mapped to (slot % n, slot % m). However, after computing through BSGS we can only guarantee for all 0 <= slot < n*m this property preserves (indeed we can guarantee more, but for the tail part it is not correct if n*m does not divide numSlot). In this commit, we add a new relation called `periodic replication relation` that replicate the first copy to all slots periodically. After each matrix multiplication with CRT layouts (bicyclic, tricyclic), we compose this relation to derive the result. The cost of the layout switching will be up to logN rotations. PiperOrigin-RevId: 962982741
Implement early bootstrap placement in HEIR This adds a new pass `EarlyBootstrapPlacement` pass, specific to the torch pipeline, that does early greedy bootstrap insertion while linalg and chebyshev ops are still a single operation. This prevents `SecretInsertMgmt` from inserting bootstraps inside loops or in bulk on loop outputs, resolving some performance issues we saw with the hotword model. It's also a bit of a cop out for the ineptitude of the greedy bootstrap pass to handle loops, which I feel is later going to be resolved by switching to Edward's ILP-based mgmt solver. This change also includes some of the hoisting logic from my attempts to get the `SecretInsertMgmt` to move unnecessary bootstraps out of loops, and I feel that for the timing with the upcoming blog post, I'd like to just merge this as techdebt and worry about cleaning it up later (or not, if we switch to the ILP solver). PiperOrigin-RevId: 962470276
Integrate LLVM at llvm/llvm-project@a6b0af7536ef Updates LLVM usage to match [a6b0af7536ef](llvm/llvm-project@a6b0af7536ef) PiperOrigin-RevId: 961806049
polynomial approx: implement square and multiply for math.fpowi PiperOrigin-RevId: 961260919
PreviousNext