gstaichi 0.1.23.dev0__cp310-cp310-win_amd64.whl → 0.1.25.dev0__cp310-cp310-win_amd64.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 (219) hide show
  1. gstaichi/CHANGELOG.md +9 -0
  2. {taichi → gstaichi}/__init__.py +9 -13
  3. {taichi → gstaichi}/_funcs.py +8 -8
  4. {taichi → gstaichi}/_kernels.py +19 -19
  5. gstaichi/_lib/__init__.py +3 -0
  6. taichi/_lib/core/taichi_python.cp310-win_amd64.pyd → gstaichi/_lib/core/gstaichi_python.cp310-win_amd64.pyd +0 -0
  7. taichi/_lib/core/taichi_python.pyi → gstaichi/_lib/core/gstaichi_python.pyi +382 -522
  8. {taichi → gstaichi}/_lib/runtime/runtime_cuda.bc +0 -0
  9. {taichi → gstaichi}/_lib/runtime/runtime_x64.bc +0 -0
  10. {taichi → gstaichi}/_lib/utils.py +15 -15
  11. {taichi → gstaichi}/_logging.py +1 -1
  12. {taichi → gstaichi}/_main.py +24 -31
  13. gstaichi/_snode/__init__.py +5 -0
  14. {taichi → gstaichi}/_snode/fields_builder.py +27 -29
  15. {taichi → gstaichi}/_snode/snode_tree.py +5 -5
  16. gstaichi/_test_tools/__init__.py +0 -0
  17. gstaichi/_test_tools/load_kernel_string.py +30 -0
  18. gstaichi/_version.py +1 -0
  19. {taichi → gstaichi}/_version_check.py +8 -5
  20. gstaichi/ad/__init__.py +3 -0
  21. {taichi → gstaichi}/ad/_ad.py +26 -26
  22. {taichi → gstaichi}/algorithms/_algorithms.py +7 -7
  23. {taichi → gstaichi}/examples/minimal.py +1 -1
  24. {taichi → gstaichi}/experimental.py +1 -1
  25. gstaichi/lang/__init__.py +50 -0
  26. {taichi → gstaichi}/lang/_ndarray.py +30 -26
  27. {taichi → gstaichi}/lang/_ndrange.py +8 -8
  28. gstaichi/lang/_template_mapper.py +199 -0
  29. {taichi → gstaichi}/lang/_texture.py +19 -19
  30. {taichi → gstaichi}/lang/_wrap_inspect.py +7 -7
  31. {taichi → gstaichi}/lang/any_array.py +13 -13
  32. {taichi → gstaichi}/lang/argpack.py +29 -29
  33. gstaichi/lang/ast/__init__.py +5 -0
  34. {taichi → gstaichi}/lang/ast/ast_transformer.py +94 -582
  35. {taichi → gstaichi}/lang/ast/ast_transformer_utils.py +54 -41
  36. gstaichi/lang/ast/ast_transformers/__init__.py +0 -0
  37. gstaichi/lang/ast/ast_transformers/call_transformer.py +267 -0
  38. gstaichi/lang/ast/ast_transformers/function_def_transformer.py +320 -0
  39. {taichi → gstaichi}/lang/ast/checkers.py +5 -5
  40. gstaichi/lang/ast/transform.py +9 -0
  41. {taichi → gstaichi}/lang/common_ops.py +12 -12
  42. gstaichi/lang/exception.py +80 -0
  43. {taichi → gstaichi}/lang/expr.py +22 -22
  44. {taichi → gstaichi}/lang/field.py +29 -27
  45. {taichi → gstaichi}/lang/impl.py +116 -121
  46. {taichi → gstaichi}/lang/kernel_arguments.py +16 -16
  47. {taichi → gstaichi}/lang/kernel_impl.py +330 -363
  48. {taichi → gstaichi}/lang/matrix.py +119 -115
  49. {taichi → gstaichi}/lang/matrix_ops.py +6 -6
  50. {taichi → gstaichi}/lang/matrix_ops_utils.py +4 -4
  51. {taichi → gstaichi}/lang/mesh.py +22 -22
  52. {taichi → gstaichi}/lang/misc.py +39 -68
  53. {taichi → gstaichi}/lang/ops.py +146 -141
  54. {taichi → gstaichi}/lang/runtime_ops.py +2 -2
  55. {taichi → gstaichi}/lang/shell.py +3 -3
  56. {taichi → gstaichi}/lang/simt/__init__.py +1 -1
  57. {taichi → gstaichi}/lang/simt/block.py +7 -7
  58. {taichi → gstaichi}/lang/simt/grid.py +1 -1
  59. {taichi → gstaichi}/lang/simt/subgroup.py +1 -1
  60. {taichi → gstaichi}/lang/simt/warp.py +1 -1
  61. {taichi → gstaichi}/lang/snode.py +46 -44
  62. {taichi → gstaichi}/lang/source_builder.py +13 -13
  63. {taichi → gstaichi}/lang/struct.py +33 -33
  64. {taichi → gstaichi}/lang/util.py +24 -24
  65. gstaichi/linalg/__init__.py +8 -0
  66. {taichi → gstaichi}/linalg/matrixfree_cg.py +14 -14
  67. {taichi → gstaichi}/linalg/sparse_cg.py +10 -10
  68. {taichi → gstaichi}/linalg/sparse_matrix.py +23 -23
  69. {taichi → gstaichi}/linalg/sparse_solver.py +21 -21
  70. {taichi → gstaichi}/math/__init__.py +1 -1
  71. {taichi → gstaichi}/math/_complex.py +21 -20
  72. {taichi → gstaichi}/math/mathimpl.py +56 -56
  73. gstaichi/profiler/__init__.py +6 -0
  74. {taichi → gstaichi}/profiler/kernel_metrics.py +11 -11
  75. {taichi → gstaichi}/profiler/kernel_profiler.py +30 -36
  76. {taichi → gstaichi}/profiler/memory_profiler.py +1 -1
  77. {taichi → gstaichi}/profiler/scoped_profiler.py +2 -2
  78. {taichi → gstaichi}/sparse/_sparse_grid.py +7 -7
  79. {taichi → gstaichi}/tools/__init__.py +4 -4
  80. {taichi → gstaichi}/tools/diagnose.py +10 -17
  81. gstaichi/types/__init__.py +19 -0
  82. {taichi → gstaichi}/types/annotations.py +1 -1
  83. {taichi → gstaichi}/types/compound_types.py +8 -8
  84. {taichi → gstaichi}/types/enums.py +1 -1
  85. {taichi → gstaichi}/types/ndarray_type.py +7 -7
  86. {taichi → gstaichi}/types/primitive_types.py +17 -14
  87. {taichi → gstaichi}/types/quant.py +9 -9
  88. {taichi → gstaichi}/types/texture_type.py +5 -5
  89. {taichi → gstaichi}/types/utils.py +1 -1
  90. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/bin/SPIRV-Tools-shared.dll +0 -0
  91. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/lib/SPIRV-Tools-diff.lib +0 -0
  92. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/lib/SPIRV-Tools-link.lib +0 -0
  93. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/lib/SPIRV-Tools-lint.lib +0 -0
  94. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/lib/SPIRV-Tools-opt.lib +0 -0
  95. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/lib/SPIRV-Tools-reduce.lib +0 -0
  96. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/lib/SPIRV-Tools-shared.lib +0 -0
  97. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/lib/SPIRV-Tools.lib +0 -0
  98. {gstaichi-0.1.23.dev0.dist-info → gstaichi-0.1.25.dev0.dist-info}/METADATA +13 -16
  99. gstaichi-0.1.25.dev0.dist-info/RECORD +138 -0
  100. gstaichi-0.1.25.dev0.dist-info/entry_points.txt +2 -0
  101. gstaichi-0.1.25.dev0.dist-info/top_level.txt +1 -0
  102. gstaichi-0.1.23.dev0.data/data/include/GLFW/glfw3.h +0 -6389
  103. gstaichi-0.1.23.dev0.data/data/include/GLFW/glfw3native.h +0 -594
  104. gstaichi-0.1.23.dev0.data/data/lib/cmake/glfw3/glfw3Config.cmake +0 -3
  105. gstaichi-0.1.23.dev0.data/data/lib/cmake/glfw3/glfw3ConfigVersion.cmake +0 -65
  106. gstaichi-0.1.23.dev0.data/data/lib/cmake/glfw3/glfw3Targets-release.cmake +0 -19
  107. gstaichi-0.1.23.dev0.data/data/lib/cmake/glfw3/glfw3Targets.cmake +0 -107
  108. gstaichi-0.1.23.dev0.data/data/lib/glfw3.lib +0 -0
  109. gstaichi-0.1.23.dev0.dist-info/RECORD +0 -198
  110. gstaichi-0.1.23.dev0.dist-info/entry_points.txt +0 -2
  111. gstaichi-0.1.23.dev0.dist-info/top_level.txt +0 -1
  112. taichi/CHANGELOG.md +0 -20
  113. taichi/_lib/__init__.py +0 -3
  114. taichi/_lib/c_api/bin/taichi_c_api.dll +0 -0
  115. taichi/_lib/c_api/include/taichi/cpp/taichi.hpp +0 -1401
  116. taichi/_lib/c_api/include/taichi/taichi.h +0 -29
  117. taichi/_lib/c_api/include/taichi/taichi_core.h +0 -1111
  118. taichi/_lib/c_api/include/taichi/taichi_cpu.h +0 -29
  119. taichi/_lib/c_api/include/taichi/taichi_cuda.h +0 -36
  120. taichi/_lib/c_api/include/taichi/taichi_platform.h +0 -55
  121. taichi/_lib/c_api/include/taichi/taichi_unity.h +0 -64
  122. taichi/_lib/c_api/include/taichi/taichi_vulkan.h +0 -151
  123. taichi/_lib/c_api/lib/taichi_c_api.lib +0 -0
  124. taichi/_lib/c_api/runtime/runtime_cuda.bc +0 -0
  125. taichi/_lib/c_api/runtime/runtime_x64.bc +0 -0
  126. taichi/_lib/c_api/taichi/lib/cmake/taichi/TaichiConfig.cmake +0 -29
  127. taichi/_lib/c_api/taichi/lib/cmake/taichi/TaichiConfigVersion.cmake +0 -65
  128. taichi/_lib/c_api/taichi/lib/cmake/taichi/TaichiTargets.cmake +0 -121
  129. taichi/_lib/runtime/slim_libdevice.10.bc +0 -0
  130. taichi/_snode/__init__.py +0 -5
  131. taichi/_ti_module/__init__.py +0 -3
  132. taichi/_ti_module/cppgen.py +0 -309
  133. taichi/_ti_module/module.py +0 -145
  134. taichi/_version.py +0 -1
  135. taichi/ad/__init__.py +0 -3
  136. taichi/aot/__init__.py +0 -12
  137. taichi/aot/_export.py +0 -28
  138. taichi/aot/conventions/__init__.py +0 -3
  139. taichi/aot/conventions/gfxruntime140/__init__.py +0 -38
  140. taichi/aot/conventions/gfxruntime140/dr.py +0 -244
  141. taichi/aot/conventions/gfxruntime140/sr.py +0 -613
  142. taichi/aot/module.py +0 -253
  143. taichi/aot/utils.py +0 -151
  144. taichi/graph/__init__.py +0 -3
  145. taichi/graph/_graph.py +0 -292
  146. taichi/lang/__init__.py +0 -50
  147. taichi/lang/ast/__init__.py +0 -5
  148. taichi/lang/ast/transform.py +0 -9
  149. taichi/lang/exception.py +0 -80
  150. taichi/linalg/__init__.py +0 -8
  151. taichi/profiler/__init__.py +0 -6
  152. taichi/shaders/Circles_vk.frag +0 -29
  153. taichi/shaders/Circles_vk.vert +0 -45
  154. taichi/shaders/Circles_vk_frag.spv +0 -0
  155. taichi/shaders/Circles_vk_vert.spv +0 -0
  156. taichi/shaders/Lines_vk.frag +0 -9
  157. taichi/shaders/Lines_vk.vert +0 -11
  158. taichi/shaders/Lines_vk_frag.spv +0 -0
  159. taichi/shaders/Lines_vk_vert.spv +0 -0
  160. taichi/shaders/Mesh_vk.frag +0 -71
  161. taichi/shaders/Mesh_vk.vert +0 -68
  162. taichi/shaders/Mesh_vk_frag.spv +0 -0
  163. taichi/shaders/Mesh_vk_vert.spv +0 -0
  164. taichi/shaders/Particles_vk.frag +0 -95
  165. taichi/shaders/Particles_vk.vert +0 -73
  166. taichi/shaders/Particles_vk_frag.spv +0 -0
  167. taichi/shaders/Particles_vk_vert.spv +0 -0
  168. taichi/shaders/SceneLines2quad_vk_comp.spv +0 -0
  169. taichi/shaders/SceneLines_vk.frag +0 -9
  170. taichi/shaders/SceneLines_vk.vert +0 -12
  171. taichi/shaders/SceneLines_vk_frag.spv +0 -0
  172. taichi/shaders/SceneLines_vk_vert.spv +0 -0
  173. taichi/shaders/SetImage_vk.frag +0 -21
  174. taichi/shaders/SetImage_vk.vert +0 -15
  175. taichi/shaders/SetImage_vk_frag.spv +0 -0
  176. taichi/shaders/SetImage_vk_vert.spv +0 -0
  177. taichi/shaders/Triangles_vk.frag +0 -16
  178. taichi/shaders/Triangles_vk.vert +0 -29
  179. taichi/shaders/Triangles_vk_frag.spv +0 -0
  180. taichi/shaders/Triangles_vk_vert.spv +0 -0
  181. taichi/shaders/lines2quad_vk_comp.spv +0 -0
  182. taichi/types/__init__.py +0 -19
  183. {taichi → gstaichi}/__main__.py +0 -0
  184. {taichi → gstaichi}/_lib/core/__init__.py +0 -0
  185. {taichi → gstaichi}/_lib/core/py.typed +0 -0
  186. {taichi/_lib/c_api → gstaichi/_lib}/runtime/slim_libdevice.10.bc +0 -0
  187. {taichi → gstaichi}/algorithms/__init__.py +0 -0
  188. {taichi → gstaichi}/assets/.git +0 -0
  189. {taichi → gstaichi}/assets/Go-Regular.ttf +0 -0
  190. {taichi → gstaichi}/assets/static/imgs/ti_gallery.png +0 -0
  191. {taichi → gstaichi}/lang/ast/symbol_resolver.py +0 -0
  192. {taichi → gstaichi}/sparse/__init__.py +0 -0
  193. {taichi → gstaichi}/tools/np2ply.py +0 -0
  194. {taichi → gstaichi}/tools/vtk.py +0 -0
  195. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools/cmake/SPIRV-ToolsConfig.cmake +0 -0
  196. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools/cmake/SPIRV-ToolsTarget-release.cmake +0 -0
  197. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools/cmake/SPIRV-ToolsTarget.cmake +0 -0
  198. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffConfig.cmake +0 -0
  199. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffTargets-release.cmake +0 -0
  200. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffTargets.cmake +0 -0
  201. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkConfig.cmake +0 -0
  202. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkTargets-release.cmake +0 -0
  203. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkTargets.cmake +0 -0
  204. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintConfig.cmake +0 -0
  205. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintTargets-release.cmake +0 -0
  206. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintTargets.cmake +0 -0
  207. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optConfig.cmake +0 -0
  208. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optTargets-release.cmake +0 -0
  209. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optTargets.cmake +0 -0
  210. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceConfig.cmake +0 -0
  211. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceTarget-release.cmake +0 -0
  212. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceTarget.cmake +0 -0
  213. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/include/spirv-tools/instrument.hpp +0 -0
  214. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/include/spirv-tools/libspirv.h +0 -0
  215. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/include/spirv-tools/libspirv.hpp +0 -0
  216. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/include/spirv-tools/linker.hpp +0 -0
  217. {gstaichi-0.1.23.dev0.data → gstaichi-0.1.25.dev0.data}/data/include/spirv-tools/optimizer.hpp +0 -0
  218. {gstaichi-0.1.23.dev0.dist-info → gstaichi-0.1.25.dev0.dist-info}/WHEEL +0 -0
  219. {gstaichi-0.1.23.dev0.dist-info → gstaichi-0.1.25.dev0.dist-info}/licenses/LICENSE +0 -0
