Add global decoder ablation workflow#17
Conversation
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
…ion, and plotting helpers Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
bmhowe23
left a comment
There was a problem hiding this comment.
Overall, this LGTM. Just one minor comment.
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
…um-predecoder into add_global_decoders
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
|
Seems like unit tests are failing because of missing |
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
|
Thank you @bmhowe23 and @ivanbasov for reviewing this PR. Please let me know if we need to add/update anything else. |
@ivanbasov does a CI script perhaps need to be updated to install the new dependency? |
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
sure. @sacpis , could you please update CI scripts. CI jobs fail. |
Signed-off-by: Sachin Pisal <spisal@nvidia.com>
Done with eaed4cc. |
|
@bmhowe23 @ivanbasov Good to go? |
* Replace proprietary license headers with Apache-2.0 Update all SPDX headers from LicenseRef-NvidiaProprietary to Apache-2.0 across all 70 tracked source files. Also updates spdx_headers.py to generate Apache-2.0 headers and replace old proprietary headers in-place. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(headers): apply Apache-2.0 headers to files added after branch cut Files added by PRs #13, #14, and #17 still carried the proprietary LicenseRef-NvidiaProprietary header. Replace with Apache-2.0 to match the rest of the codebase after the header migration. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * style: apply YAPF formatting after header replacement Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(headers): restore full file content truncated during rebase The first rebase used --theirs to resolve header conflicts, which took the old PR branch content instead of main's newer content for 5 files. Restore from upstream/main and apply Apache-2.0 header correctly. Affected files: - code/qec/noise_model.py - code/qec/surface_code/homological_equivalence_torch.py - code/tests/mid/test_homological_equivalence.py - code/tests/test_noise_model.py - code/training/train.py Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(test): remove PreDecoderModelMemory_v2 test removed by PR #18 PR #18 removed the unused v2 model architecture. Drop the corresponding test class and import to fix the ImportError in CI. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* adding dependencies for decoder_ablation workflow Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding failure_analysis containing the decoder helpers, decoder ablation, and plotting helpers Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding modified code/evaluation/failure_analysis.py Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding tests for failure analysis Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding decoder_ablation as a workflow task Signed-off-by: Sachin Pisal <spisal@nvidia.com> * overriding the config copy with the resolved single basis Signed-off-by: Sachin Pisal <spisal@nvidia.com> * formatting Signed-off-by: Sachin Pisal <spisal@nvidia.com> * formatting Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding CUDA-Q nv-qldpc-decoder from internal repo and tests Signed-off-by: Sachin Pisal <spisal@nvidia.com> * removing _PYMATCHING_SUPPORTS_CORRELATIONS and inspect Signed-off-by: Sachin Pisal <spisal@nvidia.com> * formatting Signed-off-by: Sachin Pisal <spisal@nvidia.com> * removing unconditional imports Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding a test to check predecoder actually modifies residual syndromes Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding comments for _decode_ldpc_batch Signed-off-by: Sachin Pisal <spisal@nvidia.com> * refactoring decoder_ablation_study Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding unittests for refactored functions Signed-off-by: Sachin Pisal <spisal@nvidia.com> * tracking unavailable decoders Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding BP variants in try/except block Signed-off-by: Sachin Pisal <spisal@nvidia.com> * removing redundant check Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding modules to install to requirements Signed-off-by: Sachin Pisal <spisal@nvidia.com> --------- Signed-off-by: Sachin Pisal <spisal@nvidia.com>
* Replace proprietary license headers with Apache-2.0 Update all SPDX headers from LicenseRef-NvidiaProprietary to Apache-2.0 across all 70 tracked source files. Also updates spdx_headers.py to generate Apache-2.0 headers and replace old proprietary headers in-place. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(headers): apply Apache-2.0 headers to files added after branch cut Files added by PRs #13, #14, and #17 still carried the proprietary LicenseRef-NvidiaProprietary header. Replace with Apache-2.0 to match the rest of the codebase after the header migration. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * style: apply YAPF formatting after header replacement Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(headers): restore full file content truncated during rebase The first rebase used --theirs to resolve header conflicts, which took the old PR branch content instead of main's newer content for 5 files. Restore from upstream/main and apply Apache-2.0 header correctly. Affected files: - code/qec/noise_model.py - code/qec/surface_code/homological_equivalence_torch.py - code/tests/mid/test_homological_equivalence.py - code/tests/test_noise_model.py - code/training/train.py Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(test): remove PreDecoderModelMemory_v2 test removed by PR #18 PR #18 removed the unused v2 model architecture. Drop the corresponding test class and import to fix the ImportError in CI. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* adding dependencies for decoder_ablation workflow Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding failure_analysis containing the decoder helpers, decoder ablation, and plotting helpers Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding modified code/evaluation/failure_analysis.py Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding tests for failure analysis Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding decoder_ablation as a workflow task Signed-off-by: Sachin Pisal <spisal@nvidia.com> * overriding the config copy with the resolved single basis Signed-off-by: Sachin Pisal <spisal@nvidia.com> * formatting Signed-off-by: Sachin Pisal <spisal@nvidia.com> * formatting Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding CUDA-Q nv-qldpc-decoder from internal repo and tests Signed-off-by: Sachin Pisal <spisal@nvidia.com> * removing _PYMATCHING_SUPPORTS_CORRELATIONS and inspect Signed-off-by: Sachin Pisal <spisal@nvidia.com> * formatting Signed-off-by: Sachin Pisal <spisal@nvidia.com> * removing unconditional imports Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding a test to check predecoder actually modifies residual syndromes Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding comments for _decode_ldpc_batch Signed-off-by: Sachin Pisal <spisal@nvidia.com> * refactoring decoder_ablation_study Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding unittests for refactored functions Signed-off-by: Sachin Pisal <spisal@nvidia.com> * tracking unavailable decoders Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding BP variants in try/except block Signed-off-by: Sachin Pisal <spisal@nvidia.com> * removing redundant check Signed-off-by: Sachin Pisal <spisal@nvidia.com> * adding modules to install to requirements Signed-off-by: Sachin Pisal <spisal@nvidia.com> --------- Signed-off-by: Sachin Pisal <spisal@nvidia.com>
* Replace proprietary license headers with Apache-2.0 Update all SPDX headers from LicenseRef-NvidiaProprietary to Apache-2.0 across all 70 tracked source files. Also updates spdx_headers.py to generate Apache-2.0 headers and replace old proprietary headers in-place. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(headers): apply Apache-2.0 headers to files added after branch cut Files added by PRs #13, #14, and #17 still carried the proprietary LicenseRef-NvidiaProprietary header. Replace with Apache-2.0 to match the rest of the codebase after the header migration. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * style: apply YAPF formatting after header replacement Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(headers): restore full file content truncated during rebase The first rebase used --theirs to resolve header conflicts, which took the old PR branch content instead of main's newer content for 5 files. Restore from upstream/main and apply Apache-2.0 header correctly. Affected files: - code/qec/noise_model.py - code/qec/surface_code/homological_equivalence_torch.py - code/tests/mid/test_homological_equivalence.py - code/tests/test_noise_model.py - code/training/train.py Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(test): remove PreDecoderModelMemory_v2 test removed by PR #18 PR #18 removed the unused v2 model architecture. Drop the corresponding test class and import to fix the ImportError in CI. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Add global decoder ablation workflow
meas_basis_test: bothin the config caused an AttributeError