mplang-nightly 0.1.dev274__tar.gz → 0.1.dev276__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/PKG-INFO +1 -1
- mplang_nightly-0.1.dev276/tutorials/04_ir_dump_and_analysis.py +168 -0
- mplang_nightly-0.1.dev274/tutorials/04_ir_dump_and_analysis.py +0 -115
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/.gitignore +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/LICENSE +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/README.md +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/examples/.gitkeep +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/hatch_build.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/bfv_impl.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/channel.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/crypto_impl.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/field_impl.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/func_impl.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/phe_impl.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_design.md +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_driver/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_driver/http.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_driver/mem.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_driver/ops.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_driver/state.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_driver/values.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_worker/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_worker/http.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_worker/mem.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_worker/ops.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_worker/state.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/spu_impl.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/spu_state.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/store_impl.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/table_impl.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/tee_impl.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/tensor_impl.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/cli.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/cli_guide.md +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/dialects/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/dialects/bfv.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/dialects/crypto.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/dialects/dtypes.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/dialects/field.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/dialects/func.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/dialects/phe.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/dialects/simp.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/dialects/spu.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/dialects/store.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/dialects/table.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/dialects/tee.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/dialects/tensor.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/edsl/README.md +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/edsl/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/edsl/context.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/edsl/graph.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/edsl/jit.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/edsl/object.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/edsl/primitive.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/edsl/printer.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/edsl/registry.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/edsl/serde.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/edsl/tracer.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/edsl/typing.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/kernels/Makefile +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/kernels/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/kernels/gf128.cpp +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/kernels/ldpc.cpp +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/kernels/okvs.cpp +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/kernels/okvs_opt.cpp +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/kernels/py_kernels.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/collective.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/device/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/device/api.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/device/cluster.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/ml/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/ml/sgb.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/_utils.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/analytics/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/analytics/aggregation.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/analytics/groupby.md +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/analytics/groupby.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/analytics/permutation.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/common/constants.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/ot/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/ot/base.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/ot/extension.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/ot/silent.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/psi/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/psi/cuckoo.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/psi/okvs.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/psi/okvs_gct.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/psi/oprf.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/psi/rr22.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/psi/unbalanced.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/vole/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/vole/gilboa.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/vole/ldpc.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/vole/silver.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/logging_config.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/py.typed +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/runtime/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/runtime/dialect_state.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/runtime/interpreter.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/runtime/object_store.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/runtime/value.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/utils/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/utils/func_utils.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/pyproject.toml +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/simp_driver/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/simp_driver/test_http.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/simp_worker/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/simp_worker/test_http.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/simp_worker/test_mem.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/test_bfv_impl.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/test_channel.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/test_crypto_impl.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/test_okvs_binding.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/test_simp_integration.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/test_simp_object_store.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/test_spu_impl.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/test_table_impl.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/test_tee_impl.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/test_tensor_impl.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/test_verify_clean.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/conftest.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/dialects/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/dialects/test_bfv.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/dialects/test_crypto.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/dialects/test_dtypes.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/dialects/test_field.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/dialects/test_func.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/dialects/test_okvs.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/dialects/test_okvs_bench.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/dialects/test_phe.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/dialects/test_simp.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/dialects/test_simp_comm.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/dialects/test_spu.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/dialects/test_store.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/dialects/test_table.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/dialects/test_tee.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/dialects/test_tensor.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/edsl/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/edsl/test_context.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/edsl/test_graph.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/edsl/test_primitive.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/edsl/test_primitive_multi_output.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/edsl/test_printer.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/edsl/test_serde.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/edsl/test_tracer.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/edsl/test_typing.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/edsl/test_typing_graph_serde.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/device/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/device/conftest.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/device/test_device_api_errors.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/device/test_device_dialects.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/device/test_device_layouts.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/device/test_device_tee.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/ml/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/ml/test_sgb.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/ml/test_sgb_bench.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/analytics/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/analytics/test_aggregation.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/analytics/test_groupby.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/analytics/test_permutation.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/ot/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/ot/test_ot.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/ot/test_ot_extension.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/ot/test_silent_ot.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/psi/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/psi/test_okvs_gct.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/psi/test_oprf.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/psi/test_psi.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/psi/test_psi_bench.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/psi/test_rr22.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/psi/verify_psi_okvs_logic.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/test_field_gf128.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/test_utils.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/vole/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/vole/test_gilboa_manual.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/vole/test_ldpc.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/vole/test_silver_vole.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/vole/test_vole.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/vole/test_vole_bench.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/vole/verify_vole_logic.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/test_collective.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/test_simple_guide.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/runtime/test_interpreter_async.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/runtime/test_object_store.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/runtime/test_object_store_fs.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/test_fetch_semantics.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/test_logging.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/test_pytree_io.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/utils/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/utils/tensor_patch.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/utils/test_func_utils.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/00_device_basics.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/01_function_decorator.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/02_simulation_and_driver.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/03_run_jax.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/05_run_sql.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/06_pipeline.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/07_stax_nn.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/08_logging.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/MIGRATION.md +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/README.md +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/__init__.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/data/alice.csv +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/data/bob.csv +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/data/prepare_vertical_iris.py +0 -0
- {mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/run.sh +0 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# Copyright 2025 Ant Group Co., Ltd.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
"""Device: IR Dump and Graph Inspection
|
|
16
|
+
|
|
17
|
+
Learning objectives:
|
|
18
|
+
1. Compile functions to Graph IR for inspection
|
|
19
|
+
2. Understand the traced IR representation
|
|
20
|
+
3. Debug and understand multi-party program structure
|
|
21
|
+
|
|
22
|
+
Key tools:
|
|
23
|
+
- mp.compile: generate Graph IR representation without executing
|
|
24
|
+
- traced.compiler_ir(): get human-readable IR text
|
|
25
|
+
- mp.format_graph: format graph for debugging
|
|
26
|
+
|
|
27
|
+
Migrated from mplang v1 to mplang.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
import mplang as mp
|
|
31
|
+
|
|
32
|
+
cluster_spec = mp.ClusterSpec.from_dict({
|
|
33
|
+
"nodes": [
|
|
34
|
+
{"name": "node_0", "endpoint": "127.0.0.1:61930"},
|
|
35
|
+
{"name": "node_1", "endpoint": "127.0.0.1:61931"},
|
|
36
|
+
],
|
|
37
|
+
"devices": {
|
|
38
|
+
"SP0": {
|
|
39
|
+
"kind": "SPU",
|
|
40
|
+
"members": ["node_0", "node_1"],
|
|
41
|
+
"config": {"protocol": "SEMI2K", "field": "FM128"},
|
|
42
|
+
},
|
|
43
|
+
"P0": {"kind": "PPU", "members": ["node_0"], "config": {}},
|
|
44
|
+
"P1": {"kind": "PPU", "members": ["node_1"], "config": {}},
|
|
45
|
+
},
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def millionaire():
|
|
50
|
+
"""Simple millionaire problem for IR inspection."""
|
|
51
|
+
x = mp.put("P0", 100)
|
|
52
|
+
y = mp.put("P1", 200)
|
|
53
|
+
z = mp.device("SP0")(lambda a, b: a < b)(x, y)
|
|
54
|
+
r = mp.put("P0", z)
|
|
55
|
+
return x, y, z, r
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
@mp.function
|
|
59
|
+
def jitted_millionaire():
|
|
60
|
+
"""@mp.function-wrapped version for comparison.
|
|
61
|
+
|
|
62
|
+
Note: @mp.function is a multi-party wrapper (pcall_static over all parties),
|
|
63
|
+
not a traditional single-process JIT compiler. It changes the IR structure
|
|
64
|
+
by introducing a pcall region.
|
|
65
|
+
"""
|
|
66
|
+
x = mp.put("P0", 100)
|
|
67
|
+
y = mp.put("P1", 200)
|
|
68
|
+
z = mp.device("SP0")(lambda a, b: a < b)(x, y)
|
|
69
|
+
r = mp.put("P0", z)
|
|
70
|
+
return x, y, z, r
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def main():
|
|
74
|
+
print("=" * 70)
|
|
75
|
+
print("Device: IR Dump and Graph Inspection")
|
|
76
|
+
print("=" * 70)
|
|
77
|
+
|
|
78
|
+
sim = mp.make_simulator(2, cluster_spec=cluster_spec)
|
|
79
|
+
mp.set_root_context(sim)
|
|
80
|
+
|
|
81
|
+
# Pattern 1: Compile without executing (backend) to get IR
|
|
82
|
+
print("\n--- Pattern 1: Compile to IR (plain function) ---")
|
|
83
|
+
traced_plain = mp.compile(millionaire)
|
|
84
|
+
print("Traced function name:", traced_plain.name)
|
|
85
|
+
print("Number of graph inputs:", len(traced_plain.graph.inputs))
|
|
86
|
+
print("Number of graph outputs:", len(traced_plain.graph.outputs))
|
|
87
|
+
print("Number of operations:", len(traced_plain.graph.operations))
|
|
88
|
+
|
|
89
|
+
# Pattern 1b: Compare with @mp.function wrapper
|
|
90
|
+
print("\n--- Pattern 1b: Compile to IR (@mp.function wrapper) ---")
|
|
91
|
+
traced_pcall = mp.compile(jitted_millionaire)
|
|
92
|
+
print("Traced function name:", traced_pcall.name)
|
|
93
|
+
print("Number of graph inputs:", len(traced_pcall.graph.inputs))
|
|
94
|
+
print("Number of graph outputs:", len(traced_pcall.graph.outputs))
|
|
95
|
+
print("Number of operations:", len(traced_pcall.graph.operations))
|
|
96
|
+
|
|
97
|
+
# Pattern 2: Human-readable IR (compact)
|
|
98
|
+
print("\n--- Pattern 2: Human-readable IR (compact) ---")
|
|
99
|
+
print("[plain]")
|
|
100
|
+
print(traced_plain.compiler_ir())
|
|
101
|
+
print("\n[@mp.function]")
|
|
102
|
+
print(traced_pcall.compiler_ir())
|
|
103
|
+
|
|
104
|
+
# Pattern 3: Human-readable IR (verbose types)
|
|
105
|
+
print("\n--- Pattern 3: Human-readable IR (verbose types) ---")
|
|
106
|
+
print("[plain]")
|
|
107
|
+
ir_verbose_plain = traced_plain.compiler_ir(verbose=True)
|
|
108
|
+
all_lines = ir_verbose_plain.split("\n")
|
|
109
|
+
lines = all_lines[:20]
|
|
110
|
+
for line in lines:
|
|
111
|
+
print(line)
|
|
112
|
+
if len(all_lines) > 20:
|
|
113
|
+
print(" ...")
|
|
114
|
+
|
|
115
|
+
print("\n[@mp.function]")
|
|
116
|
+
ir_verbose_pcall = traced_pcall.compiler_ir(verbose=True)
|
|
117
|
+
lines = ir_verbose_pcall.split("\n")[:20]
|
|
118
|
+
for line in lines:
|
|
119
|
+
print(line)
|
|
120
|
+
if len(ir_verbose_pcall.split("\n")) > 20:
|
|
121
|
+
print(" ...")
|
|
122
|
+
|
|
123
|
+
# Pattern 3b: Graph pretty-print (compact vs verbose, with attrs)
|
|
124
|
+
print("\n--- Pattern 3b: mp.format_graph (compact vs verbose, attrs) ---")
|
|
125
|
+
print("[plain / compact]")
|
|
126
|
+
print(mp.format_graph(traced_plain.graph, show_types=False, show_attrs=False))
|
|
127
|
+
print("\n[plain / verbose]")
|
|
128
|
+
print(mp.format_graph(traced_plain.graph, show_types=True, show_attrs=True))
|
|
129
|
+
print("\n[@mp.function / compact]")
|
|
130
|
+
print(mp.format_graph(traced_pcall.graph, show_types=False, show_attrs=False))
|
|
131
|
+
print("\n[@mp.function / verbose]")
|
|
132
|
+
print(mp.format_graph(traced_pcall.graph, show_types=True, show_attrs=True))
|
|
133
|
+
|
|
134
|
+
# Pattern 4: Execute and verify
|
|
135
|
+
print("\n--- Pattern 4: Execute and verify ---")
|
|
136
|
+
x, y, z, r = mp.evaluate(millionaire)
|
|
137
|
+
print(
|
|
138
|
+
f"[direct] x={mp.fetch(x)}, y={mp.fetch(y)}, z={mp.fetch(z)}, r={mp.fetch(r)}"
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
# Pattern 4b: Execute compiled (traced) graphs
|
|
142
|
+
print("\n--- Pattern 4b: Execute traced graphs (compare with direct) ---")
|
|
143
|
+
x2, y2, z2, r2 = mp.evaluate(traced_plain)
|
|
144
|
+
print(
|
|
145
|
+
f"[traced/plain] x={mp.fetch(x2)}, y={mp.fetch(y2)}, z={mp.fetch(z2)}, r={mp.fetch(r2)}"
|
|
146
|
+
)
|
|
147
|
+
|
|
148
|
+
x3, y3, z3, r3 = mp.evaluate(traced_pcall)
|
|
149
|
+
print(
|
|
150
|
+
f"[traced/@mp.function] x={mp.fetch(x3)}, y={mp.fetch(y3)}, z={mp.fetch(z3)}, r={mp.fetch(r3)}"
|
|
151
|
+
)
|
|
152
|
+
|
|
153
|
+
print("\n" + "=" * 70)
|
|
154
|
+
print("Key takeaways:")
|
|
155
|
+
print("1. mp.compile: trace function to IR without executing backend")
|
|
156
|
+
print(
|
|
157
|
+
"2. @mp.function: wraps your function into simp.pcall_static(ALL, fn, ...) and adds a region"
|
|
158
|
+
)
|
|
159
|
+
print(
|
|
160
|
+
"3. compiler_ir()/format_graph: inspect operations, inputs/outputs, regions, attrs"
|
|
161
|
+
)
|
|
162
|
+
print("4. mp.evaluate can execute TracedFunction graphs directly")
|
|
163
|
+
print("5. IR helps debug data flow and device placement")
|
|
164
|
+
print("=" * 70)
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
if __name__ == "__main__":
|
|
168
|
+
main()
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
# Copyright 2025 Ant Group Co., Ltd.
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
|
|
15
|
-
"""Device: IR Dump and Graph Inspection
|
|
16
|
-
|
|
17
|
-
Learning objectives:
|
|
18
|
-
1. Compile functions to Graph IR for inspection
|
|
19
|
-
2. Understand the traced IR representation
|
|
20
|
-
3. Debug and understand multi-party program structure
|
|
21
|
-
|
|
22
|
-
Key tools:
|
|
23
|
-
- mp.compile: generate Graph IR representation without executing
|
|
24
|
-
- traced.compiler_ir(): get human-readable IR text
|
|
25
|
-
- mp.format_graph: format graph for debugging
|
|
26
|
-
|
|
27
|
-
Migrated from mplang v1 to mplang.
|
|
28
|
-
"""
|
|
29
|
-
|
|
30
|
-
import mplang as mp
|
|
31
|
-
|
|
32
|
-
cluster_spec = mp.ClusterSpec.from_dict({
|
|
33
|
-
"nodes": [
|
|
34
|
-
{"name": "node_0", "endpoint": "127.0.0.1:61930"},
|
|
35
|
-
{"name": "node_1", "endpoint": "127.0.0.1:61931"},
|
|
36
|
-
],
|
|
37
|
-
"devices": {
|
|
38
|
-
"SP0": {
|
|
39
|
-
"kind": "SPU",
|
|
40
|
-
"members": ["node_0", "node_1"],
|
|
41
|
-
"config": {"protocol": "SEMI2K", "field": "FM128"},
|
|
42
|
-
},
|
|
43
|
-
"P0": {"kind": "PPU", "members": ["node_0"], "config": {}},
|
|
44
|
-
"P1": {"kind": "PPU", "members": ["node_1"], "config": {}},
|
|
45
|
-
},
|
|
46
|
-
})
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
def millionaire():
|
|
50
|
-
"""Simple millionaire problem for IR inspection."""
|
|
51
|
-
x = mp.put("P0", 100)
|
|
52
|
-
y = mp.put("P1", 200)
|
|
53
|
-
z = mp.device("SP0")(lambda a, b: a < b)(x, y)
|
|
54
|
-
r = mp.put("P0", z)
|
|
55
|
-
return x, y, z, r
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
@mp.function
|
|
59
|
-
def jitted_millionaire():
|
|
60
|
-
"""JIT version of millionaire for comparison."""
|
|
61
|
-
x = mp.put("P0", 100)
|
|
62
|
-
y = mp.put("P1", 200)
|
|
63
|
-
z = mp.device("SP0")(lambda a, b: a < b)(x, y)
|
|
64
|
-
r = mp.put("P0", z)
|
|
65
|
-
return x, y, z, r
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
def main():
|
|
69
|
-
print("=" * 70)
|
|
70
|
-
print("Device: IR Dump and Graph Inspection")
|
|
71
|
-
print("=" * 70)
|
|
72
|
-
|
|
73
|
-
sim = mp.make_simulator(2, cluster_spec=cluster_spec)
|
|
74
|
-
mp.set_root_context(sim)
|
|
75
|
-
|
|
76
|
-
# Pattern 1: Compile without executing to get IR
|
|
77
|
-
print("\n--- Pattern 1: Compile to IR ---")
|
|
78
|
-
traced = mp.compile(millionaire)
|
|
79
|
-
print("Traced function name:", traced.name)
|
|
80
|
-
print("Number of graph inputs:", len(traced.graph.inputs))
|
|
81
|
-
print("Number of graph outputs:", len(traced.graph.outputs))
|
|
82
|
-
print("Number of operations:", len(traced.graph.operations))
|
|
83
|
-
|
|
84
|
-
# Pattern 2: Print human-readable IR
|
|
85
|
-
print("\n--- Pattern 2: Human-readable IR ---")
|
|
86
|
-
ir_text = traced.compiler_ir()
|
|
87
|
-
print(ir_text)
|
|
88
|
-
|
|
89
|
-
# Pattern 3: Verbose IR with type annotations
|
|
90
|
-
print("\n--- Pattern 3: Verbose IR with types ---")
|
|
91
|
-
ir_verbose = traced.compiler_ir(verbose=True)
|
|
92
|
-
# Just print first 20 lines to keep output manageable
|
|
93
|
-
lines = ir_verbose.split("\n")[:20]
|
|
94
|
-
for line in lines:
|
|
95
|
-
print(line)
|
|
96
|
-
if len(ir_verbose.split("\n")) > 20:
|
|
97
|
-
print(" ...")
|
|
98
|
-
|
|
99
|
-
# Pattern 4: Execute and compare
|
|
100
|
-
print("\n--- Pattern 4: Execute and verify ---")
|
|
101
|
-
x, y, z, r = mp.evaluate(millionaire)
|
|
102
|
-
print(
|
|
103
|
-
f"Results: x={mp.fetch(x)}, y={mp.fetch(y)}, z={mp.fetch(z)}, r={mp.fetch(r)}"
|
|
104
|
-
)
|
|
105
|
-
|
|
106
|
-
print("\n" + "=" * 70)
|
|
107
|
-
print("Key takeaways:")
|
|
108
|
-
print("1. mp.compile: trace function to IR without executing")
|
|
109
|
-
print("2. compiler_ir(): inspect operations, inputs, outputs")
|
|
110
|
-
print("3. IR helps debug data flow and device placement")
|
|
111
|
-
print("=" * 70)
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
if __name__ == "__main__":
|
|
115
|
-
main()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_driver/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_driver/state.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_driver/values.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_worker/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/backends/simp_worker/state.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/analytics/__init__.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/analytics/aggregation.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/analytics/groupby.md
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/analytics/groupby.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/mplang/libs/mpc/analytics/permutation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/simp_driver/__init__.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/simp_driver/test_http.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/simp_worker/__init__.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/simp_worker/test_http.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/simp_worker/test_mem.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/test_simp_integration.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/backends/test_simp_object_store.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/edsl/test_primitive_multi_output.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/edsl/test_typing_graph_serde.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/device/test_device_api_errors.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/device/test_device_dialects.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/device/test_device_layouts.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/device/test_device_tee.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/analytics/__init__.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/analytics/test_aggregation.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/analytics/test_groupby.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/analytics/test_permutation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/ot/test_ot_extension.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/psi/test_psi_bench.py
RENAMED
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/psi/verify_psi_okvs_logic.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/vole/test_gilboa_manual.py
RENAMED
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/vole/test_silver_vole.py
RENAMED
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/vole/test_vole_bench.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/libs/mpc/vole/verify_vole_logic.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/runtime/test_interpreter_async.py
RENAMED
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tests/runtime/test_object_store_fs.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/02_simulation_and_driver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev274 → mplang_nightly-0.1.dev276}/tutorials/data/prepare_vertical_iris.py
RENAMED
|
File without changes
|
|
File without changes
|