@@ -1,18 +1,18 @@
1
1
  # type: ignore
2
2
 
3
- from taichi._lib import core as _ti_core
4
- from taichi.lang import impl
5
- from taichi.lang.expr import Expr, make_expr_group
6
- from taichi.lang.util import taichi_scope
7
- from taichi.types.enums import Layout
8
- from taichi.types.ndarray_type import NdarrayTypeMetadata
3
+ from gstaichi._lib import core as _ti_core
4
+ from gstaichi.lang import impl
5
+ from gstaichi.lang.expr import Expr, make_expr_group
6
+ from gstaichi.lang.util import gstaichi_scope
7
+ from gstaichi.types.enums import Layout
8
+ from gstaichi.types.ndarray_type import NdarrayTypeMetadata
9
9
 
10
10
 
11
11
  class AnyArray:
12
12
  """Class for arbitrary arrays in Python AST.
13
13
 
14
14
  Args:
15
- ptr (taichi_python.Expr): A taichi_python.Expr wrapping a taichi_python.ExternalTensorExpression.
15
+ ptr (gstaichi_python.Expr): A gstaichi_python.Expr wrapping a gstaichi_python.ExternalTensorExpression.
16
16
  element_shape (Tuple[Int]): () if scalar elements (default), (n) if vector elements, and (n, m) if matrix elements.
17
17
  layout (Layout): Memory layout.
18
18
  """
