mplang-nightly 0.1.dev331__tar.gz → 0.1.dev332__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.
Files changed (240) hide show
  1. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/PKG-INFO +1 -1
  2. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/spu_state.py +17 -10
  3. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/.gitignore +0 -0
  4. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/LICENSE +0 -0
  5. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/README.md +0 -0
  6. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/examples/.gitkeep +0 -0
  7. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/hatch_build.py +0 -0
  8. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/__init__.py +0 -0
  9. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/__init__.py +0 -0
  10. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/bfv_impl.py +0 -0
  11. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/channel.py +0 -0
  12. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/crypto_impl.py +0 -0
  13. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/field_impl.py +0 -0
  14. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/func_impl.py +0 -0
  15. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/phe_impl.py +0 -0
  16. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_design.md +0 -0
  17. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_driver/__init__.py +0 -0
  18. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_driver/http.py +0 -0
  19. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_driver/mem.py +0 -0
  20. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_driver/ops.py +0 -0
  21. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_driver/state.py +0 -0
  22. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_driver/values.py +0 -0
  23. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_worker/__init__.py +0 -0
  24. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_worker/base.py +0 -0
  25. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_worker/collective_algorithms.py +0 -0
  26. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_worker/collectives.py +0 -0
  27. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_worker/comm_context.py +0 -0
  28. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_worker/http.py +0 -0
  29. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_worker/infra.py +0 -0
  30. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_worker/mem.py +0 -0
  31. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_worker/ops.py +0 -0
  32. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_worker/request.py +0 -0
  33. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/simp_worker/state.py +0 -0
  34. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/spu_impl.py +0 -0
  35. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/store_impl.py +0 -0
  36. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/table_impl.py +0 -0
  37. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/tee_impl.py +0 -0
  38. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/tensor_impl.py +0 -0
  39. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/backends/util.py +0 -0
  40. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/cli.py +0 -0
  41. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/cli_guide.md +0 -0
  42. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/dialects/__init__.py +0 -0
  43. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/dialects/_jax_utils.py +0 -0
  44. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/dialects/bfv.py +0 -0
  45. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/dialects/crypto.py +0 -0
  46. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/dialects/dtypes.py +0 -0
  47. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/dialects/field.py +0 -0
  48. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/dialects/func.py +0 -0
  49. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/dialects/phe.py +0 -0
  50. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/dialects/simp.py +0 -0
  51. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/dialects/spu.py +0 -0
  52. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/dialects/store.py +0 -0
  53. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/dialects/table.py +0 -0
  54. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/dialects/tee.py +0 -0
  55. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/dialects/tensor.py +0 -0
  56. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/edsl/README.md +0 -0
  57. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/edsl/__init__.py +0 -0
  58. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/edsl/context.py +0 -0
  59. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/edsl/graph.py +0 -0
  60. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/edsl/object.py +0 -0
  61. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/edsl/primitive.py +0 -0
  62. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/edsl/printer.py +0 -0
  63. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/edsl/program.py +0 -0
  64. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/edsl/registry.py +0 -0
  65. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/edsl/serde.py +0 -0
  66. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/edsl/tracer.py +0 -0
  67. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/edsl/typing.py +0 -0
  68. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/extend/__init__.py +0 -0
  69. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/extend/arrow/__init__.py +0 -0
  70. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/extend/arrow/compute.py +0 -0
  71. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/extend/arrow/util.py +0 -0
  72. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/extend/arrow/vector.py +0 -0
  73. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/kernels/Makefile +0 -0
  74. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/kernels/__init__.py +0 -0
  75. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/kernels/gf128.cpp +0 -0
  76. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/kernels/ldpc.cpp +0 -0
  77. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/kernels/okvs.cpp +0 -0
  78. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/kernels/okvs_opt.cpp +0 -0
  79. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/kernels/py_kernels.py +0 -0
  80. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/collective.py +0 -0
  81. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/device/__init__.py +0 -0
  82. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/device/api.py +0 -0
  83. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/device/cluster.py +0 -0
  84. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/ml/__init__.py +0 -0
  85. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/ml/sgb.py +0 -0
  86. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/__init__.py +0 -0
  87. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/_utils.py +0 -0
  88. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/analytics/__init__.py +0 -0
  89. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/analytics/aggregation.py +0 -0
  90. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/analytics/groupby.md +0 -0
  91. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/analytics/groupby.py +0 -0
  92. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/analytics/permutation.py +0 -0
  93. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/common/constants.py +0 -0
  94. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/ot/__init__.py +0 -0
  95. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/ot/base.py +0 -0
  96. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/ot/extension.py +0 -0
  97. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/ot/silent.py +0 -0
  98. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/psi/__init__.py +0 -0
  99. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/psi/cuckoo.py +0 -0
  100. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/psi/okvs.py +0 -0
  101. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/psi/okvs_gct.py +0 -0
  102. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/psi/oprf.py +0 -0
  103. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/psi/rr22.py +0 -0
  104. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/psi/unbalanced.py +0 -0
  105. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/vole/__init__.py +0 -0
  106. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/vole/gilboa.py +0 -0
  107. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/vole/ldpc.py +0 -0
  108. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/libs/mpc/vole/silver.py +0 -0
  109. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/py.typed +0 -0
  110. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/runtime/__init__.py +0 -0
  111. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/runtime/dialect_state.py +0 -0
  112. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/runtime/interpreter.py +0 -0
  113. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/runtime/object_store.py +0 -0
  114. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/runtime/value.py +0 -0
  115. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/tool/__init__.py +0 -0
  116. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/tool/program.py +0 -0
  117. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/utils/__init__.py +0 -0
  118. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/utils/func_utils.py +0 -0
  119. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/mplang/utils/logging.py +0 -0
  120. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/pyproject.toml +0 -0
  121. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/__init__.py +0 -0
  122. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/__init__.py +0 -0
  123. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/simp_driver/__init__.py +0 -0
  124. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/simp_driver/test_http.py +0 -0
  125. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/simp_worker/__init__.py +0 -0
  126. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/simp_worker/test_async_exec.py +0 -0
  127. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/simp_worker/test_base.py +0 -0
  128. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/simp_worker/test_collectives.py +0 -0
  129. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/simp_worker/test_comm_context.py +0 -0
  130. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/simp_worker/test_http.py +0 -0
  131. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/simp_worker/test_http_communicator.py +0 -0
  132. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/simp_worker/test_mem.py +0 -0
  133. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/simp_worker/test_request_isolation.py +0 -0
  134. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/simp_worker/test_shuffle_exec_id_key.py +0 -0
  135. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/test_bfv_impl.py +0 -0
  136. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/test_channel.py +0 -0
  137. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/test_crypto_impl.py +0 -0
  138. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/test_okvs_binding.py +0 -0
  139. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/test_simp_integration.py +0 -0
  140. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/test_simp_object_store.py +0 -0
  141. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/test_spu_impl.py +0 -0
  142. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/test_table_impl.py +0 -0
  143. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/test_tee_impl.py +0 -0
  144. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/test_tensor_impl.py +0 -0
  145. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/test_util.py +0 -0
  146. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/backends/test_verify_clean.py +0 -0
  147. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/conftest.py +0 -0
  148. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/__init__.py +0 -0
  149. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_bfv.py +0 -0
  150. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_compile_context.py +0 -0
  151. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_crypto.py +0 -0
  152. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_dtypes.py +0 -0
  153. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_field.py +0 -0
  154. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_func.py +0 -0
  155. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_okvs.py +0 -0
  156. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_okvs_bench.py +0 -0
  157. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_phe.py +0 -0
  158. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_simp.py +0 -0
  159. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_simp_comm.py +0 -0
  160. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_spu.py +0 -0
  161. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_store.py +0 -0
  162. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_table.py +0 -0
  163. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_table_row_dimension.py +0 -0
  164. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_tee.py +0 -0
  165. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/dialects/test_tensor.py +0 -0
  166. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/edsl/__init__.py +0 -0
  167. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/edsl/test_compiled_program_artifact.py +0 -0
  168. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/edsl/test_context.py +0 -0
  169. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/edsl/test_graph.py +0 -0
  170. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/edsl/test_primitive.py +0 -0
  171. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/edsl/test_primitive_multi_output.py +0 -0
  172. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/edsl/test_printer.py +0 -0
  173. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/edsl/test_serde.py +0 -0
  174. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/edsl/test_tracer.py +0 -0
  175. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/edsl/test_typing.py +0 -0
  176. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/edsl/test_typing_graph_serde.py +0 -0
  177. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/extend/__init__.py +0 -0
  178. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/extend/test_arrow.py +0 -0
  179. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/device/__init__.py +0 -0
  180. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/device/conftest.py +0 -0
  181. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/device/test_device_api_errors.py +0 -0
  182. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/device/test_device_dialects.py +0 -0
  183. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/device/test_device_layouts.py +0 -0
  184. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/device/test_device_tee.py +0 -0
  185. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/ml/__init__.py +0 -0
  186. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/ml/test_sgb.py +0 -0
  187. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/ml/test_sgb_bench.py +0 -0
  188. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/__init__.py +0 -0
  189. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/analytics/__init__.py +0 -0
  190. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/analytics/test_aggregation.py +0 -0
  191. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/analytics/test_groupby.py +0 -0
  192. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/analytics/test_permutation.py +0 -0
  193. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/ot/__init__.py +0 -0
  194. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/ot/test_ot.py +0 -0
  195. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/ot/test_ot_extension.py +0 -0
  196. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/ot/test_silent_ot.py +0 -0
  197. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/psi/__init__.py +0 -0
  198. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/psi/test_okvs_gct.py +0 -0
  199. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/psi/test_oprf.py +0 -0
  200. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/psi/test_psi.py +0 -0
  201. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/psi/test_psi_bench.py +0 -0
  202. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/psi/test_rr22.py +0 -0
  203. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/psi/verify_psi_okvs_logic.py +0 -0
  204. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/test_field_gf128.py +0 -0
  205. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/test_utils.py +0 -0
  206. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/vole/__init__.py +0 -0
  207. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/vole/test_gilboa_manual.py +0 -0
  208. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/vole/test_ldpc.py +0 -0
  209. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/vole/test_silver_vole.py +0 -0
  210. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/vole/test_vole.py +0 -0
  211. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/vole/test_vole_bench.py +0 -0
  212. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/mpc/vole/verify_vole_logic.py +0 -0
  213. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/test_collective.py +0 -0
  214. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/libs/test_simple_guide.py +0 -0
  215. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/runtime/test_interpreter_async.py +0 -0
  216. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/runtime/test_object_store.py +0 -0
  217. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/runtime/test_object_store_fs.py +0 -0
  218. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/runtime/test_value_gc.py +0 -0
  219. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/test_fetch_semantics.py +0 -0
  220. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/test_pytree_io.py +0 -0
  221. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/utils/__init__.py +0 -0
  222. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/utils/tensor_patch.py +0 -0
  223. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/utils/test_func_utils.py +0 -0
  224. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tests/utils/test_logging.py +0 -0
  225. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tutorials/00_device_basics.py +0 -0
  226. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tutorials/01_function_decorator.py +0 -0
  227. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tutorials/02_simulation_and_driver.py +0 -0
  228. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tutorials/03_run_jax.py +0 -0
  229. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tutorials/04_ir_dump_and_analysis.py +0 -0
  230. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tutorials/05_run_sql.py +0 -0
  231. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tutorials/06_pipeline.py +0 -0
  232. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tutorials/07_stax_nn.py +0 -0
  233. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tutorials/08_logging.py +0 -0
  234. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tutorials/MIGRATION.md +0 -0
  235. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tutorials/README.md +0 -0
  236. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tutorials/__init__.py +0 -0
  237. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tutorials/data/alice.csv +0 -0
  238. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tutorials/data/bob.csv +0 -0
  239. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tutorials/data/prepare_vertical_iris.py +0 -0
  240. {mplang_nightly-0.1.dev331 → mplang_nightly-0.1.dev332}/tutorials/run.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mplang-nightly
