gstaichi 0.1.25.dev0__cp313-cp313-macosx_15_0_arm64.whl → 1.0.1__cp313-cp313-macosx_15_0_arm64.whl

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 (76) hide show
  1. gstaichi/CHANGELOG.md +6 -0
  2. gstaichi/__init__.py +1 -1
  3. gstaichi/_lib/core/gstaichi_python.cpython-313-darwin.so +0 -0
  4. gstaichi/_version.py +1 -1
  5. {gstaichi-0.1.25.dev0.dist-info → gstaichi-1.0.1.dist-info}/METADATA +1 -1
  6. gstaichi-1.0.1.dist-info/RECORD +166 -0
  7. gstaichi/__main__.py +0 -5
  8. gstaichi/_main.py +0 -545
  9. gstaichi-0.1.25.dev0.dist-info/RECORD +0 -168
  10. gstaichi-0.1.25.dev0.dist-info/entry_points.txt +0 -2
  11. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/GLFW/glfw3.h +0 -0
  12. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/GLFW/glfw3native.h +0 -0
  13. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv-tools/instrument.hpp +0 -0
  14. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv-tools/libspirv.h +0 -0
  15. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv-tools/libspirv.hpp +0 -0
  16. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv-tools/linker.hpp +0 -0
  17. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv-tools/optimizer.hpp +0 -0
  18. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/GLSL.std.450.h +0 -0
  19. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/spirv.h +0 -0
  20. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/spirv.hpp +0 -0
  21. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/spirv_cfg.hpp +0 -0
  22. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/spirv_common.hpp +0 -0
  23. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/spirv_cpp.hpp +0 -0
  24. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/spirv_cross.hpp +0 -0
  25. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/spirv_cross_c.h +0 -0
  26. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/spirv_cross_containers.hpp +0 -0
  27. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/spirv_cross_error_handling.hpp +0 -0
  28. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/spirv_cross_parsed_ir.hpp +0 -0
  29. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/spirv_cross_util.hpp +0 -0
  30. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/spirv_glsl.hpp +0 -0
  31. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/spirv_hlsl.hpp +0 -0
  32. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/spirv_msl.hpp +0 -0
  33. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/spirv_parser.hpp +0 -0
  34. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/include/spirv_cross/spirv_reflect.hpp +0 -0
  35. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsConfig.cmake +0 -0
  36. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget-release.cmake +0 -0
  37. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake +0 -0
  38. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffConfig.cmake +0 -0
  39. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets-release.cmake +0 -0
  40. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets.cmake +0 -0
  41. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkConfig.cmake +0 -0
  42. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets-release.cmake +0 -0
  43. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets.cmake +0 -0
  44. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintConfig.cmake +0 -0
  45. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets-release.cmake +0 -0
  46. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets.cmake +0 -0
  47. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optConfig.cmake +0 -0
  48. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets-release.cmake +0 -0
  49. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets.cmake +0 -0
  50. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceConfig.cmake +0 -0
  51. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget-release.cmake +0 -0
  52. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget.cmake +0 -0
  53. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/glfw3/glfw3Config.cmake +0 -0
  54. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/glfw3/glfw3ConfigVersion.cmake +0 -0
  55. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/glfw3/glfw3Targets-release.cmake +0 -0
  56. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/cmake/glfw3/glfw3Targets.cmake +0 -0
  57. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/lib/libSPIRV-Tools-shared.dylib +0 -0
  58. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/share/spirv_cross_c/cmake/spirv_cross_cConfig-release.cmake +0 -0
  59. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/share/spirv_cross_c/cmake/spirv_cross_cConfig.cmake +0 -0
  60. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/share/spirv_cross_core/cmake/spirv_cross_coreConfig-release.cmake +0 -0
  61. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/share/spirv_cross_core/cmake/spirv_cross_coreConfig.cmake +0 -0
  62. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/share/spirv_cross_cpp/cmake/spirv_cross_cppConfig-release.cmake +0 -0
  63. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/share/spirv_cross_cpp/cmake/spirv_cross_cppConfig.cmake +0 -0
  64. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/share/spirv_cross_glsl/cmake/spirv_cross_glslConfig-release.cmake +0 -0
  65. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/share/spirv_cross_glsl/cmake/spirv_cross_glslConfig.cmake +0 -0
  66. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/share/spirv_cross_hlsl/cmake/spirv_cross_hlslConfig-release.cmake +0 -0
  67. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/share/spirv_cross_hlsl/cmake/spirv_cross_hlslConfig.cmake +0 -0
  68. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/share/spirv_cross_msl/cmake/spirv_cross_mslConfig-release.cmake +0 -0
  69. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/share/spirv_cross_msl/cmake/spirv_cross_mslConfig.cmake +0 -0
  70. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/share/spirv_cross_reflect/cmake/spirv_cross_reflectConfig-release.cmake +0 -0
  71. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/share/spirv_cross_reflect/cmake/spirv_cross_reflectConfig.cmake +0 -0
  72. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/share/spirv_cross_util/cmake/spirv_cross_utilConfig-release.cmake +0 -0
  73. {gstaichi-0.1.25.dev0.data → gstaichi-1.0.1.data}/data/share/spirv_cross_util/cmake/spirv_cross_utilConfig.cmake +0 -0
  74. {gstaichi-0.1.25.dev0.dist-info → gstaichi-1.0.1.dist-info}/WHEEL +0 -0
  75. {gstaichi-0.1.25.dev0.dist-info → gstaichi-1.0.1.dist-info}/licenses/LICENSE +0 -0
  76. {gstaichi-0.1.25.dev0.dist-info → gstaichi-1.0.1.dist-info}/top_level.txt +0 -0