@@ -39,13 +39,13 @@ class AnyArray:
39
39
  ) # AnyArray can take any shape
40
40
 
41
41
  @property
42
- @taichi_scope
42
+ @gstaichi_scope
43
43
  def grad(self):
44
44
  """Returns the gradient of this array."""
45
45
  return AnyArray(_ti_core.make_external_tensor_grad_expr(self.ptr))
46
46
 
47
47
  @property
48
- @taichi_scope
48
+ @gstaichi_scope
49
49
  def shape(self):
50
50
  """A list containing sizes for each dimension. Note that element shape will be excluded.
51
51
 
@@ -56,12 +56,12 @@ class AnyArray:
56
56
  dbg_info = _ti_core.DebugInfo(impl.get_runtime().get_current_src_info())
57
57
  return [Expr(_ti_core.get_external_tensor_shape_along_axis(self.ptr, i, dbg_info)) for i in range(dim)]
58
58
 
59
- @taichi_scope
59
+ @gstaichi_scope
60
60
  def _loop_range(self):
61
- """Gets the corresponding taichi_python.Expr to serve as loop range.
61
+ """Gets the corresponding gstaichi_python.Expr to serve as loop range.
62
62
 
63
63
  Returns:
64
- taichi_python.Expr: See above.
64
+ gstaichi_python.Expr: See above.
65
65
  """