3
- Version: 0.1.dev331
3
+ Version: 0.1.dev332
4
4
  Summary: Multi-Party Programming Language
5
5
  Author-email: SecretFlow Team <secretflow-contact@service.alipay.com>
6
6
  License: Apache License
@@ -51,10 +51,11 @@ class SPUState(DialectState):
51
51
  def __init__(self, infra: WorkerInfra | None = None) -> None:
52
52
  # Optional shared infrastructure (for per-request isolation via link.spawn)
53
53
  self._infra = infra
54
- # Key: (local_rank, world_size, protocol, field, link_mode)
54
+ # Key: (local_rank, world_size, protocol, field, link_mode, spu_endpoints)
55
55
  # Value: (Runtime, Io)
56
56
  self._runtimes: dict[
57
- tuple[int, int, str, str, str], tuple[spu_api.Runtime, spu_api.Io]
57
+ tuple[int, int, str, str, str, tuple[str, ...] | None],
58
+ tuple[spu_api.Runtime, spu_api.Io],
58
59
  ] = {}
59
60
  # Local template link cache (used when no WorkerInfra is provided)
60
61
  self._template_links: dict[tuple, libspu.link.Context] = {}
@@ -75,14 +76,14 @@ class SPUState(DialectState):
75
76
  """
76
77
 
77
78
  def _create() -> libspu.link.Context:
78
- if communicator is not None:
79
+ if spu_endpoints:
80
+ return self._create_brpc_link(local_rank, spu_endpoints)
81
+ elif communicator is not None:
79
82
  if parties is None:
80
83
  raise ValueError("parties required when using communicator")
81
84
  return self._create_channels_link(
82
85
  local_rank, spu_world_size, communicator, parties
83
86
  )
84
- elif spu_endpoints:
85
- return self._create_brpc_link(local_rank, spu_endpoints)
86
87
  else:
87
88
  return self._create_mem_link(local_rank, spu_world_size)
88
89
 
@@ -104,13 +105,18 @@ class SPUState(DialectState):
104
105
  ) -> tuple[spu_api.Runtime, spu_api.Io]:
105
106
  """Get or create SPU Runtime and Io for the given configuration.