gstaichi/CHANGELOG.md ADDED
@@ -0,0 +1,6 @@
1
+ Highlights:
2
+ - **Build system**
3
+ - Fix miscellaneous pypi publish issues (#129) (by **Hugh Perkins**)
4
+
5
+ Full changelog:
6
+ - [Build] Fix miscellaneous pypi publish issues (#129) (by **Hugh Perkins**)
gstaichi/__init__.py CHANGED
@@ -24,7 +24,7 @@ from gstaichi.types.primitive_types import *
24
24
 
25
25
  def __getattr__(attr):
26
26
  if attr == "cfg":
27
- return None if lang.impl.get_runtime().prog is None else lang.impl.current_cfg()
27
+ return None if lang.impl.get_runtime()._prog is None else lang.impl.current_cfg()
28
28
  raise AttributeError(f"module '{__name__}' has no attribute '{attr}'")
29
29
 
30
30
 
gstaichi/_version.py CHANGED
@@ -1 +1 @@
1
- __version__ = '0.1.25.dev0'
1
+ __version__ = '1.0.1'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gstaichi
3
- Version: 0.1.25.dev0
3
+ Version: 1.0.1
4
4
  Summary: The GsTaichi Programming Language
5
5
  Home-page: https://github.com/Genesis-Embedded-AI/gstaichi
6
6
  Author: GsTaichi developers
@@ -0,0 +1,166 @@
1
+ gstaichi/CHANGELOG.md,sha256=Ov1W4sRmXU-BSH-zKxGfKfqPqC49QvCLplk8STZ_Mgc,206
2
+ gstaichi/__init__.py,sha256=z8vnx8FS8Ct_b95YOhyNAOzmOsosUAjkYVD1UBxVElo,1004
3
+ gstaichi/_funcs.py,sha256=qH9VMUS6nN0gaRAMSmc0NBrLPGFSDyexWO9tNmz-FV0,23237
4
+ gstaichi/_kernels.py,sha256=M0xE_zhKBCeMRHsacuonGUW2D5QaggQVK-qDblGo2AI,14244
5
+ gstaichi/_logging.py,sha256=Utlv0ZjZLA3xlq80yJN8o91aD6FH8H6W3Wiyl04S8ts,3682
6
+ gstaichi/_version.py,sha256=3KXfAcA5rzzQXMtfwpHphgbJNZdA0XWaW96kdWVSZJw,22
7
+ gstaichi/_version_check.py,sha256=aGUtrx_Q5U8hC5hI2ju_RIA-zzxfUfRIb1ZlU1TiL_M,3653
8
+ gstaichi/experimental.py,sha256=qNLQ6EYcDoapr3hELwXSJXECT5XrTncqv5LRF34Pfhs,343
9
+ gstaichi/_lib/__init__.py,sha256=eo5ZIaTVkv6CzHZpK6tmSgIBZNu0V9UCRhSkieXtgKA,71
10
+ gstaichi/_lib/utils.py,sha256=DQeT2jYpn06tWkwbGYq3efQfZlTpmSu_xq5mUG3vwZM,7841
11
+ gstaichi/_lib/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ gstaichi/_lib/core/gstaichi_python.cpython-313-darwin.so,sha256=uz-xoime0Mub4mSfgxdCz9W9qnFOgCTjQ82mTKpq5jo,105047576
13
+ gstaichi/_lib/core/gstaichi_python.pyi,sha256=8l9jWfGWLGIMD3Mx00ZuXJA2il6BPUwBnFp7Vkr57mQ,111430
14
+ gstaichi/_lib/core/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ gstaichi/_lib/runtime/libMoltenVK.dylib,sha256=bv34qLD2kzftQaZ-JZ49dxMZali6a9hh0Ak0QZBu1BQ,14024368
16
+ gstaichi/_lib/runtime/runtime_arm64.bc,sha256=NESCb2rp8mRR63Xvd0Sb_eGGq7RGjV9Aa4o8koEKf2U,147376
17
+ gstaichi/_snode/__init__.py,sha256=Vn0wolaGt5L69DCZXOs8Hwo1-_hXq_YM63AwHedYuVQ,102
18
+ gstaichi/_snode/fields_builder.py,sha256=Wz_73sJUC1CPWSxueiRb3Qdh_fEqHd1PkOpb3gGSvFM,6763
19
+ gstaichi/_snode/snode_tree.py,sha256=a1Kexuk6uoMOY9ES4zLFhOkIWkSPtXNGna9U5OZvO1s,1197
20
+ gstaichi/_test_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
+ gstaichi/_test_tools/load_kernel_string.py,sha256=7U-oAWLfH9xYhVWHlnOUrUm2GIJ5xJqwDljneFPqU-w,1007
22
+ gstaichi/ad/__init__.py,sha256=T-qo_Lq1g1U2jTN_e8bZuKxxGYQceO9FJGUgPzBhZVo,46
23
+ gstaichi/ad/_ad.py,sha256=ZW_CM_rIv4U290FBpk-NCUWdJJGR87zKx4d_7W1GdKo,19212
24
+ gstaichi/algorithms/__init__.py,sha256=jRJLdZCnqEuH6k5XLI8Q7VjnJtRkGh18Y5pd2AvqOKA,43
25
+ gstaichi/algorithms/_algorithms.py,sha256=o-Bpi77G8bSnUQuUC62lX6cDlaFBBzIQGuTwdMCYfKQ,3705
26
+ gstaichi/assets/.git,sha256=_sepXJOH-4A9o4jtu-46jG2P6XHHbsvGW3642aKNQBc,43
27
+ gstaichi/assets/Go-Regular.ttf,sha256=S7gpWTE2QWxqOezcRUguBS91rDdOZFm5r2jU-6J5OWw,134988
28
+ gstaichi/assets/static/imgs/ti_gallery.png,sha256=rOeh8JlUXb-ZdkTaei3cVyJXZBWOqcJBLdndAORUdtU,263871
29
+ gstaichi/examples/minimal.py,sha256=F_53i9o5jGg9vfvezX03htHtgpEccI9szDrLUMnWFPU,605
30
+ gstaichi/lang/__init__.py,sha256=33TbgOo8y0UzQSPtAVbMXYRJyR_DkiudpBJffpratZQ,1256
31
+ gstaichi/lang/_ndarray.py,sha256=E3MMzd6D8y1N1VPmmqPSDydEmkqiJAVjFSXtcdRxYkQ,10774
32
+ gstaichi/lang/_ndrange.py,sha256=gnaA19o5ws774I0-NvfQSAjOeO9RcxWCh05TdE-jRUs,5769
33
+ gstaichi/lang/_template_mapper.py,sha256=lIx-Vd5xtuKLjwJmh0b3vFuC124SH3sB474_T745WCs,10114
34
+ gstaichi/lang/_texture.py,sha256=Knohwpg3ZytOncqKz_dJt9PY4nAyMMurVrts9y8aCT0,6612
35
+ gstaichi/lang/_wrap_inspect.py,sha256=qduVQNZXDB22ISJRmcZTbmALFc5gmjaA4yGVbkRr9_Y,6986
36
+ gstaichi/lang/any_array.py,sha256=NvJpXq08tAVU4XNCw1npdTgUllqRA2DD-1YChKuF-yw,3292
37
+ gstaichi/lang/argpack.py,sha256=NhDBpPuNbOgYF0_di8tzoaCbrSC3gf4cI_ytQqD5STM,16777
38
+ gstaichi/lang/common_ops.py,sha256=oMpmfX3wLRWC-QYF6x1nu084zKLUd31YTPww80uslBY,8458
39
+ gstaichi/lang/exception.py,sha256=Jns3tMC5T0qHKJVNpwqag8_WOU_8caRLWGoVKcqIKFY,2085
40
+ gstaichi/lang/expr.py,sha256=uWDZeeNiyOZ03jZcEzr0MYwsc8QkcxHoeKwCu8jN9YU,6407
41
+ gstaichi/lang/field.py,sha256=E5MxyoQyFIM5kK8ZqvlXuBsoOmWRgEpzStBZyXNNx4E,14424
42
+ gstaichi/lang/impl.py,sha256=FinHMVRyTGDTr895ag3IMLZWWHMlVmpyAyJJx8lfI7c,41488
43
+ gstaichi/lang/kernel_arguments.py,sha256=yZiIcjHs9xLGljZ-gSzNjAPaRqqb0u7-MzdnM0KYCQ8,6407
44
+ gstaichi/lang/kernel_impl.py,sha256=ZqDXFkkdnC9wfMkfwzdLmt84nFtxCHBdyCdcPhNMy3M,61211
45
+ gstaichi/lang/matrix.py,sha256=25EXjWcIEBBvVNAgl86xKOTcWWp8YMvVHOqiFXAKACc,63826
46
+ gstaichi/lang/matrix_ops.py,sha256=msDw-IIgr6BdwW_3nCgaU-4pl_j4pYQyUb9DPPLp510,10058
47
+ gstaichi/lang/matrix_ops_utils.py,sha256=bN78mfjvuKhdIZLn0PXYljiSZSiOeMPQJzO-4LgvtJk,5245
48
+ gstaichi/lang/mesh.py,sha256=uw-GuloR55l8pH6FjRgyCjkadGYjnU44lGQZq3P9CGE,27071
49
+ gstaichi/lang/misc.py,sha256=ywmRZIQPbhSg5p7IWEdXmzt8pN54LZ8QJXi3Wr3nweo,23302
50
+ gstaichi/lang/ops.py,sha256=DepTUWLWBHia7gzNSRshd_9zb4uQH_c3uUQ8Du2nlq4,44425
51
+ gstaichi/lang/runtime_ops.py,sha256=n5g-QPu2zVrxqqEhzBXR3xP9ULvdidv2DyCaNR3TRVY,224
52
+ gstaichi/lang/shell.py,sha256=RLVp21VXnuuH7AarvmdhmkJSj5Z4jY12W510-K9fi2M,1060
53
+ gstaichi/lang/snode.py,sha256=eau1yHHi7zR6OdWhPR2hIweSptYppfw0feWLzc6CLJs,17124
54
+ gstaichi/lang/source_builder.py,sha256=IyD5ZK7g27eINvhueBaoRBd24ZWSsCc_fQccS-8mSuo,5809
55
+ gstaichi/lang/struct.py,sha256=hz4X5DxIcOnXU5EDJ3z8DLfsVqlw5sqyHSPZm_RguJs,31169
56
+ gstaichi/lang/util.py,sha256=BWLW1HRW4pWZgeBHZUEPmq7H3L1gkgUO0M7ifcEEi2k,9115
57
+ gstaichi/lang/ast/__init__.py,sha256=lMX3ghPfKtq1QPJDIPnTy_T7G9_V_5J3HUvXBKRgMLY,211
58
+ gstaichi/lang/ast/ast_transformer.py,sha256=oCW_nkHH_Z_sRbNEne30LsiKFFZSAZjbjqQHlI509_M,58121
59
+ gstaichi/lang/ast/ast_transformer_utils.py,sha256=Q0tPJLdiF-KWv_O7thPXoCkMspetEupXGFjuVSn0Scc,11517
60
+ gstaichi/lang/ast/checkers.py,sha256=vCJunwWGIuU6k6iIt67skcddDqhPNG-MRty-Tki3Uto,3800
61
+ gstaichi/lang/ast/symbol_resolver.py,sha256=8kBIBvARgZSsF-qXJ2jFVW6M-9YJ57XxRzFKp4O1ooE,1772
62
+ gstaichi/lang/ast/transform.py,sha256=8zURUELi8CzlvY0eZRiphXGd2h0FB0j2SHrS3JhenT4,266
63
+ gstaichi/lang/ast/ast_transformers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
+ gstaichi/lang/ast/ast_transformers/call_transformer.py,sha256=6wqRr1p_vIgaD3eylPYU3rS14JPfFqshvAb6bujgWiM,10909
65
+ gstaichi/lang/ast/ast_transformers/function_def_transformer.py,sha256=y92kO77M9SoJtVBVZ6dbNEqQBRzb9EZuHEg0qnuj018,13094
66
+ gstaichi/lang/simt/__init__.py,sha256=zLQjw-9zUx4-etcHPN4CFORATRF3hiJEXY1Yaog3-vs,124
67
+ gstaichi/lang/simt/block.py,sha256=dvZKkdRg6s5v0ah8HyVhA18hDZa2j-OjiJl0BWI0TEw,3639
68
+ gstaichi/lang/simt/grid.py,sha256=VBYkD5YyKuoSWLfH330a8jH5DPlTEpf5DqJAiSgJjQE,140
69
+ gstaichi/lang/simt/subgroup.py,sha256=Hv_KBrdbWc-CGAtaboSaMMpSvIjscabdisvJoyeshT0,3781
70
+ gstaichi/lang/simt/warp.py,sha256=wTBY73sD-n4fIdmVrhCmRIhCF19aNDo-_033tIRkCrE,3087
71
+ gstaichi/linalg/__init__.py,sha256=ijfsC4MnlrO5CNYK8-rinLgWIRCh_N4sXwzvVY85kxM,267
72
+ gstaichi/linalg/matrixfree_cg.py,sha256=k2Mb88Q2WJARSahl0XcrPu3RUFELSHdswonZmR3J6ZE,10338
73
+ gstaichi/linalg/sparse_cg.py,sha256=uFu9HaQNcE99fq_KqEghb-5-oIAZ7eMWJrCbzHgvak8,2558
74
+ gstaichi/linalg/sparse_matrix.py,sha256=VqIDmo9B65ugGl4vVFDgQNUno2NdQnUWzu_NazurCZo,10971
75
+ gstaichi/linalg/sparse_solver.py,sha256=5Na5ITJKP1BMDxDw5OLoE4qXZJdFt6tP4f60pDt-ogY,4928
76
+ gstaichi/math/__init__.py,sha256=vtN9Hm-e6nPHbjOwS_X06A9uLakNtIXeR10vT4whATw,203
77
+ gstaichi/math/_complex.py,sha256=FRy47TDF1jQluxzS8ZNIt846IncGvlg8lycYbZvjt4k,4980
78
+ gstaichi/math/mathimpl.py,sha256=uscq5LNB4wFC8ZUpI6EYZJ0VnfnXPO4wuPmgd_2na8E,21733
79
+ gstaichi/profiler/__init__.py,sha256=rFlnpZXzcyAVZqWE_mUiAhswtxCRc_jhws-19BwMCyc,207
80
+ gstaichi/profiler/kernel_metrics.py,sha256=h2UfrtqBAIfpP-xy953YkMtfa-zHe97W7FWSoFKeWbg,7623
81
+ gstaichi/profiler/kernel_profiler.py,sha256=-6y4lwuK5GS6nNM0BFXX0zoy-vlCv6E_Q54RNKCn1pA,22276
82
+ gstaichi/profiler/memory_profiler.py,sha256=FNs5xAeFg5d28-8JyVVh2SqOy2-rUB14CiBQje4K0cQ,343
83
+ gstaichi/profiler/scoped_profiler.py,sha256=dXsvN_gmtuHepZNh6gdQIOT7t4aqS_LjqrOuYncCk-M,971
84
+ gstaichi/sparse/__init__.py,sha256=cP9BeV3d5HBgLefeZPuZkaFVSi7DZ4LEasWvPcml0L0,44
85
+ gstaichi/sparse/_sparse_grid.py,sha256=wxnOG4CVthWXJurlyPm2AwZCr9OduPqMkZzbRNmD9ZE,2432
86
+ gstaichi/tools/__init__.py,sha256=Hejqi4SgdfMyc-JunAxKUJRyrVDaVL1zAsICw-L3BF4,317
87
+ gstaichi/tools/diagnose.py,sha256=qXwyU4gXBUFDKbq3Um_-fGb6Z0qRZ2-8Hw974peOJ6c,3448
88
+ gstaichi/tools/np2ply.py,sha256=cDTdB5jUUDd9GATmKhrxpCETfwrgib2o-o0hgqzBI6Q,15271
89
+ gstaichi/tools/vtk.py,sha256=CIOcgpiyiT3-ff8kPzxh1yUiM1SyzYSBKIaYcMJ_dOQ,1032
90
+ gstaichi/types/__init__.py,sha256=OMB4V4ycYKUy_b5IDAFec7c1qgXchkmLONY00OdZbmI,602
91
+ gstaichi/types/annotations.py,sha256=EfbJk4N0ebn7QJ6-BrYZCm0MX0K7iTSh3hR94mOkFRg,992
92
+ gstaichi/types/compound_types.py,sha256=t9IghGj7TWyQoc0ErljRlC_Lh_rq8w4Z1kSItff7RdE,2389
93
+ gstaichi/types/enums.py,sha256=NZGVkk-v3s3FIMEkweXrfSRgyq8-TZGBIqGGD2uDEG8,2050
94
+ gstaichi/types/ndarray_type.py,sha256=YMwr7GmtnmOxxpq7IOQomjHg2aOZsdRxKXVYtmzBMsg,6820
95
+ gstaichi/types/primitive_types.py,sha256=ykf9vGRSOR4lDBsOLBBr6p9ZVeWtkgiF57g-usi_EgY,4067
96
+ gstaichi/types/quant.py,sha256=uuluyzfa-geNJeNi-WPPaNr7LjETqcFQC9ZtRhp2K-8,2973
97
+ gstaichi/types/texture_type.py,sha256=u1--G0XYobhPRfjHe67K6BlzltQJADWIECm75kiZ_iI,2359
98
+ gstaichi/types/utils.py,sha256=wUvL5sLs550T45pSpOJZMVhGijQ7FJCgeOSYPm8-jlg,281
99
+ gstaichi-1.0.1.data/data/include/GLFW/glfw3.h,sha256=DdoqFswVaPjMg39kIprLTCXtLAm_SL32AewOM9BYazI,234397
100
+ gstaichi-1.0.1.data/data/include/GLFW/glfw3native.h,sha256=Ii0M4bk3Q9gtdaX9py5oYXPZf3Gvg21LEN8ut_YgXDQ,18803
101
+ gstaichi-1.0.1.data/data/include/spirv-tools/instrument.hpp,sha256=ya2k9Ldn9TO_6Av24nu1IcboAqQ6F3kCWKqylc0X-Kw,11649
102
+ gstaichi-1.0.1.data/data/include/spirv-tools/libspirv.h,sha256=zK7BxuhZ9pj0VT42VaW0eN8oaO3Dqge8vutJONH-AHI,41781
103
+ gstaichi-1.0.1.data/data/include/spirv-tools/libspirv.hpp,sha256=U9p_Bp76GOvXtxZEsnODMo1Vkm8SkfXVFYtVwKCzbL8,14637
104
+ gstaichi-1.0.1.data/data/include/spirv-tools/linker.hpp,sha256=Ls3qz9nQMRSBTWfp6DMBALdpOZTPMHRG2ObIuYf6OpI,3594
105
+ gstaichi-1.0.1.data/data/include/spirv-tools/optimizer.hpp,sha256=GH1UGi40uly0Gkau9ycjXc3vdC8fglaOFk-5OiEPWaI,49090
106
+ gstaichi-1.0.1.data/data/include/spirv_cross/GLSL.std.450.h,sha256=b1bglGY_3tRDWrHT2MJNcq2zv4KDL8AC7PCg1NllQ-k,3073
107
+ gstaichi-1.0.1.data/data/include/spirv_cross/spirv.h,sha256=orhWU1eZKmCgcVJ-7Yt-zFzsRsxh8Bw4EAFw-jRZw_A,132357
108
+ gstaichi-1.0.1.data/data/include/spirv_cross/spirv.hpp,sha256=CUXuWMG_54jKz9Dt3eTwmbiIMmSF7RmIvgb0yqeq3D4,125162
109
+ gstaichi-1.0.1.data/data/include/spirv_cross/spirv_cfg.hpp,sha256=IbpE_IcD4w1GjIlGFu79biqlPkpQ-mNj9Q3RePJvAgQ,3827
110
+ gstaichi-1.0.1.data/data/include/spirv_cross/spirv_common.hpp,sha256=hrEmJbIlQAl8n0S8RwXN2Yo_Qz4aXe-_McqaaAybP8c,47812
111
+ gstaichi-1.0.1.data/data/include/spirv_cross/spirv_cpp.hpp,sha256=aJ_UWlJBs_KclwL1ZqLJRn1CdI3kBy4ISdYC6uZq2gY,2637
112
+ gstaichi-1.0.1.data/data/include/spirv_cross/spirv_cross.hpp,sha256=ToozBntAj7C5dnNDoQSymzr6F3OwrAqVHBQCJVqJOK4,50906
113
+ gstaichi-1.0.1.data/data/include/spirv_cross/spirv_cross_c.h,sha256=Uf8i-6OYh0Z20jWOwftgAKXSrHYY3UlTgjD1ai77nxE,51487
114
+ gstaichi-1.0.1.data/data/include/spirv_cross/spirv_cross_containers.hpp,sha256=hKRGsaHCb8aesqmaV9MPr_Cp4YAD2dcklhcGXdAQ3L8,17960
115
+ gstaichi-1.0.1.data/data/include/spirv_cross/spirv_cross_error_handling.hpp,sha256=jKKPWeKf-E-FJUyJxbwy09zYKASACdlnaEUcpb6Di6o,2621
116
+ gstaichi-1.0.1.data/data/include/spirv_cross/spirv_cross_parsed_ir.hpp,sha256=ZF4IflfhbUsmIWVkds4SlzQEXNaGBzYVmEW-1CMORs8,9270
117
+ gstaichi-1.0.1.data/data/include/spirv_cross/spirv_cross_util.hpp,sha256=CUKwuuiI65hmha2vLWdB0V1IEXEQVtjbxo-oD0DRhIA,1402
118
+ gstaichi-1.0.1.data/data/include/spirv_cross/spirv_glsl.hpp,sha256=XvS8t-MCVJH2fwkcnrxtECdNqRQLd6PF0rv9w3P4K-E,47618
119
+ gstaichi-1.0.1.data/data/include/spirv_cross/spirv_hlsl.hpp,sha256=0zJmxOVji-yHIlC4Wph2RD5E0dYHM1jWJtLjrsJAY5M,16383
120
+ gstaichi-1.0.1.data/data/include/spirv_cross/spirv_msl.hpp,sha256=PIGKi-xLa5z6O5Qy3LbU93hzvKeG5QTepebI6Ny3siQ,60204
121
+ gstaichi-1.0.1.data/data/include/spirv_cross/spirv_parser.hpp,sha256=5cwhStHYe9eBg_LnKpAsD7mU3Bjnqm6D6Gyyh1cIwvI,2633
122
+ gstaichi-1.0.1.data/data/include/spirv_cross/spirv_reflect.hpp,sha256=qOs1tPZl1C6f-xivCfK2wbzD7575LdfZ3QQ8HpQ6i5Y,2503
123
+ gstaichi-1.0.1.data/data/lib/libSPIRV-Tools-shared.dylib,sha256=tdwhAWNWt6DekDG8k1oD4s8gX8CUjC_V5FNvruTjvww,1899416
124
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsConfig.cmake,sha256=dMEufEjR-_w2-FovZM86J6L4mLAC0V_ghy3NSn-quds,225
125
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget-release.cmake,sha256=udoS0FC5wj8lU72VVq8GeTJTzseWZ0btwt7-ULwiQHI,1396
126
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake,sha256=vx24AucAN1drz4V3WjySdbl3D6KTsmn_XVYb3hht8Ig,4419
127
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffConfig.cmake,sha256=72Wr7X0CYzx3Vt-rI2YcqgXu0RFeVWJAlre9dqxANEE,275
128
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets-release.cmake,sha256=TGr8cW-33wobWQGGXLpGsV3hkVrzmSTCHk3PNiInwQE,873
129
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets.cmake,sha256=mn183rcp87-r_mBuzK1qQnprD5icDGNesRhhcKWerv4,5010
130
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkConfig.cmake,sha256=_LKmSzAEq3x0KnvZ0G8XeoLuMDuHoL78IAdJpeJGdew,275
131
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets-release.cmake,sha256=UXaiPMo8XzoeYmZNDFGfHEhMi2bo38qJ5ymF6qC6Qgo,873
132
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets.cmake,sha256=lIKD2R2v5-2L0UpqjIH9CIDBKWknMHYUKgWfK_pFn8U,4970
133
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintConfig.cmake,sha256=NUFb5HZvW5-c5yAt91Yo64tMFfue-1vRa1t7H6o3IBY,275
134
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets-release.cmake,sha256=twMwM0B9qJYgOxID49zEQIF5NtyhnGB0HXksUb-XH14,873
135
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets.cmake,sha256=JG8ctvqSzUuOYEms-waLgrIfnH6y1ps3vm11A4MaB88,5010
136
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optConfig.cmake,sha256=vKq0g25OpIoYmEt_h6On0dYj8OKETBlrkn3f_jhAHzE,270
137
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets-release.cmake,sha256=zmHEMsi4kvj04bKXZcDXBGB98gMQM8yGujq2bBQMn8I,866
138
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets.cmake,sha256=CjNXDkAi9hTLVjaAq9bPHJ_armEkgd8J_uX_jz80WT4,4971
139
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceConfig.cmake,sha256=7zFj1xzP5RT6FkohmRm4KFdC8zcR-XdvdlF3_Sm-8Gw,285
140
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget-release.cmake,sha256=izVCfxb76CbAZ_9To3d0ao3Kc4JzltGydMyZG2kwdKo,887
141
+ gstaichi-1.0.1.data/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget.cmake,sha256=L3aATbP_gMEMXsCv2M2R3SQcLHDkN_Ra05XgJtj-hyQ,5019
142
+ gstaichi-1.0.1.data/data/lib/cmake/glfw3/glfw3Config.cmake,sha256=DSZvP4sK4yRATcNqjKivAbW_WNFbHOgG6eMY6JXpt1U,115
143
+ gstaichi-1.0.1.data/data/lib/cmake/glfw3/glfw3ConfigVersion.cmake,sha256=d2IEfPkbPohGWgrQLPckr9vTKqxPUUFO1ZgxVeIKwa0,2762
144
+ gstaichi-1.0.1.data/data/lib/cmake/glfw3/glfw3Targets-release.cmake,sha256=BpDZPBIm6Qs3gqDUufi-ocWC39UDWZwGtCkxm_4dB3M,789
145
+ gstaichi-1.0.1.data/data/lib/cmake/glfw3/glfw3Targets.cmake,sha256=dK8hfR7rhZKoRPumDRQPHqzqNmEaSFa1L7Ri4ie_tik,4195
146
+ gstaichi-1.0.1.data/data/share/spirv_cross_c/cmake/spirv_cross_cConfig-release.cmake,sha256=7DDeJII8Fu7nuVtqY9APJeyJQmRHOEesYb4GZB5U2Nk,852
147
+ gstaichi-1.0.1.data/data/share/spirv_cross_c/cmake/spirv_cross_cConfig.cmake,sha256=Hghnpsb7jyqriJ43FDo9rM8xJZ9V3fTEPyyar4kpRYM,5184
148
+ gstaichi-1.0.1.data/data/share/spirv_cross_core/cmake/spirv_cross_coreConfig-release.cmake,sha256=UsdH4n6NgNjTml-XU9CmWSZaSYVcCAefPWvjunerKgI,873
149
+ gstaichi-1.0.1.data/data/share/spirv_cross_core/cmake/spirv_cross_coreConfig.cmake,sha256=SVjYWo1lYL73oV06i4YcWVfj6417V6-R2iw5oTEBMIk,4145
150
+ gstaichi-1.0.1.data/data/share/spirv_cross_cpp/cmake/spirv_cross_cppConfig-release.cmake,sha256=pYi8QcsV3wckWAogPIHSycvi9CL9jUb6cpnRSl4YKI0,866
151
+ gstaichi-1.0.1.data/data/share/spirv_cross_cpp/cmake/spirv_cross_cppConfig.cmake,sha256=OW25x5am_T88hrS4Ad3GfKFgCmL0RYQOb-ICwlZd8SE,4992
152
+ gstaichi-1.0.1.data/data/share/spirv_cross_glsl/cmake/spirv_cross_glslConfig-release.cmake,sha256=N-qk5YvM_c0SxKtwE3eFkpt85Rsna_WBiziGedJXsgg,873
153
+ gstaichi-1.0.1.data/data/share/spirv_cross_glsl/cmake/spirv_cross_glslConfig.cmake,sha256=pk-o4Ad1jJdLXREPCkcaAoqLJMhDWGGONA5GUSYB5Oo,4997
154
+ gstaichi-1.0.1.data/data/share/spirv_cross_hlsl/cmake/spirv_cross_hlslConfig-release.cmake,sha256=49Uid2s5zMuu0rPuxdUttbXqVpys5JNo5iTPu-g3pcM,873
155
+ gstaichi-1.0.1.data/data/share/spirv_cross_hlsl/cmake/spirv_cross_hlslConfig.cmake,sha256=3FUp-uxkYPr2s2E-NFi1_RJSIilktszr0H1Nt_f4Jtw,4997
156
+ gstaichi-1.0.1.data/data/share/spirv_cross_msl/cmake/spirv_cross_mslConfig-release.cmake,sha256=aaEvTgqXscm1VxqHppZaHaKjrdVuZBdwenembdtUKSc,866
157
+ gstaichi-1.0.1.data/data/share/spirv_cross_msl/cmake/spirv_cross_mslConfig.cmake,sha256=LQ7qHYk4h7buccDVzPckmHVezUqCGoyqbEnrYy_UeU0,4992
158
+ gstaichi-1.0.1.data/data/share/spirv_cross_reflect/cmake/spirv_cross_reflectConfig-release.cmake,sha256=pd1hm0LV2XXMOSeMdOm8p7WC70lIe--0tsZRbFivahA,894
159
+ gstaichi-1.0.1.data/data/share/spirv_cross_reflect/cmake/spirv_cross_reflectConfig.cmake,sha256=RU7YyZWYefRWl0Nf3cmwX6YaMbmbJdh-xMTReb2gihs,4160
160
+ gstaichi-1.0.1.data/data/share/spirv_cross_util/cmake/spirv_cross_utilConfig-release.cmake,sha256=Lfo9_3aEg1ucY0bYHahk7qv_6LqKxanxKO42bNDUmGo,873
161
+ gstaichi-1.0.1.data/data/share/spirv_cross_util/cmake/spirv_cross_utilConfig.cmake,sha256=ndic8GTSOmp0tv6meX-YQwxEgmCx78aAf0s9d1KwTDU,4997
162
+ gstaichi-1.0.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
163
+ gstaichi-1.0.1.dist-info/METADATA,sha256=2BVkyTmnae2GT97yLPbnlkcL8nEujmcmKEo8UpS_pu4,4662
164
+ gstaichi-1.0.1.dist-info/WHEEL,sha256=bYnk7s_74GtjsL7Cla9unXlhKW3fT-fE7drGEnXRPCU,109
165
+ gstaichi-1.0.1.dist-info/top_level.txt,sha256=BoKkPzj6Sfycl5Ge5sB9QRDVZvFB5R0sxbZn4YNPb80,9
166
+ gstaichi-1.0.1.dist-info/RECORD,,
gstaichi/__main__.py DELETED
@@ -1,5 +0,0 @@
1
- # type: ignore
2
-
3
- from ._main import main
4
-
5
- main()
gstaichi/_main.py DELETED
@@ -1,545 +0,0 @@
1
- # type: ignore
2
-
3
- import argparse
4
- import math
5
- import os
6
- import runpy
7
- import shutil
8
- import subprocess
9
- import sys
10
- import timeit
11
- from collections import defaultdict
12
- from functools import wraps
13
- from pathlib import Path
14
-
15
- import rich
16
- from colorama import Fore
17
- from rich.console import Console
18
-
19
- from gstaichi._lib import core as _ti_core
20
- from gstaichi._lib import utils
21
- from gstaichi.lang import impl
22
- from gstaichi.tools import diagnose
23
-
24
-
25
- def timer(func):
26
- """Function decorator to benchmark a function running time."""
27
-
28
- @wraps(func)
29
- def wrapper(*args, **kwargs):
30
- start = timeit.default_timer()
31
- result = func(*args, **kwargs)
32
- elapsed = timeit.default_timer() - start
33
- print(f">>> Running time: {elapsed:.2f}s")
34
- return result
35
-
36
- return wrapper
37
-
38
-
39
- def registerableCLI(cls):
40
- """Class decorator to register methods with @register into a set."""
41
- cls.registered_commands = set([])
42
- for name in dir(cls):
43
- method = getattr(cls, name)
44
- if hasattr(method, "registered"):
45
- cls.registered_commands.add(name)
46
- return cls
47
-
48
-
49
- def register(func):
50
- """Method decorator to register CLI commands."""
51
- func.registered = True
52
- return func
53
-
54
-
55
- @registerableCLI
56
- class GsTaichiMain:
57
- def __init__(self, test_mode: bool = False):
58
- self.banner = f"\n{'*' * 43}\n** GsTaichi Programming Language **\n{'*' * 43}"
59
- print(self.banner)
60
-
61
- print(self._get_friend_links())
62
-
63
- parser = argparse.ArgumentParser(description="GsTaichi CLI", usage=self._usage())
64
- parser.add_argument("command", help="command from the above list to run")
65
-
66
- # Flag for unit testing
67
- self.test_mode = test_mode
68
-
69
- self.main_parser = parser
70
-
71
- @timer
72
- def __call__(self):
73
- # Print help if no command provided
74
- if len(sys.argv[1:2]) == 0:
75
- self.main_parser.print_help()
76
- return 1
77
-
78
- # Parse the command
79
- args = self.main_parser.parse_args(sys.argv[1:2])
80
-
81
- if args.command not in self.registered_commands: # pylint: disable=E1101
82
- # TODO: do we really need this?
83
- if args.command.endswith(".py"):
84
- GsTaichiMain._exec_python_file(args.command)
85
- else:
86
- print(f"{args.command} is not a valid command!")
87
- self.main_parser.print_help()
88
- return 1
89
-
90
- return getattr(self, args.command)(sys.argv[2:])
91
-
92
- @staticmethod
93
- def _get_friend_links():
94
- return (
95
- "\n"
96
- "Docs: https://docs.taichi-lang.org/\n"
97
- "GitHub: https://github.com/taichi-dev/gstaichi/\n"
98
- "Forum: https://forum.gstaichi.graphics/\n"
99
- )
100
-
101
- def _usage(self) -> str:
102
- """Compose deterministic usage message based on registered_commands."""
103
- # TODO: add some color to commands
104
- msg = "\n"
105
- space = 20
106
- for command in sorted(self.registered_commands): # pylint: disable=E1101
107
- msg += f" {command}{' ' * (space - len(command))}|-> {getattr(self, command).__doc__}\n"
108
- return msg
109
-
110
- @staticmethod
111
- def _exec_python_file(filename: str):
112
- """Execute a Python file based on filename."""
113
- # TODO: do we really need this?
114
- subprocess.call([sys.executable, filename] + sys.argv[1:])
115
-
116
- @staticmethod
117
- def _get_examples_dir() -> Path:
118
- """Get the path to the examples directory."""
119
-
120
- root_dir = utils.package_root
121
- examples_dir = Path(root_dir) / "examples"
122
- return examples_dir
123
-
124
- @staticmethod
125
- def _get_available_examples() -> set:
126
- """Get a set of all available example names."""
127
- examples_dir = GsTaichiMain._get_examples_dir()
128
- all_examples = examples_dir.rglob("*.py")
129
- all_example_names = {f.stem: f.parent for f in all_examples}
130
- return all_example_names
131
-
132
- @staticmethod
133
- def _example_choices_type(choices):
134
- def support_choice_with_dot_py(choice):
135
- if choice.endswith(".py") and choice.split(".")[0] in choices:
136
- # try to find and remove python file extension
137
- return choice.split(".")[0]
138
- return choice
139
-
140
- return support_choice_with_dot_py
141
-
142
- @register
143
- def example(self, arguments: list = sys.argv[2:]):
144
- """Run an example by name (or name.py)"""
145
-
146
- def colormap(index, name):
147
- from colorsys import hls_to_rgb # pylint: disable=C0415
148
-
149
- x = (ord(name[0].upper()) - 64.0) / 26.0
150
- r, g, b = hls_to_rgb(x, 0.4, 1.0)
151
- r = hex(int(r * 255) % 16)[2:]
152
- g = hex(int(g * 255) % 16)[2:]
153
- b = hex(int(b * 255) % 16)[2:]
154
- return f"{index}: [#{r}{r}{g}{g}{b}{b}]{name}"
155
-
156
- console = Console()
157
- table = rich.table.Table(
158
- box=rich.box.HORIZONTALS,
159
- show_header=False,
160
- header_style="bold #2070b2",
161
- title="[bold][#3fdda4]GSTAICHI[#f8e020] EXAMPLES",
162
- )
163
-
164
- ncols = 3
165
- choices = GsTaichiMain._get_available_examples()
166
- nrows, rem = divmod(len(choices), ncols)
167
- if rem > 0:
168
- nrows += 1
169
- names = sorted(choices.keys())
170
- for k in range(nrows):
171
- table.add_row(*[colormap(j, names[j]) for j in range(k, len(choices), nrows)])
172
-
173
- parser = argparse.ArgumentParser(prog="ti example", description=f"{self.example.__doc__}")
174
- parser.add_argument(
175
- "name",
176
- type=GsTaichiMain._example_choices_type(choices.keys()),
177
- choices=sorted(choices.keys()),
178
- help=console.print(table),
179
- nargs="?",
180
- default=None,
181
- metavar="name",
182
- )
183
- parser.add_argument(
184
- "-p",
185
- "--print",
186
- required=False,
187
- dest="print",
188
- action="store_true",
189
- help="Print example source code instead of running it",
190
- )
191
- parser.add_argument(
192
- "-P",
193
- "--pretty-print",
194
- required=False,
195
- dest="pretty_print",
196
- action="store_true",
197
- help="Like --print, but print in a rich format with line numbers",
198
- )
199
- parser.add_argument(
200
- "-s",
201
- "--save",
202
- required=False,
203
- dest="save",
204
- action="store_true",
205
- help="Save source code to current directory instead of running it",
206
- )
207
-
208
- # TODO: Pass the arguments to downstream correctly(#3216).
209
- args = parser.parse_args(arguments)
210
-
211
- examples_dir = GsTaichiMain._get_examples_dir()
212
- example_name = args.name
213
- if example_name is None:
214
- try:
215
- index = input(f"Please input the example index (between 0 and {len(names)}): ")
216
- while not index.isdigit() or int(index) >= len(names):
217
- index = input(f"Example [{index}] does not exist. Please try again: ")
218
- example_name = names[int(index)]
219
- except KeyboardInterrupt as e:
220
- print("\nCancelled by user, exiting...")
221
- return 1
222
-
223
- target = str((examples_dir / choices[example_name] / f"{example_name}.py").resolve())
224
- # path for examples needs to be modified for implicit relative imports
225
- sys.path.append(str((examples_dir / choices[example_name]).resolve()))
226
-
227
- # Short circuit for testing
228
- if self.test_mode:
229
- return args
230
-
231
- if args.save:
232
- print(f"Saving example {example_name} to current directory...")
233
- shutil.copy(target, ".")
234
- return 0
235
-
236
- if args.pretty_print:
237
- syntax = rich.syntax.Syntax.from_path(target, line_numbers=True)
238
- console = Console()
239
- console.print(syntax)
240
- return 0
241
-
242
- if args.print:
243
- with open(target) as f:
244
- print(f.read())
245
- return 0
246
-
247
- print(f"Running example {example_name} ...")
248
-
249
- runpy.run_path(target, run_name="__main__")
250
-
251
- @staticmethod
252
- @register
253
- def changelog(arguments: list = sys.argv[2:]):
254
- """Display changelog of current version"""
255
- changelog_md = os.path.join(utils.package_root, "CHANGELOG.md")
256
- with open(changelog_md) as f:
257
- print(f.read())
258
-
259
- @staticmethod
260
- @register
261
- def release(arguments: list = sys.argv[2:]):
262
- """Make source code release"""
263
- raise RuntimeError("TBD")
264
-
265
- @staticmethod
266
- @register
267
- def doc(arguments: list = sys.argv[2:]):
268
- """Build documentation"""
269
- raise RuntimeError("TBD")
270
-
271
- @staticmethod
272
- @register
273
- def format(arguments: list = sys.argv[2:]):
274
- """Reformat modified source files"""
275
- raise RuntimeError("Please run `pre-commit run -a` instead")
276
-
277
- @staticmethod
278
- @register
279
- def format_all(arguments: list = sys.argv[2:]):
280
- """Reformat all source files"""
281
- raise RuntimeError("Please run `pre-commit run -a` instead")
282
-
283
- @staticmethod
284
- def _display_benchmark_regression(xd, yd, args):
285
- def parse_dat(file):
286
- _dict = {}
287
- with open(file) as f:
288
- for line in f.readlines():
289
- try:
290
- a, b = line.strip().split(":")
291
- except:
292
- continue
293
- b = float(b)
294
- if abs(b % 1.0) < 1e-5: # codegen_*
295
- b = int(b)
296
- _dict[a.strip()] = b
297
- return _dict
298
-
299
- def parse_name(file):
300
- if file[0:5] == "test_":
301
- return file[5:-4].replace("__test_", "::", 1)
302
- if file[0:10] == "benchmark_":
303
- return "::".join(reversed(file[10:-4].split("__arch_")))
304
- raise Exception(f"bad benchmark file name {file}")
305
-
306
- def get_dats(directory):
307
- _list = []
308
- for x in os.listdir(directory):
309
- if x.endswith(".dat"):
310
- _list.append(x)
311
- _dict = {}
312
- for x in _list:
313
- name = parse_name(x)
314
- path = os.path.join(directory, x)
315
- _dict[name] = parse_dat(path)
316
- return _dict
317
-
318
- spec = args.files
319
- single_line = spec and len(spec) == 1
320
- xs, ys = get_dats(xd), get_dats(yd)
321
- scatter = defaultdict(list)
322
- for name in reversed(sorted(set(xs.keys()).union(ys.keys()))):
323
- file, func = name.split("::")
324
- u, v = xs.get(name, {}), ys.get(name, {})
325
- ret = ""
326
- for key in set(u.keys()).union(v.keys()):
327
- if spec and key not in spec:
328
- continue
329
- a, b = u.get(key, 0), v.get(key, 0)
330
- if a == 0:
331
- if b == 0:
332
- res = 1.0
333
- else:
334
- res = math.inf
335
- else:
336
- res = b / a
337
- scatter[key].append(res)
338
- if res == 1:
339
- continue
340
- if not single_line:
341
- ret += f"{key:<30}"
342
- res -= 1
343
- color = Fore.RESET
344
- if res > 0:
345
- color = Fore.RED
346
- elif res < 0:
347
- color = Fore.GREEN
348
- if isinstance(a, float):
349
- a = f"{a:>7.2}"
350
- else:
351
- a = f"{a:>7}"
352
- if isinstance(b, float):
353
- b = f"{b:>7.2}"
354
- else:
355
- b = f"{b:>7}"
356
- ret += f"{Fore.MAGENTA}{a}{Fore.RESET} -> "
357
- ret += f"{Fore.CYAN}{b} {color}{res:>+9.1%}{Fore.RESET}\n"
358
- if ret != "":
359
- print(f'{file + "::" + func:_<58}', end="")
360
- if not single_line:
361
- print("")
362
- print(ret, end="")
363
- if not single_line:
364
- print("")
365
-
366
- @staticmethod
367
- def _get_benchmark_baseline_dir():
368
- return os.path.join(_ti_core.get_repo_dir(), "benchmarks", "baseline")
369
-
370
- @staticmethod
371
- def _get_benchmark_output_dir():
372
- return os.path.join(_ti_core.get_repo_dir(), "benchmarks", "output")
373
-
374
- @register
375
- def regression(self, arguments: list = sys.argv[2:]):
376
- """Display benchmark regression test result"""
377
- parser = argparse.ArgumentParser(prog="ti regression", description=f"{self.regression.__doc__}")
378
- parser.add_argument("files", nargs="*", help="Test file(s) to be run for benchmarking")
379
- args = parser.parse_args(arguments)
380
-
381
- # Short circuit for testing
382
- if self.test_mode:
383
- return args
384
-
385
- baseline_dir = GsTaichiMain._get_benchmark_baseline_dir()
386
- output_dir = GsTaichiMain._get_benchmark_output_dir()
387
- GsTaichiMain._display_benchmark_regression(baseline_dir, output_dir, args)
388
-
389
- return None
390
-
391
- @register
392
- def baseline(self, arguments: list = sys.argv[2:]):
393
- """Archive current benchmark result as baseline"""
394
- parser = argparse.ArgumentParser(prog="ti baseline", description=f"{self.baseline.__doc__}")
395
- args = parser.parse_args(arguments)
396
-
397
- # Short circuit for testing
398
- if self.test_mode:
399
- return args
400
-
401
- baseline_dir = GsTaichiMain._get_benchmark_baseline_dir()
402
- output_dir = GsTaichiMain._get_benchmark_output_dir()
403
- shutil.rmtree(baseline_dir, True)
404
- shutil.copytree(output_dir, baseline_dir)
405
- print(f"[benchmark] baseline data saved to {baseline_dir}")
406
-
407
- return None
408
-
409
- @staticmethod
410
- @register
411
- def test(self, arguments: list = sys.argv[2:]):
412
- raise RuntimeError("ti test is deprecated. Please run `python tests/run_tests.py` instead.")
413
-
414
- @register
415
- def run(self, arguments: list = sys.argv[2:]):
416
- """Run a single script"""
417
- parser = argparse.ArgumentParser(prog="ti run", description=f"{self.run.__doc__}")
418
- parser.add_argument(
419
- "filename",
420
- help="A single (Python) script to run with GsTaichi, e.g. render.py",
421
- )
422
- args = parser.parse_args(arguments)
423
-
424
- # Short circuit for testing
425
- if self.test_mode:
426
- return args
427
-
428
- runpy.run_path(args.filename)
429
-
430
- return None
431
-
432
- @register
433
- def debug(self, arguments: list = sys.argv[2:]):
434
- """Debug a single script"""
435
- parser = argparse.ArgumentParser(prog="ti debug", description=f"{self.debug.__doc__}")
436
- parser.add_argument(
437
- "filename",
438
- help="A single (Python) script to run with debugger, e.g. render.py",
439
- )
440
- args = parser.parse_args(arguments)
441
-
442
- # Short circuit for testing
443
- if self.test_mode:
444
- return args
445
-
446
- _ti_core.set_core_trigger_gdb_when_crash(True)
447
- os.environ["TI_DEBUG"] = "1"
448
-
449
- runpy.run_path(args.filename, run_name="__main__")
450
-
451
- return None
452
-
453
- @staticmethod
454
- @register
455
- def diagnose(arguments: list = sys.argv[2:]):
456
- """System diagnose information"""
457
- diagnose.main()
458
-
459
- @staticmethod
460
- @register
461
- def repl(arguments: list = sys.argv[2:]):
462
- """Start GsTaichi REPL / Python shell with 'import gstaichi as ti'"""
463
-
464
- def local_scope():
465
- try:
466
- import IPython # pylint: disable=C0415
467
-
468
- IPython.embed()
469
- except ImportError:
470
- import code # pylint: disable=C0415
471
-
472
- __name__ = "__console__" # pylint: disable=W0622
473
- code.interact(local=locals())
474
-
475
- local_scope()
476
-
477
- @staticmethod
478
- @register
479
- def lint(arguments: list = sys.argv[2:]):
480
- """Run pylint checker for the Python codebase of GsTaichi"""
481
- # TODO: support arguments for lint specific files
482
- # parser = argparse.ArgumentParser(prog='ti lint', description=f"{self.lint.__doc__}")
483
- # args = parser.parse_args(arguments)
484
-
485
- options = [os.path.dirname(__file__)]
486
-
487
- from multiprocessing import cpu_count # pylint: disable=C0415
488
-
489
- threads = min(8, cpu_count())
490
- options += ["-j", str(threads)]
491
-
492
- # http://pylint.pycqa.org/en/latest/user_guide/run.html
493
- # TODO: support redirect output to lint.log
494
- import pylint # pylint: disable=C0415
495
-
496
- pylint.lint.Run(options)
497
-
498
- @staticmethod
499
- @register
500
- def cache(arguments: list = sys.argv[2:]):
501
- """Manage the offline cache files manually"""
502
-
503
- def clean(cmd_args, parser):
504
- parser.add_argument(
505
- "-p",
506
- "--offline-cache-file-path",
507
- dest="offline_cache_file_path",
508
- default=impl.default_cfg().offline_cache_file_path,
509
- )
510
- args = parser.parse_args(cmd_args)
511
- path = os.path.abspath(args.offline_cache_file_path)
512
- count = _ti_core.clean_offline_cache_files(path)
513
- print(f"Deleted {count} offline cache files in {path}")
514
-
515
- # TODO(PGZXB): Provide more tools to manage the offline cache files
516
- subcmds_map = {"clean": (clean, "Clean all offline cache files in given path")}
517
-
518
- def print_help():
519
- print("usage: ti cache <command> [<args>]")
520
- for name, value in subcmds_map.items():
521
- _, description = value
522
- print(f"\t{name}\t|-> {description}")
523
-
524
- if not arguments:
525
- print_help()
526
- return
527
-
528
- subcmd = arguments[0]
529
- if subcmd not in subcmds_map:
530
- print(f"'ti cache {subcmd}' is not a valid command!")
531
- print_help()
532
- return
533
-
534
- func, description = subcmds_map[subcmd]
535
- parser = argparse.ArgumentParser(prog=f"ti cache {subcmd}", description=description)
536
- func(cmd_args=arguments[1:], parser=parser)
537
-
538
-
539
- def main():
540
- cli = GsTaichiMain()
541
- return cli()
542
-
543
-
544
- if __name__ == "__main__":
545
- sys.exit(main())
@@ -1,168 +0,0 @@
1
- gstaichi/__init__.py,sha256=5vrTfU6EGDz-sQDvku3Ps_84fxKh0NmqDg0cRNUIR84,1003
2
- gstaichi/__main__.py,sha256=AJZ5EW2aF0oRFIpOR7HbHSCxR5tujHb_qqFcn3I0tCA,48
3
- gstaichi/_funcs.py,sha256=qH9VMUS6nN0gaRAMSmc0NBrLPGFSDyexWO9tNmz-FV0,23237
4
- gstaichi/_kernels.py,sha256=M0xE_zhKBCeMRHsacuonGUW2D5QaggQVK-qDblGo2AI,14244
5
- gstaichi/_logging.py,sha256=Utlv0ZjZLA3xlq80yJN8o91aD6FH8H6W3Wiyl04S8ts,3682
6
- gstaichi/_main.py,sha256=MnixJ111LOAbx1H6-rvvnvqVLYwK0i6N76eoRx47Yuo,17990
7
- gstaichi/_version.py,sha256=Y3aY5EPp1LmZ0cpxr2_gWVlUdfDz7wJiMuVMYlHSyz8,28
8
- gstaichi/_version_check.py,sha256=aGUtrx_Q5U8hC5hI2ju_RIA-zzxfUfRIb1ZlU1TiL_M,3653
9
- gstaichi/experimental.py,sha256=qNLQ6EYcDoapr3hELwXSJXECT5XrTncqv5LRF34Pfhs,343
10
- gstaichi/_lib/__init__.py,sha256=eo5ZIaTVkv6CzHZpK6tmSgIBZNu0V9UCRhSkieXtgKA,71
11
- gstaichi/_lib/utils.py,sha256=DQeT2jYpn06tWkwbGYq3efQfZlTpmSu_xq5mUG3vwZM,7841
12
- gstaichi/_lib/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- gstaichi/_lib/core/gstaichi_python.cpython-313-darwin.so,sha256=0B_TO5lJVe5P2D7DwUXNOBQyV5LTSMuKiL1UbDM41cQ,105047576
14
- gstaichi/_lib/core/gstaichi_python.pyi,sha256=8l9jWfGWLGIMD3Mx00ZuXJA2il6BPUwBnFp7Vkr57mQ,111430
15
- gstaichi/_lib/core/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- gstaichi/_lib/runtime/libMoltenVK.dylib,sha256=bv34qLD2kzftQaZ-JZ49dxMZali6a9hh0Ak0QZBu1BQ,14024368
17
- gstaichi/_lib/runtime/runtime_arm64.bc,sha256=NESCb2rp8mRR63Xvd0Sb_eGGq7RGjV9Aa4o8koEKf2U,147376
18
- gstaichi/_snode/__init__.py,sha256=Vn0wolaGt5L69DCZXOs8Hwo1-_hXq_YM63AwHedYuVQ,102
19
- gstaichi/_snode/fields_builder.py,sha256=Wz_73sJUC1CPWSxueiRb3Qdh_fEqHd1PkOpb3gGSvFM,6763
20
- gstaichi/_snode/snode_tree.py,sha256=a1Kexuk6uoMOY9ES4zLFhOkIWkSPtXNGna9U5OZvO1s,1197
21
- gstaichi/_test_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- gstaichi/_test_tools/load_kernel_string.py,sha256=7U-oAWLfH9xYhVWHlnOUrUm2GIJ5xJqwDljneFPqU-w,1007
23
- gstaichi/ad/__init__.py,sha256=T-qo_Lq1g1U2jTN_e8bZuKxxGYQceO9FJGUgPzBhZVo,46
24
- gstaichi/ad/_ad.py,sha256=ZW_CM_rIv4U290FBpk-NCUWdJJGR87zKx4d_7W1GdKo,19212
25
- gstaichi/algorithms/__init__.py,sha256=jRJLdZCnqEuH6k5XLI8Q7VjnJtRkGh18Y5pd2AvqOKA,43
26
- gstaichi/algorithms/_algorithms.py,sha256=o-Bpi77G8bSnUQuUC62lX6cDlaFBBzIQGuTwdMCYfKQ,3705
27
- gstaichi/assets/.git,sha256=_sepXJOH-4A9o4jtu-46jG2P6XHHbsvGW3642aKNQBc,43
28
- gstaichi/assets/Go-Regular.ttf,sha256=S7gpWTE2QWxqOezcRUguBS91rDdOZFm5r2jU-6J5OWw,134988
29
- gstaichi/assets/static/imgs/ti_gallery.png,sha256=rOeh8JlUXb-ZdkTaei3cVyJXZBWOqcJBLdndAORUdtU,263871
30
- gstaichi/examples/minimal.py,sha256=F_53i9o5jGg9vfvezX03htHtgpEccI9szDrLUMnWFPU,605
31
- gstaichi/lang/__init__.py,sha256=33TbgOo8y0UzQSPtAVbMXYRJyR_DkiudpBJffpratZQ,1256
32
- gstaichi/lang/_ndarray.py,sha256=E3MMzd6D8y1N1VPmmqPSDydEmkqiJAVjFSXtcdRxYkQ,10774
33
- gstaichi/lang/_ndrange.py,sha256=gnaA19o5ws774I0-NvfQSAjOeO9RcxWCh05TdE-jRUs,5769
34
- gstaichi/lang/_template_mapper.py,sha256=lIx-Vd5xtuKLjwJmh0b3vFuC124SH3sB474_T745WCs,10114
35
- gstaichi/lang/_texture.py,sha256=Knohwpg3ZytOncqKz_dJt9PY4nAyMMurVrts9y8aCT0,6612
36
- gstaichi/lang/_wrap_inspect.py,sha256=qduVQNZXDB22ISJRmcZTbmALFc5gmjaA4yGVbkRr9_Y,6986
37
- gstaichi/lang/any_array.py,sha256=NvJpXq08tAVU4XNCw1npdTgUllqRA2DD-1YChKuF-yw,3292
38
- gstaichi/lang/argpack.py,sha256=NhDBpPuNbOgYF0_di8tzoaCbrSC3gf4cI_ytQqD5STM,16777
39
- gstaichi/lang/common_ops.py,sha256=oMpmfX3wLRWC-QYF6x1nu084zKLUd31YTPww80uslBY,8458
40
- gstaichi/lang/exception.py,sha256=Jns3tMC5T0qHKJVNpwqag8_WOU_8caRLWGoVKcqIKFY,2085
41
- gstaichi/lang/expr.py,sha256=uWDZeeNiyOZ03jZcEzr0MYwsc8QkcxHoeKwCu8jN9YU,6407
42
- gstaichi/lang/field.py,sha256=E5MxyoQyFIM5kK8ZqvlXuBsoOmWRgEpzStBZyXNNx4E,14424
43
- gstaichi/lang/impl.py,sha256=FinHMVRyTGDTr895ag3IMLZWWHMlVmpyAyJJx8lfI7c,41488
44
- gstaichi/lang/kernel_arguments.py,sha256=yZiIcjHs9xLGljZ-gSzNjAPaRqqb0u7-MzdnM0KYCQ8,6407
45
- gstaichi/lang/kernel_impl.py,sha256=ZqDXFkkdnC9wfMkfwzdLmt84nFtxCHBdyCdcPhNMy3M,61211
46
- gstaichi/lang/matrix.py,sha256=25EXjWcIEBBvVNAgl86xKOTcWWp8YMvVHOqiFXAKACc,63826
47
- gstaichi/lang/matrix_ops.py,sha256=msDw-IIgr6BdwW_3nCgaU-4pl_j4pYQyUb9DPPLp510,10058
48
- gstaichi/lang/matrix_ops_utils.py,sha256=bN78mfjvuKhdIZLn0PXYljiSZSiOeMPQJzO-4LgvtJk,5245
49
- gstaichi/lang/mesh.py,sha256=uw-GuloR55l8pH6FjRgyCjkadGYjnU44lGQZq3P9CGE,27071
50
- gstaichi/lang/misc.py,sha256=ywmRZIQPbhSg5p7IWEdXmzt8pN54LZ8QJXi3Wr3nweo,23302
51
- gstaichi/lang/ops.py,sha256=DepTUWLWBHia7gzNSRshd_9zb4uQH_c3uUQ8Du2nlq4,44425
52
- gstaichi/lang/runtime_ops.py,sha256=n5g-QPu2zVrxqqEhzBXR3xP9ULvdidv2DyCaNR3TRVY,224
53
- gstaichi/lang/shell.py,sha256=RLVp21VXnuuH7AarvmdhmkJSj5Z4jY12W510-K9fi2M,1060
54
- gstaichi/lang/snode.py,sha256=eau1yHHi7zR6OdWhPR2hIweSptYppfw0feWLzc6CLJs,17124
55
- gstaichi/lang/source_builder.py,sha256=IyD5ZK7g27eINvhueBaoRBd24ZWSsCc_fQccS-8mSuo,5809
56
- gstaichi/lang/struct.py,sha256=hz4X5DxIcOnXU5EDJ3z8DLfsVqlw5sqyHSPZm_RguJs,31169
57
- gstaichi/lang/util.py,sha256=BWLW1HRW4pWZgeBHZUEPmq7H3L1gkgUO0M7ifcEEi2k,9115
58
- gstaichi/lang/ast/__init__.py,sha256=lMX3ghPfKtq1QPJDIPnTy_T7G9_V_5J3HUvXBKRgMLY,211
59
- gstaichi/lang/ast/ast_transformer.py,sha256=oCW_nkHH_Z_sRbNEne30LsiKFFZSAZjbjqQHlI509_M,58121
60
- gstaichi/lang/ast/ast_transformer_utils.py,sha256=Q0tPJLdiF-KWv_O7thPXoCkMspetEupXGFjuVSn0Scc,11517
61
- gstaichi/lang/ast/checkers.py,sha256=vCJunwWGIuU6k6iIt67skcddDqhPNG-MRty-Tki3Uto,3800
62
- gstaichi/lang/ast/symbol_resolver.py,sha256=8kBIBvARgZSsF-qXJ2jFVW6M-9YJ57XxRzFKp4O1ooE,1772
63
- gstaichi/lang/ast/transform.py,sha256=8zURUELi8CzlvY0eZRiphXGd2h0FB0j2SHrS3JhenT4,266
64
- gstaichi/lang/ast/ast_transformers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
- gstaichi/lang/ast/ast_transformers/call_transformer.py,sha256=6wqRr1p_vIgaD3eylPYU3rS14JPfFqshvAb6bujgWiM,10909
66
- gstaichi/lang/ast/ast_transformers/function_def_transformer.py,sha256=y92kO77M9SoJtVBVZ6dbNEqQBRzb9EZuHEg0qnuj018,13094
67
- gstaichi/lang/simt/__init__.py,sha256=zLQjw-9zUx4-etcHPN4CFORATRF3hiJEXY1Yaog3-vs,124
68
- gstaichi/lang/simt/block.py,sha256=dvZKkdRg6s5v0ah8HyVhA18hDZa2j-OjiJl0BWI0TEw,3639
69
- gstaichi/lang/simt/grid.py,sha256=VBYkD5YyKuoSWLfH330a8jH5DPlTEpf5DqJAiSgJjQE,140
70
- gstaichi/lang/simt/subgroup.py,sha256=Hv_KBrdbWc-CGAtaboSaMMpSvIjscabdisvJoyeshT0,3781
71
- gstaichi/lang/simt/warp.py,sha256=wTBY73sD-n4fIdmVrhCmRIhCF19aNDo-_033tIRkCrE,3087
72
- gstaichi/linalg/__init__.py,sha256=ijfsC4MnlrO5CNYK8-rinLgWIRCh_N4sXwzvVY85kxM,267
73
- gstaichi/linalg/matrixfree_cg.py,sha256=k2Mb88Q2WJARSahl0XcrPu3RUFELSHdswonZmR3J6ZE,10338
74
- gstaichi/linalg/sparse_cg.py,sha256=uFu9HaQNcE99fq_KqEghb-5-oIAZ7eMWJrCbzHgvak8,2558
75
- gstaichi/linalg/sparse_matrix.py,sha256=VqIDmo9B65ugGl4vVFDgQNUno2NdQnUWzu_NazurCZo,10971
76
- gstaichi/linalg/sparse_solver.py,sha256=5Na5ITJKP1BMDxDw5OLoE4qXZJdFt6tP4f60pDt-ogY,4928
77
- gstaichi/math/__init__.py,sha256=vtN9Hm-e6nPHbjOwS_X06A9uLakNtIXeR10vT4whATw,203
78
- gstaichi/math/_complex.py,sha256=FRy47TDF1jQluxzS8ZNIt846IncGvlg8lycYbZvjt4k,4980
79
- gstaichi/math/mathimpl.py,sha256=uscq5LNB4wFC8ZUpI6EYZJ0VnfnXPO4wuPmgd_2na8E,21733
80
- gstaichi/profiler/__init__.py,sha256=rFlnpZXzcyAVZqWE_mUiAhswtxCRc_jhws-19BwMCyc,207
81
- gstaichi/profiler/kernel_metrics.py,sha256=h2UfrtqBAIfpP-xy953YkMtfa-zHe97W7FWSoFKeWbg,7623
82
- gstaichi/profiler/kernel_profiler.py,sha256=-6y4lwuK5GS6nNM0BFXX0zoy-vlCv6E_Q54RNKCn1pA,22276
83
- gstaichi/profiler/memory_profiler.py,sha256=FNs5xAeFg5d28-8JyVVh2SqOy2-rUB14CiBQje4K0cQ,343
84
- gstaichi/profiler/scoped_profiler.py,sha256=dXsvN_gmtuHepZNh6gdQIOT7t4aqS_LjqrOuYncCk-M,971
85
- gstaichi/sparse/__init__.py,sha256=cP9BeV3d5HBgLefeZPuZkaFVSi7DZ4LEasWvPcml0L0,44
86
- gstaichi/sparse/_sparse_grid.py,sha256=wxnOG4CVthWXJurlyPm2AwZCr9OduPqMkZzbRNmD9ZE,2432
87
- gstaichi/tools/__init__.py,sha256=Hejqi4SgdfMyc-JunAxKUJRyrVDaVL1zAsICw-L3BF4,317
88
- gstaichi/tools/diagnose.py,sha256=qXwyU4gXBUFDKbq3Um_-fGb6Z0qRZ2-8Hw974peOJ6c,3448
89
- gstaichi/tools/np2ply.py,sha256=cDTdB5jUUDd9GATmKhrxpCETfwrgib2o-o0hgqzBI6Q,15271
90
- gstaichi/tools/vtk.py,sha256=CIOcgpiyiT3-ff8kPzxh1yUiM1SyzYSBKIaYcMJ_dOQ,1032
91
- gstaichi/types/__init__.py,sha256=OMB4V4ycYKUy_b5IDAFec7c1qgXchkmLONY00OdZbmI,602
92
- gstaichi/types/annotations.py,sha256=EfbJk4N0ebn7QJ6-BrYZCm0MX0K7iTSh3hR94mOkFRg,992
93
- gstaichi/types/compound_types.py,sha256=t9IghGj7TWyQoc0ErljRlC_Lh_rq8w4Z1kSItff7RdE,2389
94
- gstaichi/types/enums.py,sha256=NZGVkk-v3s3FIMEkweXrfSRgyq8-TZGBIqGGD2uDEG8,2050
95
- gstaichi/types/ndarray_type.py,sha256=YMwr7GmtnmOxxpq7IOQomjHg2aOZsdRxKXVYtmzBMsg,6820
96
- gstaichi/types/primitive_types.py,sha256=ykf9vGRSOR4lDBsOLBBr6p9ZVeWtkgiF57g-usi_EgY,4067
97
- gstaichi/types/quant.py,sha256=uuluyzfa-geNJeNi-WPPaNr7LjETqcFQC9ZtRhp2K-8,2973
98
- gstaichi/types/texture_type.py,sha256=u1--G0XYobhPRfjHe67K6BlzltQJADWIECm75kiZ_iI,2359
99
- gstaichi/types/utils.py,sha256=wUvL5sLs550T45pSpOJZMVhGijQ7FJCgeOSYPm8-jlg,281
100
- gstaichi-0.1.25.dev0.data/data/include/GLFW/glfw3.h,sha256=DdoqFswVaPjMg39kIprLTCXtLAm_SL32AewOM9BYazI,234397
101
- gstaichi-0.1.25.dev0.data/data/include/GLFW/glfw3native.h,sha256=Ii0M4bk3Q9gtdaX9py5oYXPZf3Gvg21LEN8ut_YgXDQ,18803
102
- gstaichi-0.1.25.dev0.data/data/include/spirv-tools/instrument.hpp,sha256=ya2k9Ldn9TO_6Av24nu1IcboAqQ6F3kCWKqylc0X-Kw,11649
103
- gstaichi-0.1.25.dev0.data/data/include/spirv-tools/libspirv.h,sha256=zK7BxuhZ9pj0VT42VaW0eN8oaO3Dqge8vutJONH-AHI,41781
104
- gstaichi-0.1.25.dev0.data/data/include/spirv-tools/libspirv.hpp,sha256=U9p_Bp76GOvXtxZEsnODMo1Vkm8SkfXVFYtVwKCzbL8,14637
105
- gstaichi-0.1.25.dev0.data/data/include/spirv-tools/linker.hpp,sha256=Ls3qz9nQMRSBTWfp6DMBALdpOZTPMHRG2ObIuYf6OpI,3594
106
- gstaichi-0.1.25.dev0.data/data/include/spirv-tools/optimizer.hpp,sha256=GH1UGi40uly0Gkau9ycjXc3vdC8fglaOFk-5OiEPWaI,49090
107
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/GLSL.std.450.h,sha256=b1bglGY_3tRDWrHT2MJNcq2zv4KDL8AC7PCg1NllQ-k,3073
108
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv.h,sha256=orhWU1eZKmCgcVJ-7Yt-zFzsRsxh8Bw4EAFw-jRZw_A,132357
109
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv.hpp,sha256=CUXuWMG_54jKz9Dt3eTwmbiIMmSF7RmIvgb0yqeq3D4,125162
110
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_cfg.hpp,sha256=IbpE_IcD4w1GjIlGFu79biqlPkpQ-mNj9Q3RePJvAgQ,3827
111
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_common.hpp,sha256=hrEmJbIlQAl8n0S8RwXN2Yo_Qz4aXe-_McqaaAybP8c,47812
112
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_cpp.hpp,sha256=aJ_UWlJBs_KclwL1ZqLJRn1CdI3kBy4ISdYC6uZq2gY,2637
113
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_cross.hpp,sha256=ToozBntAj7C5dnNDoQSymzr6F3OwrAqVHBQCJVqJOK4,50906
114
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_cross_c.h,sha256=Uf8i-6OYh0Z20jWOwftgAKXSrHYY3UlTgjD1ai77nxE,51487
115
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_cross_containers.hpp,sha256=hKRGsaHCb8aesqmaV9MPr_Cp4YAD2dcklhcGXdAQ3L8,17960
116
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_cross_error_handling.hpp,sha256=jKKPWeKf-E-FJUyJxbwy09zYKASACdlnaEUcpb6Di6o,2621
117
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_cross_parsed_ir.hpp,sha256=ZF4IflfhbUsmIWVkds4SlzQEXNaGBzYVmEW-1CMORs8,9270
118
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_cross_util.hpp,sha256=CUKwuuiI65hmha2vLWdB0V1IEXEQVtjbxo-oD0DRhIA,1402
119
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_glsl.hpp,sha256=XvS8t-MCVJH2fwkcnrxtECdNqRQLd6PF0rv9w3P4K-E,47618
120
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_hlsl.hpp,sha256=0zJmxOVji-yHIlC4Wph2RD5E0dYHM1jWJtLjrsJAY5M,16383
121
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_msl.hpp,sha256=PIGKi-xLa5z6O5Qy3LbU93hzvKeG5QTepebI6Ny3siQ,60204
122
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_parser.hpp,sha256=5cwhStHYe9eBg_LnKpAsD7mU3Bjnqm6D6Gyyh1cIwvI,2633
123
- gstaichi-0.1.25.dev0.data/data/include/spirv_cross/spirv_reflect.hpp,sha256=qOs1tPZl1C6f-xivCfK2wbzD7575LdfZ3QQ8HpQ6i5Y,2503
124
- gstaichi-0.1.25.dev0.data/data/lib/libSPIRV-Tools-shared.dylib,sha256=tdwhAWNWt6DekDG8k1oD4s8gX8CUjC_V5FNvruTjvww,1899416
125
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsConfig.cmake,sha256=dMEufEjR-_w2-FovZM86J6L4mLAC0V_ghy3NSn-quds,225
126
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget-release.cmake,sha256=udoS0FC5wj8lU72VVq8GeTJTzseWZ0btwt7-ULwiQHI,1396
127
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake,sha256=vx24AucAN1drz4V3WjySdbl3D6KTsmn_XVYb3hht8Ig,4419
128
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffConfig.cmake,sha256=72Wr7X0CYzx3Vt-rI2YcqgXu0RFeVWJAlre9dqxANEE,275
129
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets-release.cmake,sha256=TGr8cW-33wobWQGGXLpGsV3hkVrzmSTCHk3PNiInwQE,873
130
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets.cmake,sha256=mn183rcp87-r_mBuzK1qQnprD5icDGNesRhhcKWerv4,5010
131
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkConfig.cmake,sha256=_LKmSzAEq3x0KnvZ0G8XeoLuMDuHoL78IAdJpeJGdew,275
132
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets-release.cmake,sha256=UXaiPMo8XzoeYmZNDFGfHEhMi2bo38qJ5ymF6qC6Qgo,873
133
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets.cmake,sha256=lIKD2R2v5-2L0UpqjIH9CIDBKWknMHYUKgWfK_pFn8U,4970
134
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintConfig.cmake,sha256=NUFb5HZvW5-c5yAt91Yo64tMFfue-1vRa1t7H6o3IBY,275
135
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets-release.cmake,sha256=twMwM0B9qJYgOxID49zEQIF5NtyhnGB0HXksUb-XH14,873
136
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets.cmake,sha256=JG8ctvqSzUuOYEms-waLgrIfnH6y1ps3vm11A4MaB88,5010
137
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optConfig.cmake,sha256=vKq0g25OpIoYmEt_h6On0dYj8OKETBlrkn3f_jhAHzE,270
138
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets-release.cmake,sha256=zmHEMsi4kvj04bKXZcDXBGB98gMQM8yGujq2bBQMn8I,866
139
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets.cmake,sha256=CjNXDkAi9hTLVjaAq9bPHJ_armEkgd8J_uX_jz80WT4,4971
140
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceConfig.cmake,sha256=7zFj1xzP5RT6FkohmRm4KFdC8zcR-XdvdlF3_Sm-8Gw,285
141
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget-release.cmake,sha256=izVCfxb76CbAZ_9To3d0ao3Kc4JzltGydMyZG2kwdKo,887
142
- gstaichi-0.1.25.dev0.data/data/lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget.cmake,sha256=L3aATbP_gMEMXsCv2M2R3SQcLHDkN_Ra05XgJtj-hyQ,5019
143
- gstaichi-0.1.25.dev0.data/data/lib/cmake/glfw3/glfw3Config.cmake,sha256=DSZvP4sK4yRATcNqjKivAbW_WNFbHOgG6eMY6JXpt1U,115
144
- gstaichi-0.1.25.dev0.data/data/lib/cmake/glfw3/glfw3ConfigVersion.cmake,sha256=d2IEfPkbPohGWgrQLPckr9vTKqxPUUFO1ZgxVeIKwa0,2762
145
- gstaichi-0.1.25.dev0.data/data/lib/cmake/glfw3/glfw3Targets-release.cmake,sha256=BpDZPBIm6Qs3gqDUufi-ocWC39UDWZwGtCkxm_4dB3M,789
146
- gstaichi-0.1.25.dev0.data/data/lib/cmake/glfw3/glfw3Targets.cmake,sha256=dK8hfR7rhZKoRPumDRQPHqzqNmEaSFa1L7Ri4ie_tik,4195
147
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_c/cmake/spirv_cross_cConfig-release.cmake,sha256=7DDeJII8Fu7nuVtqY9APJeyJQmRHOEesYb4GZB5U2Nk,852
148
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_c/cmake/spirv_cross_cConfig.cmake,sha256=Hghnpsb7jyqriJ43FDo9rM8xJZ9V3fTEPyyar4kpRYM,5184
149
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_core/cmake/spirv_cross_coreConfig-release.cmake,sha256=UsdH4n6NgNjTml-XU9CmWSZaSYVcCAefPWvjunerKgI,873
150
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_core/cmake/spirv_cross_coreConfig.cmake,sha256=SVjYWo1lYL73oV06i4YcWVfj6417V6-R2iw5oTEBMIk,4145
151
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_cpp/cmake/spirv_cross_cppConfig-release.cmake,sha256=pYi8QcsV3wckWAogPIHSycvi9CL9jUb6cpnRSl4YKI0,866
152
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_cpp/cmake/spirv_cross_cppConfig.cmake,sha256=OW25x5am_T88hrS4Ad3GfKFgCmL0RYQOb-ICwlZd8SE,4992
153
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_glsl/cmake/spirv_cross_glslConfig-release.cmake,sha256=N-qk5YvM_c0SxKtwE3eFkpt85Rsna_WBiziGedJXsgg,873
154
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_glsl/cmake/spirv_cross_glslConfig.cmake,sha256=pk-o4Ad1jJdLXREPCkcaAoqLJMhDWGGONA5GUSYB5Oo,4997
155
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_hlsl/cmake/spirv_cross_hlslConfig-release.cmake,sha256=49Uid2s5zMuu0rPuxdUttbXqVpys5JNo5iTPu-g3pcM,873
156
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_hlsl/cmake/spirv_cross_hlslConfig.cmake,sha256=3FUp-uxkYPr2s2E-NFi1_RJSIilktszr0H1Nt_f4Jtw,4997
157
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_msl/cmake/spirv_cross_mslConfig-release.cmake,sha256=aaEvTgqXscm1VxqHppZaHaKjrdVuZBdwenembdtUKSc,866
158
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_msl/cmake/spirv_cross_mslConfig.cmake,sha256=LQ7qHYk4h7buccDVzPckmHVezUqCGoyqbEnrYy_UeU0,4992
159
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_reflect/cmake/spirv_cross_reflectConfig-release.cmake,sha256=pd1hm0LV2XXMOSeMdOm8p7WC70lIe--0tsZRbFivahA,894
160
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_reflect/cmake/spirv_cross_reflectConfig.cmake,sha256=RU7YyZWYefRWl0Nf3cmwX6YaMbmbJdh-xMTReb2gihs,4160
161
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_util/cmake/spirv_cross_utilConfig-release.cmake,sha256=Lfo9_3aEg1ucY0bYHahk7qv_6LqKxanxKO42bNDUmGo,873
162
- gstaichi-0.1.25.dev0.data/data/share/spirv_cross_util/cmake/spirv_cross_utilConfig.cmake,sha256=ndic8GTSOmp0tv6meX-YQwxEgmCx78aAf0s9d1KwTDU,4997
163
- gstaichi-0.1.25.dev0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
164
- gstaichi-0.1.25.dev0.dist-info/METADATA,sha256=hhewCriZJuXirR5Oz7ekqbTEE2HRBCpb1ynCjLtuJrw,4668
165
- gstaichi-0.1.25.dev0.dist-info/WHEEL,sha256=bYnk7s_74GtjsL7Cla9unXlhKW3fT-fE7drGEnXRPCU,109
166
- gstaichi-0.1.25.dev0.dist-info/entry_points.txt,sha256=zCEhfa09khn5bjORszCmecpH2mDo6y5n5dlJADI6KHc,43
167
- gstaichi-0.1.25.dev0.dist-info/top_level.txt,sha256=BoKkPzj6Sfycl5Ge5sB9QRDVZvFB5R0sxbZn4YNPb80,9
168
- gstaichi-0.1.25.dev0.dist-info/RECORD,,
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- ti = gstaichi._main:main