66
66
  return self.ptr
67
67
 
@@ -78,7 +78,7 @@ class AnyArrayAccess:
78
78
  self.arr = arr
79
79
  self.indices_first = indices_first
80
80
 
81
- @taichi_scope
81
+ @gstaichi_scope
82
82
  def subscript(self, i, j):
83
83
  ast_builder = impl.get_runtime().compiling_callable.ast_builder()
84
84
 
@@ -2,24 +2,24 @@
2
2
 
3
3
  import numpy as np
4
4
 
5
- import taichi.lang
6
- from taichi._lib import core as _ti_core
7
- from taichi.lang import impl, ops
8
- from taichi.lang.exception import (
9
- TaichiRuntimeTypeError,
10
- TaichiSyntaxError,
5
+ import gstaichi.lang
6
+ from gstaichi._lib import core as _ti_core
7
+ from gstaichi.lang import impl, ops
8
+ from gstaichi.lang.exception import (
9
+ GsTaichiRuntimeTypeError,
10
+ GsTaichiSyntaxError,
11
11
  )
12
- from taichi.lang.matrix import Matrix, MatrixType
13
- from taichi.lang.struct import Struct, StructType
14
- from taichi.lang.util import cook_dtype, in_python_scope, python_scope
15
- from taichi.types import (
12
+ from gstaichi.lang.matrix import Matrix, MatrixType
13
+ from gstaichi.lang.struct import Struct, StructType
14
+ from gstaichi.lang.util import cook_dtype, in_python_scope, python_scope
15
+ from gstaichi.types import (
16
16
  ndarray_type,
17
17
  primitive_types,
18
18
  sparse_matrix_builder,
19
19
  texture_type,
20
20
  )
21
- from taichi.types.compound_types import CompoundType
22
- from taichi.types.utils import is_signed
21
+ from gstaichi.types.compound_types import CompoundType
22
+ from gstaichi.types.utils import is_signed
23
23
 
24
24
 
25
25
  class ArgPack:
@@ -27,7 +27,7 @@ class ArgPack:
27
27
 
28
28
  The `ArgPack` operates as a dictionary-like data pack, storing members as (key, value) pairs. Members stored can
29
29
  range from scalars and matrices to other dictionary-like structures. Distinguished from structs, `ArgPack` can
30
- accommodate buffer types such as `NdarrayType` and `TextureType` from Taichi. However, unlike `ti.Struct` which
30
+ accommodate buffer types such as `NdarrayType` and `TextureType` from GsTaichi. However, unlike `ti.Struct` which
31
31
  serves as a data container, `ArgPack` functions as a reference container. It's important to note that `ArgPack`
32
32
  cannot be nested within other types except for another `ArgPack`, and can only be utilized as kernel parameters.
33
33
 
@@ -60,11 +60,11 @@ class ArgPack:
60
60
  elif len(args) == 0:
61
61
  self.__entries = kwargs
62
62
  else:
63
- raise TaichiSyntaxError(
63
+ raise GsTaichiSyntaxError(
64
64
  "Custom argument packs need to be initialized using either dictionary or keyword arguments"
65
65
  )
66
66
  if annotations.keys() != self.__entries.keys():
67
- raise TaichiSyntaxError("ArgPack annotations keys not equals to entries keys.")
67
+ raise GsTaichiSyntaxError("ArgPack annotations keys not equals to entries keys.")
68
68
  self.__annotations = annotations
69
69
  for k, v in self.__entries.items():
70
70
  self.__entries[k] = v if in_python_scope() else impl.expr_init(v)
@@ -198,28 +198,28 @@ class ArgPack:
198
198
  def _write_to_device(self, needed, provided, v, index):
199
199
  if isinstance(needed, ArgPackType):
200
200
  if not isinstance(v, ArgPack):
201
- raise TaichiRuntimeTypeError.get(index, str(needed), str(provided))
201
+ raise GsTaichiRuntimeTypeError.get(index, str(needed), str(provided))
202
202
  self.__argpack.set_arg_nested_argpack(index, v.__argpack)
203
203
  else:
204
204
  # Note: do not use sth like "needed == f32". That would be slow.
205
205
  if id(needed) in primitive_types.real_type_ids:
206
206
  if not isinstance(v, (float, int, np.floating, np.integer)):
207
- raise TaichiRuntimeTypeError.get(index, needed.to_string(), provided)
207
+ raise GsTaichiRuntimeTypeError.get(index, needed.to_string(), provided)
208
208
  self.__argpack.set_arg_float((index,), float(v))
209
209
  elif id(needed) in primitive_types.integer_type_ids:
210
210
  if not isinstance(v, (int, np.integer)):
211
- raise TaichiRuntimeTypeError.get(index, needed.to_string(), provided)
211
+ raise GsTaichiRuntimeTypeError.get(index, needed.to_string(), provided)
212
212
  if is_signed(cook_dtype(needed)):
213
213
  self.__argpack.set_arg_int((index,), int(v))
214
214
  else:
215
215
  self.__argpack.set_arg_uint((index,), int(v))
216
216
  elif isinstance(needed, sparse_matrix_builder):
217
217
  pass
218
- elif isinstance(needed, ndarray_type.NdarrayType) and isinstance(v, taichi.lang._ndarray.Ndarray):
218
+ elif isinstance(needed, ndarray_type.NdarrayType) and isinstance(v, gstaichi.lang._ndarray.Ndarray):
219
219
  pass
220
- elif isinstance(needed, texture_type.TextureType) and isinstance(v, taichi.lang._texture.Texture):
220
+ elif isinstance(needed, texture_type.TextureType) and isinstance(v, gstaichi.lang._texture.Texture):
221
221
  pass
222
- elif isinstance(needed, texture_type.RWTextureType) and isinstance(v, taichi.lang._texture.Texture):
222
+ elif isinstance(needed, texture_type.RWTextureType) and isinstance(v, gstaichi.lang._texture.Texture):
223
223
  pass
224
224
  elif isinstance(needed, ndarray_type.NdarrayType):
225
225
  pass
@@ -228,14 +228,14 @@ class ArgPack:
228
228
 
229
229
  def cast_func(x):
230
230
  if not isinstance(x, (int, float, np.integer, np.floating)):
231
- raise TaichiRuntimeTypeError.get(index, needed.dtype.to_string(), type(x))
231
+ raise GsTaichiRuntimeTypeError.get(index, needed.dtype.to_string(), type(x))
232
232
  return float(x)
233
233
 
234
234
  elif needed.dtype in primitive_types.integer_types:
235
235
 
236
236
  def cast_func(x):
237
237
  if not isinstance(x, (int, np.integer)):
238
- raise TaichiRuntimeTypeError.get(index, needed.dtype.to_string(), type(x))
238
+ raise GsTaichiRuntimeTypeError.get(index, needed.dtype.to_string(), type(x))
239
239
  return int(x)
240
240
 
241
241
  else:
@@ -249,7 +249,7 @@ class ArgPack:
249
249
  needed.set_argpack_struct_args(v, self.__argpack, (index,))
250
250
  elif isinstance(needed, StructType):
251
251
  if not isinstance(v, needed):
252
- raise TaichiRuntimeTypeError.get(index, str(needed), provided)
252
+ raise GsTaichiRuntimeTypeError.get(index, str(needed), provided)
253
253
  needed.set_argpack_struct_args(v, self.__argpack, (index,))
254
254
  else:
255
255
  raise ValueError(f"Argument type mismatch. Expecting {needed}, got {type(v)}.")
@@ -270,11 +270,11 @@ class _IntermediateArgPack(ArgPack):
270
270
  elif len(args) == 0:
271
271
  self._ArgPack__entries = kwargs
272
272
  else:
273
- raise TaichiSyntaxError(
273
+ raise GsTaichiSyntaxError(
274
274
  "Custom argument packs need to be initialized using either dictionary or keyword arguments"
275
275
  )
276
276
  if annotations.keys() != self._ArgPack__entries.keys():
277
- raise TaichiSyntaxError("ArgPack annotations keys not equals to entries keys.")
277
+ raise GsTaichiSyntaxError("ArgPack annotations keys not equals to entries keys.")
278
278
  self._ArgPack__annotations = annotations
279
279
  self._register_members()
280
280
  self._ArgPack__dtype = dtype
@@ -296,7 +296,7 @@ class ArgPackType(CompoundType):
296
296
  self.members[k] = dtype
297
297
  elements.append(
298
298
  [
299
- _ti_core.DataType(
299
+ _ti_core.DataTypeCxx(
300
300
  _ti_core.get_type_factory_instance().get_struct_type_for_argpack_ptr(dtype.dtype)
301
301
  ),
302
302
  k,
@@ -366,7 +366,7 @@ class ArgPackType(CompoundType):
366
366
  def cast(self, pack):
367
367
  # sanity check members
368
368
  if self.members.keys() != pack._ArgPack__entries.keys():
369
- raise TaichiSyntaxError("Incompatible arguments for custom argument pack members!")
369
+ raise GsTaichiSyntaxError("Incompatible arguments for custom argument pack members!")
370
370
  entries = {}
371
371
  for k, dtype in self.members.items():
372
372
  if isinstance(dtype, MatrixType):
@@ -392,7 +392,7 @@ class ArgPackType(CompoundType):
392
392
  pack = ArgPack(self.members, self.dtype, entries)
393
393
  return pack
394
394
 
395
- def from_taichi_object(self, arg_load_dict: dict):
395
+ def from_gstaichi_object(self, arg_load_dict: dict):
396
396
  d = {}
397
397
  items = self.members.items()
398
398
  for index, pair in enumerate(items):
@@ -0,0 +1,5 @@
1
+ # type: ignore
2
+
3
+ from gstaichi.lang.ast.ast_transformer_utils import ASTTransformerContext
4
+ from gstaichi.lang.ast.checkers import KernelSimplicityASTChecker
5
+ from gstaichi.lang.ast.transform import transform_tree