106
107
 
108
+ Link mode priority: spu_endpoints (BRPC) > communicator (Channels) > mem.
109
+ When ``spu_endpoints`` is provided it always takes precedence, even if
110
+ a ``communicator`` is also supplied.
111
+
107
112
  Args:
108
113
  local_rank: The local rank within the SPU device (0-indexed).
109
114
  spu_world_size: The number of parties in the SPU device.
110
115
  config: SPU configuration including protocol settings.
111
- spu_endpoints: Optional list of BRPC endpoints. If None, use mem link.
116
+ spu_endpoints: Optional list of BRPC endpoints. Takes highest
117
+ priority when provided.
112
118
  communicator: Optional v2 communicator (ThreadCommunicator/HttpCommunicator).
113
- If provided, use Channels mode to reuse existing communication.
119
+ Used only when ``spu_endpoints`` is not provided.
114
120
  parties: Optional list of global ranks for SPU parties.
115
121
  Required when communicator is provided.
116
122
 
@@ -120,10 +126,10 @@ class SPUState(DialectState):
120
126
  from mplang.backends.spu_impl import to_runtime_config
121
127
 
122
128
  # Determine link mode
123
- if communicator is not None:
124
- link_mode = "channels"
125
- elif spu_endpoints:
129
+ if spu_endpoints:
126
130
  link_mode = "brpc"
131
+ elif communicator is not None:
132
+ link_mode = "channels"
127
133
  else:
128
134
  link_mode = "mem"
129
135
 
@@ -133,6 +139,7 @@ class SPUState(DialectState):
133
139
  config.protocol,
134
140
  config.field,
135
141
  link_mode,
142
+ tuple(spu_endpoints) if spu_endpoints else None,
136
143
  )
137
144
 
138
145
  if cache_key in self._runtimes: