gstaichi 0.0.0__cp311-cp311-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 (154) hide show
  1. gstaichi/CHANGELOG.md +4 -0
  2. gstaichi/__init__.py +51 -0
  3. gstaichi/_funcs.py +706 -0
  4. gstaichi/_kernels.py +420 -0
  5. gstaichi/_lib/__init__.py +5 -0
  6. gstaichi/_lib/core/__init__.py +0 -0
  7. gstaichi/_lib/core/gstaichi_python.cp311-win_amd64.pyd +0 -0
  8. gstaichi/_lib/core/gstaichi_python.pyi +2917 -0
  9. gstaichi/_lib/core/py.typed +0 -0
  10. gstaichi/_lib/runtime/runtime_cuda.bc +0 -0
  11. gstaichi/_lib/runtime/runtime_x64.bc +0 -0
  12. gstaichi/_lib/runtime/slim_libdevice.10.bc +0 -0
  13. gstaichi/_lib/utils.py +243 -0
  14. gstaichi/_logging.py +131 -0
  15. gstaichi/_snode/__init__.py +5 -0
  16. gstaichi/_snode/fields_builder.py +187 -0
  17. gstaichi/_snode/snode_tree.py +34 -0
  18. gstaichi/_test_tools/__init__.py +18 -0
  19. gstaichi/_test_tools/dataclass_test_tools.py +36 -0
  20. gstaichi/_test_tools/load_kernel_string.py +30 -0
  21. gstaichi/_test_tools/textwrap2.py +6 -0
  22. gstaichi/_version_check.py +100 -0
  23. gstaichi/ad/__init__.py +3 -0
  24. gstaichi/ad/_ad.py +530 -0
  25. gstaichi/algorithms/__init__.py +3 -0
  26. gstaichi/algorithms/_algorithms.py +117 -0
  27. gstaichi/assets/.git +1 -0
  28. gstaichi/assets/Go-Regular.ttf +0 -0
  29. gstaichi/assets/static/imgs/ti_gallery.png +0 -0
  30. gstaichi/examples/lcg_python.py +26 -0
  31. gstaichi/examples/lcg_taichi.py +34 -0
  32. gstaichi/examples/minimal.py +28 -0
  33. gstaichi/experimental.py +16 -0
  34. gstaichi/lang/__init__.py +50 -0
  35. gstaichi/lang/_dataclass_util.py +31 -0
  36. gstaichi/lang/_fast_caching/__init__.py +3 -0
  37. gstaichi/lang/_fast_caching/args_hasher.py +122 -0
  38. gstaichi/lang/_fast_caching/config_hasher.py +30 -0
  39. gstaichi/lang/_fast_caching/fast_caching_types.py +21 -0
  40. gstaichi/lang/_fast_caching/function_hasher.py +57 -0
  41. gstaichi/lang/_fast_caching/hash_utils.py +11 -0
  42. gstaichi/lang/_fast_caching/python_side_cache.py +52 -0
  43. gstaichi/lang/_fast_caching/src_hasher.py +83 -0
  44. gstaichi/lang/_kernel_impl_dataclass.py +212 -0
  45. gstaichi/lang/_ndarray.py +366 -0
  46. gstaichi/lang/_ndrange.py +152 -0
  47. gstaichi/lang/_template_mapper.py +195 -0
  48. gstaichi/lang/_texture.py +172 -0
  49. gstaichi/lang/_wrap_inspect.py +215 -0
  50. gstaichi/lang/any_array.py +99 -0
  51. gstaichi/lang/ast/__init__.py +7 -0
  52. gstaichi/lang/ast/ast_transformer.py +1351 -0
  53. gstaichi/lang/ast/ast_transformer_utils.py +346 -0
  54. gstaichi/lang/ast/ast_transformers/__init__.py +0 -0
  55. gstaichi/lang/ast/ast_transformers/call_transformer.py +327 -0
  56. gstaichi/lang/ast/ast_transformers/function_def_transformer.py +304 -0
  57. gstaichi/lang/ast/checkers.py +106 -0
  58. gstaichi/lang/ast/symbol_resolver.py +57 -0
  59. gstaichi/lang/ast/transform.py +9 -0
  60. gstaichi/lang/common_ops.py +310 -0
  61. gstaichi/lang/exception.py +80 -0
  62. gstaichi/lang/expr.py +180 -0
  63. gstaichi/lang/field.py +428 -0
  64. gstaichi/lang/impl.py +1259 -0
  65. gstaichi/lang/kernel_arguments.py +155 -0
  66. gstaichi/lang/kernel_impl.py +1386 -0
  67. gstaichi/lang/matrix.py +1835 -0
  68. gstaichi/lang/matrix_ops.py +341 -0
  69. gstaichi/lang/matrix_ops_utils.py +190 -0
  70. gstaichi/lang/mesh.py +687 -0
  71. gstaichi/lang/misc.py +784 -0
  72. gstaichi/lang/ops.py +1494 -0
  73. gstaichi/lang/runtime_ops.py +13 -0
  74. gstaichi/lang/shell.py +35 -0
  75. gstaichi/lang/simt/__init__.py +5 -0
  76. gstaichi/lang/simt/block.py +94 -0
  77. gstaichi/lang/simt/grid.py +7 -0
  78. gstaichi/lang/simt/subgroup.py +191 -0
  79. gstaichi/lang/simt/warp.py +96 -0
  80. gstaichi/lang/snode.py +489 -0
  81. gstaichi/lang/source_builder.py +150 -0
  82. gstaichi/lang/struct.py +810 -0
  83. gstaichi/lang/util.py +312 -0
  84. gstaichi/linalg/__init__.py +10 -0
  85. gstaichi/linalg/matrixfree_cg.py +310 -0
  86. gstaichi/linalg/sparse_cg.py +59 -0
  87. gstaichi/linalg/sparse_matrix.py +303 -0
  88. gstaichi/linalg/sparse_solver.py +123 -0
  89. gstaichi/math/__init__.py +11 -0
  90. gstaichi/math/_complex.py +205 -0
  91. gstaichi/math/mathimpl.py +886 -0
  92. gstaichi/profiler/__init__.py +6 -0
  93. gstaichi/profiler/kernel_metrics.py +260 -0
  94. gstaichi/profiler/kernel_profiler.py +586 -0
  95. gstaichi/profiler/memory_profiler.py +15 -0
  96. gstaichi/profiler/scoped_profiler.py +36 -0
  97. gstaichi/sparse/__init__.py +3 -0
  98. gstaichi/sparse/_sparse_grid.py +77 -0
  99. gstaichi/tools/__init__.py +12 -0
  100. gstaichi/tools/diagnose.py +117 -0
  101. gstaichi/tools/np2ply.py +364 -0
  102. gstaichi/tools/vtk.py +38 -0
  103. gstaichi/types/__init__.py +21 -0
  104. gstaichi/types/annotations.py +52 -0
  105. gstaichi/types/compound_types.py +71 -0
  106. gstaichi/types/enums.py +49 -0
  107. gstaichi/types/ndarray_type.py +169 -0
  108. gstaichi/types/primitive_types.py +206 -0
  109. gstaichi/types/quant.py +88 -0
  110. gstaichi/types/texture_type.py +85 -0
  111. gstaichi/types/utils.py +11 -0
  112. gstaichi-0.0.0.data/data/SPIRV-Tools/cmake/SPIRV-ToolsConfig.cmake +5 -0
  113. gstaichi-0.0.0.data/data/SPIRV-Tools/cmake/SPIRV-ToolsTarget-release.cmake +29 -0
  114. gstaichi-0.0.0.data/data/SPIRV-Tools/cmake/SPIRV-ToolsTarget.cmake +113 -0
  115. gstaichi-0.0.0.data/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffConfig.cmake +5 -0
  116. gstaichi-0.0.0.data/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffTargets-release.cmake +19 -0
  117. gstaichi-0.0.0.data/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffTargets.cmake +122 -0
  118. gstaichi-0.0.0.data/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkConfig.cmake +5 -0
  119. gstaichi-0.0.0.data/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkTargets-release.cmake +19 -0
  120. gstaichi-0.0.0.data/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkTargets.cmake +122 -0
  121. gstaichi-0.0.0.data/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintConfig.cmake +5 -0
  122. gstaichi-0.0.0.data/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintTargets-release.cmake +19 -0
  123. gstaichi-0.0.0.data/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintTargets.cmake +122 -0
  124. gstaichi-0.0.0.data/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optConfig.cmake +5 -0
  125. gstaichi-0.0.0.data/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optTargets-release.cmake +19 -0
  126. gstaichi-0.0.0.data/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optTargets.cmake +122 -0
  127. gstaichi-0.0.0.data/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceConfig.cmake +5 -0
  128. gstaichi-0.0.0.data/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceTarget-release.cmake +19 -0
  129. gstaichi-0.0.0.data/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceTarget.cmake +122 -0
  130. gstaichi-0.0.0.data/data/bin/SPIRV-Tools-shared.dll +0 -0
  131. gstaichi-0.0.0.data/data/include/GLFW/glfw3.h +6389 -0
  132. gstaichi-0.0.0.data/data/include/GLFW/glfw3native.h +594 -0
  133. gstaichi-0.0.0.data/data/include/spirv-tools/instrument.hpp +268 -0
  134. gstaichi-0.0.0.data/data/include/spirv-tools/libspirv.h +907 -0
  135. gstaichi-0.0.0.data/data/include/spirv-tools/libspirv.hpp +375 -0
  136. gstaichi-0.0.0.data/data/include/spirv-tools/linker.hpp +97 -0
  137. gstaichi-0.0.0.data/data/include/spirv-tools/optimizer.hpp +970 -0
  138. gstaichi-0.0.0.data/data/lib/SPIRV-Tools-diff.lib +0 -0
  139. gstaichi-0.0.0.data/data/lib/SPIRV-Tools-link.lib +0 -0
  140. gstaichi-0.0.0.data/data/lib/SPIRV-Tools-lint.lib +0 -0
  141. gstaichi-0.0.0.data/data/lib/SPIRV-Tools-opt.lib +0 -0
  142. gstaichi-0.0.0.data/data/lib/SPIRV-Tools-reduce.lib +0 -0
  143. gstaichi-0.0.0.data/data/lib/SPIRV-Tools-shared.lib +0 -0
  144. gstaichi-0.0.0.data/data/lib/SPIRV-Tools.lib +0 -0
  145. gstaichi-0.0.0.data/data/lib/cmake/glfw3/glfw3Config.cmake +3 -0
  146. gstaichi-0.0.0.data/data/lib/cmake/glfw3/glfw3ConfigVersion.cmake +65 -0
  147. gstaichi-0.0.0.data/data/lib/cmake/glfw3/glfw3Targets-release.cmake +19 -0
  148. gstaichi-0.0.0.data/data/lib/cmake/glfw3/glfw3Targets.cmake +107 -0
  149. gstaichi-0.0.0.data/data/lib/glfw3.lib +0 -0
  150. gstaichi-0.0.0.dist-info/METADATA +97 -0
  151. gstaichi-0.0.0.dist-info/RECORD +154 -0
  152. gstaichi-0.0.0.dist-info/WHEEL +5 -0
  153. gstaichi-0.0.0.dist-info/licenses/LICENSE +201 -0
  154. gstaichi-0.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,2917 @@
1
+ """
2
+ gstaichi_python
3
+ """
4
+ from __future__ import annotations
5
+ import numpy
6
+ import typing
7
+ __all__: list[str] = ['ADJOINT', 'ADJOINT_CHECKBIT', 'AOS', 'ASTBuilder', 'Arch', 'AutodiffMode', 'Axis', 'Benchmark', 'BinaryOpType', 'BitStructType', 'BitStructTypeBuilder', 'BoundaryMode', 'CC', 'CE', 'CF', 'CGd', 'CGf', 'CLAMP', 'CUCG', 'CV', 'Cell', 'CompileConfig', 'CompileResult', 'CompiledKernelData', 'Config', 'ConvType', 'CuSparseMatrix', 'CuSparseSolver', 'DUAL', 'DataTypeCxx', 'DataType_f16', 'DataType_f32', 'DataType_f64', 'DataType_gen', 'DataType_i16', 'DataType_i32', 'DataType_i64', 'DataType_i8', 'DataType_u1', 'DataType_u16', 'DataType_u32', 'DataType_u64', 'DataType_u8', 'DataType_unknown', 'DebugInfo', 'DeviceAllocation', 'DeviceCapabilityConfig', 'EC', 'EE', 'EF', 'EV', 'Edge', 'EigenSparseSolverfloat32LDLTAMD', 'EigenSparseSolverfloat32LDLTCOLAMD', 'EigenSparseSolverfloat32LLTAMD', 'EigenSparseSolverfloat32LLTCOLAMD', 'EigenSparseSolverfloat32LUAMD', 'EigenSparseSolverfloat32LUCOLAMD', 'EigenSparseSolverfloat64LDLTAMD', 'EigenSparseSolverfloat64LDLTCOLAMD', 'EigenSparseSolverfloat64LLTAMD', 'EigenSparseSolverfloat64LLTCOLAMD', 'EigenSparseSolverfloat64LUAMD', 'EigenSparseSolverfloat64LUCOLAMD', 'ExprCxx', 'ExprGroup', 'Extension', 'FC', 'FE', 'FF', 'FORWARD', 'FV', 'Face', 'Format', 'Function', 'FunctionKey', 'GsTaichiAssertionError', 'GsTaichiIndexError', 'GsTaichiRuntimeError', 'GsTaichiSyntaxError', 'GsTaichiTypeError', 'HackedSignalRegister', 'InternalOp', 'KernelCxx', 'KernelLaunchContext', 'KernelProfileTracedRecord', 'KernelProfilerQueryResult', 'Layout', 'Mesh', 'MeshElementType', 'MeshPtr', 'MeshRelationType', 'MeshTopology', 'NONE', 'NULL', 'NdarrayCxx', 'Operation', 'PRIMAL', 'Program', 'REVERSE', 'SNodeAccessFlag', 'SNodeCxx', 'SNodeGradType', 'SNodeRegistry', 'SNodeTreeCxx', 'SNodeType', 'SOA', 'SparseMatrix', 'SparseMatrixBuilder', 'SparseSolver', 'Stmt', 'Task', 'Tetrahedron', 'TextureCxx', 'TextureOpType', 'Triangle', 'Type', 'TypeFactory', 'UNSAFE', 'UnaryOpType', 'VALIDATION', 'VC', 'VE', 'VF', 'VV', 'Vector2d', 'Vector2f', 'Vector2i', 'Vector3d', 'Vector3f', 'Vector3i', 'Vector4d', 'Vector4f', 'Vector4i', 'Vertex', 'abs', 'acos', 'add', 'adstack', 'amdgpu', 'arch_from_name', 'arch_name', 'arch_uses_llvm', 'arm64', 'asin', 'assertion', 'atan2', 'bit_and', 'bit_not', 'bit_or', 'bit_sar', 'bit_shl', 'bit_shr', 'bit_struct', 'bit_xor', 'bitmasked', 'bits_cast', 'block_local', 'bls', 'cast_bits', 'cast_value', 'ceil', 'clear_profile_info', 'clz', 'cmp_eq', 'cmp_ge', 'cmp_gt', 'cmp_le', 'cmp_lt', 'cmp_ne', 'cos', 'create_benchmark', 'create_initialized_benchmark', 'create_initialized_task', 'create_mesh', 'create_task', 'critical', 'cuda', 'cuda_version', 'dColMajor_EigenSparseMatrix', 'dRowMajor_EigenSparseMatrix', 'data64', 'data_type_name', 'data_type_size', 'debug', 'default_compile_config', 'dense', 'div', 'dynamic', 'element_order', 'element_type_name', 'error', 'exp', 'expr_abs', 'expr_acos', 'expr_add', 'expr_asin', 'expr_assume_in_range', 'expr_atan2', 'expr_atomic_add', 'expr_atomic_bit_and', 'expr_atomic_bit_or', 'expr_atomic_bit_xor', 'expr_atomic_max', 'expr_atomic_min', 'expr_atomic_mul', 'expr_atomic_sub', 'expr_bit_and', 'expr_bit_not', 'expr_bit_or', 'expr_bit_sar', 'expr_bit_shl', 'expr_bit_shr', 'expr_bit_xor', 'expr_ceil', 'expr_clz', 'expr_cmp_eq', 'expr_cmp_ge', 'expr_cmp_gt', 'expr_cmp_le', 'expr_cmp_lt', 'expr_cmp_ne', 'expr_cos', 'expr_div', 'expr_exp', 'expr_field', 'expr_floor', 'expr_floordiv', 'expr_frexp', 'expr_ifte', 'expr_inv', 'expr_log', 'expr_logic_not', 'expr_logical_and', 'expr_logical_or', 'expr_loop_unique', 'expr_matrix_field', 'expr_max', 'expr_min', 'expr_mod', 'expr_mul', 'expr_neg', 'expr_popcnt', 'expr_pow', 'expr_rcp', 'expr_round', 'expr_rsqrt', 'expr_select', 'expr_sin', 'expr_sqrt', 'expr_sub', 'expr_tan', 'expr_tanh', 'expr_truediv', 'extfunc', 'fColMajor_EigenSparseMatrix', 'fRowMajor_EigenSparseMatrix', 'finalize_snode_tree', 'floor', 'floordiv', 'flush_log', 'frexp', 'from_end_element_order', 'g2r', 'get_commit_hash', 'get_default_float_size', 'get_external_tensor_dim', 'get_external_tensor_element_dim', 'get_external_tensor_element_shape', 'get_external_tensor_element_type', 'get_external_tensor_needs_grad', 'get_external_tensor_real_func_args', 'get_external_tensor_shape_along_axis', 'get_llvm_target_support', 'get_max_num_indices', 'get_num_elements', 'get_python_package_dir', 'get_relation_access', 'get_relation_size', 'get_repo_dir', 'get_type_factory_instance', 'get_version_major', 'get_version_minor', 'get_version_patch', 'get_version_string', 'hash', 'host_arch', 'info', 'insert_internal_func_call', 'inv', 'inverse_relation', 'is_extension_supported', 'is_integral', 'is_quant', 'is_real', 'is_signed', 'is_tensor', 'is_unsigned', 'js', 'kFetchTexel', 'kLoad', 'kSampleLod', 'kStore', 'kUndefined', 'l2g', 'l2r', 'libdevice_path', 'log', 'logging_effective', 'logic_not', 'make_arg_load_expr', 'make_binary_op_expr', 'make_const_expr_bool', 'make_const_expr_fp', 'make_const_expr_int', 'make_cucg_solver', 'make_cusparse_solver', 'make_double_cg_solver', 'make_external_tensor_expr', 'make_external_tensor_grad_expr', 'make_float_cg_solver', 'make_frontend_assign_stmt', 'make_get_element_expr', 'make_global_load_stmt', 'make_global_store_stmt', 'make_rand_expr', 'make_reference', 'make_rw_texture_ptr_expr', 'make_sparse_solver', 'make_texture_ptr_expr', 'make_unary_op_expr', 'max', 'mesh', 'mesh_local', 'metal', 'min', 'mod', 'mul', 'neg', 'opencl', 'place', 'pointer', 'pop_python_print_buffer', 'popcnt', 'pow', 'print_all_units', 'print_profile_info', 'promoted_type', 'quant', 'quant_array', 'quant_basic', 'query_int64', 'rcp', 'read_only', 'relation_by_orders', 'reset_default_compile_config', 'root', 'round', 'rsqrt', 'set_core_state_python_imported', 'set_core_trigger_gdb_when_crash', 'set_index_mapping', 'set_lib_dir', 'set_logging_level', 'set_logging_level_default', 'set_num_elements', 'set_num_patches', 'set_owned_offset', 'set_patch_max_element_num', 'set_python_package_dir', 'set_relation_dynamic', 'set_relation_fixed', 'set_tmp_dir', 'set_total_offset', 'set_vulkan_visible_device', 'sgn', 'sin', 'sparse', 'sqrt', 'start_memory_monitoring', 'sub', 'subscript_with_multiple_indices', 'tan', 'tanh', 'test_cpp_exception', 'test_logging', 'test_printf', 'test_raise_error', 'test_threading', 'test_throw', 'to_end_element_order', 'toggle_python_print_buffer', 'trace', 'trigger_crash', 'trigger_sig_fpe', 'truediv', 'undefined', 'value_cast', 'vulkan', 'wait_for_debugger', 'warn', 'with_amdgpu', 'with_cuda', 'with_metal', 'with_vulkan', 'x64']
8
+ class ASTBuilder:
9
+ def begin_frontend_if(self, arg0: ..., arg1: DebugInfo) -> None:
10
+ ...
11
+ def begin_frontend_if_false(self) -> None:
12
+ ...
13
+ def begin_frontend_if_true(self) -> None:
14
+ ...
15
+ def begin_frontend_mesh_for(self, arg0: ..., arg1: ..., arg2: ..., arg3: DebugInfo) -> None:
16
+ ...
17
+ def begin_frontend_range_for(self, arg0: ..., arg1: ..., arg2: ..., arg3: DebugInfo) -> None:
18
+ ...
19
+ def begin_frontend_struct_for_on_external_tensor(self, arg0: ..., arg1: ..., arg2: DebugInfo) -> None:
20
+ ...
21
+ def begin_frontend_struct_for_on_snode(self, arg0: ..., arg1: ..., arg2: DebugInfo) -> None:
22
+ ...
23
+ def begin_frontend_while(self, arg0: ..., arg1: DebugInfo) -> None:
24
+ ...
25
+ def begin_func(self, arg0: str) -> None:
26
+ ...
27
+ def bit_vectorize(self) -> None:
28
+ ...
29
+ def block_dim(self, arg0: int) -> None:
30
+ ...
31
+ def create_assert_stmt(self, arg0: ..., arg1: str, arg2: list[...], arg3: DebugInfo) -> None:
32
+ ...
33
+ def create_kernel_exprgroup_return(self, arg0: ..., arg1: DebugInfo) -> None:
34
+ ...
35
+ def create_print(self, arg0: list[... | str], arg1: list[str | None], arg2: DebugInfo) -> None:
36
+ ...
37
+ def end_frontend_mesh_for(self) -> None:
38
+ ...
39
+ def end_frontend_range_for(self) -> None:
40
+ ...
41
+ def end_frontend_struct_for(self) -> None:
42
+ ...
43
+ def end_func(self, arg0: str) -> None:
44
+ ...
45
+ def expand_exprs(self, arg0: list[...]) -> list[...]:
46
+ ...
47
+ def expr_alloca(self, arg0: DebugInfo) -> ...:
48
+ ...
49
+ def expr_alloca_shared_array(self, arg0: tuple[int, ...], arg1: DataTypeCxx, arg2: DebugInfo) -> ...:
50
+ ...
51
+ def expr_assign(self, arg0: ..., arg1: ..., arg2: DebugInfo) -> None:
52
+ ...
53
+ def expr_snode_append(self, arg0: ..., arg1: ..., arg2: list[...]) -> ...:
54
+ ...
55
+ def expr_snode_get_addr(self, arg0: ..., arg1: ...) -> ...:
56
+ ...
57
+ def expr_snode_is_active(self, arg0: ..., arg1: ...) -> ...:
58
+ ...
59
+ def expr_snode_length(self, arg0: ..., arg1: ...) -> ...:
60
+ ...
61
+ def expr_subscript(self, arg0: ..., arg1: ..., arg2: DebugInfo) -> ...:
62
+ ...
63
+ def expr_var(self, arg0: ..., arg1: DebugInfo) -> ...:
64
+ ...
65
+ def insert_activate(self, arg0: ..., arg1: ..., arg2: DebugInfo) -> None:
66
+ ...
67
+ def insert_break_stmt(self, arg0: DebugInfo) -> None:
68
+ ...
69
+ def insert_continue_stmt(self, arg0: DebugInfo) -> None:
70
+ ...
71
+ def insert_deactivate(self, arg0: ..., arg1: ..., arg2: DebugInfo) -> None:
72
+ ...
73
+ def insert_expr_stmt(self, arg0: ...) -> None:
74
+ ...
75
+ def insert_external_func_call(self, arg0: int, arg1: str, arg2: str, arg3: str, arg4: ..., arg5: ..., arg6: DebugInfo) -> None:
76
+ ...
77
+ def insert_func_call(self, arg0: ..., arg1: ..., arg2: DebugInfo) -> ... | None:
78
+ ...
79
+ def insert_patch_idx_expr(self, arg0: DebugInfo) -> ...:
80
+ ...
81
+ def insert_snode_access_flag(self, arg0: SNodeAccessFlag, arg1: ...) -> None:
82
+ ...
83
+ def insert_thread_idx_expr(self) -> ...:
84
+ ...
85
+ def make_id_expr(self, arg0: str) -> ...:
86
+ ...
87
+ def make_matrix_expr(self, arg0: tuple[int, ...], arg1: DataTypeCxx, arg2: list[...], arg3: DebugInfo) -> ...:
88
+ ...
89
+ def make_texture_op_expr(self, arg0: ..., arg1: ..., arg2: ..., arg3: DebugInfo) -> ...:
90
+ ...
91
+ def mesh_index_conversion(self, arg0: ..., arg1: ..., arg2: ..., arg3: ..., arg4: DebugInfo) -> ...:
92
+ ...
93
+ def parallelize(self, arg0: int) -> None:
94
+ ...
95
+ def pop_scope(self) -> None:
96
+ ...
97
+ def reset_snode_access_flag(self) -> None:
98
+ ...
99
+ def sifakis_svd_f32(self, arg0: ..., arg1: int) -> tuple[..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ...]:
100
+ ...
101
+ def sifakis_svd_f64(self, arg0: ..., arg1: int) -> tuple[..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ..., ...]:
102
+ ...
103
+ def stop_grad(self, arg0: ...) -> None:
104
+ ...
105
+ def strictly_serialize(self) -> None:
106
+ ...
107
+ class Arch:
108
+ """
109
+ Members:
110
+
111
+ x64
112
+
113
+ arm64
114
+
115
+ js
116
+
117
+ cuda
118
+
119
+ metal
120
+
121
+ opencl
122
+
123
+ amdgpu
124
+
125
+ vulkan
126
+ """
127
+ __members__: typing.ClassVar[dict[str, Arch]] # value = {'x64': <Arch.x64: 0>, 'arm64': <Arch.arm64: 1>, 'js': <Arch.js: 2>, 'cuda': <Arch.cuda: 3>, 'metal': <Arch.metal: 4>, 'opencl': <Arch.opencl: 5>, 'amdgpu': <Arch.amdgpu: 6>, 'vulkan': <Arch.vulkan: 7>}
128
+ amdgpu: typing.ClassVar[Arch] # value = <Arch.amdgpu: 6>
129
+ arm64: typing.ClassVar[Arch] # value = <Arch.arm64: 1>
130
+ cuda: typing.ClassVar[Arch] # value = <Arch.cuda: 3>
131
+ js: typing.ClassVar[Arch] # value = <Arch.js: 2>
132
+ metal: typing.ClassVar[Arch] # value = <Arch.metal: 4>
133
+ opencl: typing.ClassVar[Arch] # value = <Arch.opencl: 5>
134
+ vulkan: typing.ClassVar[Arch] # value = <Arch.vulkan: 7>
135
+ x64: typing.ClassVar[Arch] # value = <Arch.x64: 0>
136
+ def __eq__(self, other: typing.Any) -> bool:
137
+ ...
138
+ def __ge__(self, other: typing.Any) -> bool:
139
+ ...
140
+ def __getstate__(self) -> int:
141
+ ...
142
+ def __gt__(self, other: typing.Any) -> bool:
143
+ ...
144
+ def __hash__(self) -> int:
145
+ ...
146
+ def __index__(self) -> int:
147
+ ...
148
+ def __init__(self, value: int) -> None:
149
+ ...
150
+ def __int__(self) -> int:
151
+ ...
152
+ def __le__(self, other: typing.Any) -> bool:
153
+ ...
154
+ def __lt__(self, other: typing.Any) -> bool:
155
+ ...
156
+ def __ne__(self, other: typing.Any) -> bool:
157
+ ...
158
+ def __repr__(self) -> str:
159
+ ...
160
+ def __setstate__(self, state: int) -> None:
161
+ ...
162
+ def __str__(self) -> str:
163
+ ...
164
+ @property
165
+ def name(self) -> str:
166
+ ...
167
+ @property
168
+ def value(self) -> int:
169
+ ...
170
+ class AutodiffMode:
171
+ """
172
+ Members:
173
+
174
+ NONE
175
+
176
+ VALIDATION
177
+
178
+ FORWARD
179
+
180
+ REVERSE
181
+ """
182
+ FORWARD: typing.ClassVar[AutodiffMode] # value = <AutodiffMode.FORWARD: 0>
183
+ NONE: typing.ClassVar[AutodiffMode] # value = <AutodiffMode.NONE: 2>
184
+ REVERSE: typing.ClassVar[AutodiffMode] # value = <AutodiffMode.REVERSE: 1>
185
+ VALIDATION: typing.ClassVar[AutodiffMode] # value = <AutodiffMode.VALIDATION: 3>
186
+ __members__: typing.ClassVar[dict[str, AutodiffMode]] # value = {'NONE': <AutodiffMode.NONE: 2>, 'VALIDATION': <AutodiffMode.VALIDATION: 3>, 'FORWARD': <AutodiffMode.FORWARD: 0>, 'REVERSE': <AutodiffMode.REVERSE: 1>}
187
+ def __eq__(self, other: typing.Any) -> bool:
188
+ ...
189
+ def __ge__(self, other: typing.Any) -> bool:
190
+ ...
191
+ def __getstate__(self) -> int:
192
+ ...
193
+ def __gt__(self, other: typing.Any) -> bool:
194
+ ...
195
+ def __hash__(self) -> int:
196
+ ...
197
+ def __index__(self) -> int:
198
+ ...
199
+ def __init__(self, value: int) -> None:
200
+ ...
201
+ def __int__(self) -> int:
202
+ ...
203
+ def __le__(self, other: typing.Any) -> bool:
204
+ ...
205
+ def __lt__(self, other: typing.Any) -> bool:
206
+ ...
207
+ def __ne__(self, other: typing.Any) -> bool:
208
+ ...
209
+ def __repr__(self) -> str:
210
+ ...
211
+ def __setstate__(self, state: int) -> None:
212
+ ...
213
+ def __str__(self) -> str:
214
+ ...
215
+ @property
216
+ def name(self) -> str:
217
+ ...
218
+ @property
219
+ def value(self) -> int:
220
+ ...
221
+ class Axis:
222
+ def __init__(self, arg0: int) -> None:
223
+ ...
224
+ class Benchmark:
225
+ def initialize(self, arg0: Config) -> None:
226
+ ...
227
+ def run(self, arg0: int) -> float:
228
+ ...
229
+ def test(self) -> bool:
230
+ ...
231
+ class BinaryOpType:
232
+ """
233
+ Members:
234
+
235
+ mul
236
+
237
+ add
238
+
239
+ sub
240
+
241
+ truediv
242
+
243
+ floordiv
244
+
245
+ div
246
+
247
+ mod
248
+
249
+ max
250
+
251
+ min
252
+
253
+ bit_and
254
+
255
+ bit_or
256
+
257
+ bit_xor
258
+
259
+ bit_shl
260
+
261
+ bit_shr
262
+
263
+ bit_sar
264
+
265
+ cmp_lt
266
+
267
+ cmp_le
268
+
269
+ cmp_gt
270
+
271
+ cmp_ge
272
+
273
+ cmp_eq
274
+
275
+ cmp_ne
276
+
277
+ atan2
278
+
279
+ pow
280
+
281
+ undefined
282
+ """
283
+ __members__: typing.ClassVar[dict[str, BinaryOpType]] # value = {'mul': <BinaryOpType.mul: 0>, 'add': <BinaryOpType.add: 1>, 'sub': <BinaryOpType.sub: 2>, 'truediv': <BinaryOpType.truediv: 3>, 'floordiv': <BinaryOpType.floordiv: 4>, 'div': <BinaryOpType.div: 5>, 'mod': <BinaryOpType.mod: 6>, 'max': <BinaryOpType.max: 7>, 'min': <BinaryOpType.min: 8>, 'bit_and': <BinaryOpType.bit_and: 9>, 'bit_or': <BinaryOpType.bit_or: 10>, 'bit_xor': <BinaryOpType.bit_xor: 11>, 'bit_shl': <BinaryOpType.bit_shl: 12>, 'bit_shr': <BinaryOpType.bit_shr: 13>, 'bit_sar': <BinaryOpType.bit_sar: 14>, 'cmp_lt': <BinaryOpType.cmp_lt: 15>, 'cmp_le': <BinaryOpType.cmp_le: 16>, 'cmp_gt': <BinaryOpType.cmp_gt: 17>, 'cmp_ge': <BinaryOpType.cmp_ge: 18>, 'cmp_eq': <BinaryOpType.cmp_eq: 19>, 'cmp_ne': <BinaryOpType.cmp_ne: 20>, 'atan2': <BinaryOpType.atan2: 21>, 'pow': <BinaryOpType.pow: 22>, 'undefined': <BinaryOpType.undefined: 23>}
284
+ add: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.add: 1>
285
+ atan2: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.atan2: 21>
286
+ bit_and: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.bit_and: 9>
287
+ bit_or: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.bit_or: 10>
288
+ bit_sar: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.bit_sar: 14>
289
+ bit_shl: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.bit_shl: 12>
290
+ bit_shr: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.bit_shr: 13>
291
+ bit_xor: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.bit_xor: 11>
292
+ cmp_eq: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.cmp_eq: 19>
293
+ cmp_ge: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.cmp_ge: 18>
294
+ cmp_gt: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.cmp_gt: 17>
295
+ cmp_le: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.cmp_le: 16>
296
+ cmp_lt: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.cmp_lt: 15>
297
+ cmp_ne: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.cmp_ne: 20>
298
+ div: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.div: 5>
299
+ floordiv: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.floordiv: 4>
300
+ max: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.max: 7>
301
+ min: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.min: 8>
302
+ mod: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.mod: 6>
303
+ mul: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.mul: 0>
304
+ pow: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.pow: 22>
305
+ sub: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.sub: 2>
306
+ truediv: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.truediv: 3>
307
+ undefined: typing.ClassVar[BinaryOpType] # value = <BinaryOpType.undefined: 23>
308
+ def __eq__(self, other: typing.Any) -> bool:
309
+ ...
310
+ def __ge__(self, other: typing.Any) -> bool:
311
+ ...
312
+ def __getstate__(self) -> int:
313
+ ...
314
+ def __gt__(self, other: typing.Any) -> bool:
315
+ ...
316
+ def __hash__(self) -> int:
317
+ ...
318
+ def __index__(self) -> int:
319
+ ...
320
+ def __init__(self, value: int) -> None:
321
+ ...
322
+ def __int__(self) -> int:
323
+ ...
324
+ def __le__(self, other: typing.Any) -> bool:
325
+ ...
326
+ def __lt__(self, other: typing.Any) -> bool:
327
+ ...
328
+ def __ne__(self, other: typing.Any) -> bool:
329
+ ...
330
+ def __repr__(self) -> str:
331
+ ...
332
+ def __setstate__(self, state: int) -> None:
333
+ ...
334
+ def __str__(self) -> str:
335
+ ...
336
+ @property
337
+ def name(self) -> str:
338
+ ...
339
+ @property
340
+ def value(self) -> int:
341
+ ...
342
+ class BitStructType:
343
+ pass
344
+ class BitStructTypeBuilder:
345
+ def __init__(self, arg0: int) -> None:
346
+ ...
347
+ def add_member(self, arg0: Type) -> int:
348
+ ...
349
+ def begin_placing_shared_exponent(self) -> None:
350
+ ...
351
+ def build(self) -> BitStructType:
352
+ ...
353
+ def end_placing_shared_exponent(self) -> None:
354
+ ...
355
+ class BoundaryMode:
356
+ """
357
+ Members:
358
+
359
+ UNSAFE
360
+
361
+ CLAMP
362
+ """
363
+ CLAMP: typing.ClassVar[BoundaryMode] # value = <BoundaryMode.CLAMP: 1>
364
+ UNSAFE: typing.ClassVar[BoundaryMode] # value = <BoundaryMode.UNSAFE: 0>
365
+ __members__: typing.ClassVar[dict[str, BoundaryMode]] # value = {'UNSAFE': <BoundaryMode.UNSAFE: 0>, 'CLAMP': <BoundaryMode.CLAMP: 1>}
366
+ def __eq__(self, other: typing.Any) -> bool:
367
+ ...
368
+ def __ge__(self, other: typing.Any) -> bool:
369
+ ...
370
+ def __getstate__(self) -> int:
371
+ ...
372
+ def __gt__(self, other: typing.Any) -> bool:
373
+ ...
374
+ def __hash__(self) -> int:
375
+ ...
376
+ def __index__(self) -> int:
377
+ ...
378
+ def __init__(self, value: int) -> None:
379
+ ...
380
+ def __int__(self) -> int:
381
+ ...
382
+ def __le__(self, other: typing.Any) -> bool:
383
+ ...
384
+ def __lt__(self, other: typing.Any) -> bool:
385
+ ...
386
+ def __ne__(self, other: typing.Any) -> bool:
387
+ ...
388
+ def __repr__(self) -> str:
389
+ ...
390
+ def __setstate__(self, state: int) -> None:
391
+ ...
392
+ def __str__(self) -> str:
393
+ ...
394
+ @property
395
+ def name(self) -> str:
396
+ ...
397
+ @property
398
+ def value(self) -> int:
399
+ ...
400
+ class CGd:
401
+ def __init__(self, arg0: SparseMatrix, arg1: int, arg2: float, arg3: bool) -> None:
402
+ ...
403
+ def get_x(self) -> numpy.ndarray[numpy.float64[m, 1]]:
404
+ ...
405
+ def is_success(self) -> bool:
406
+ ...
407
+ def set_b(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> None:
408
+ ...
409
+ def set_b_ndarray(self, arg0: Program, arg1: NdarrayCxx) -> None:
410
+ ...
411
+ def set_x(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> None:
412
+ ...
413
+ def set_x_ndarray(self, arg0: Program, arg1: NdarrayCxx) -> None:
414
+ ...
415
+ def solve(self) -> None:
416
+ ...
417
+ class CGf:
418
+ def __init__(self, arg0: SparseMatrix, arg1: int, arg2: float, arg3: bool) -> None:
419
+ ...
420
+ def get_x(self) -> numpy.ndarray[numpy.float32[m, 1]]:
421
+ ...
422
+ def is_success(self) -> bool:
423
+ ...
424
+ def set_b(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> None:
425
+ ...
426
+ def set_b_ndarray(self, arg0: Program, arg1: NdarrayCxx) -> None:
427
+ ...
428
+ def set_x(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> None:
429
+ ...
430
+ def set_x_ndarray(self, arg0: Program, arg1: NdarrayCxx) -> None:
431
+ ...
432
+ def solve(self) -> None:
433
+ ...
434
+ class CUCG:
435
+ def solve(self, arg0: Program, arg1: NdarrayCxx, arg2: NdarrayCxx) -> None:
436
+ ...
437
+ class CompileConfig:
438
+ ad_stack_size: int
439
+ advanced_optimization: bool
440
+ arch: Arch
441
+ auto_mesh_local_default_occupacy: int
442
+ cache_loop_invariant_global_vars: bool
443
+ cfg_optimization: bool
444
+ check_out_of_bound: bool
445
+ cpu_block_dim_adaptive: bool
446
+ cpu_max_num_threads: int
447
+ cuda_stack_limit: int
448
+ debug: bool
449
+ default_cpu_block_dim: int
450
+ default_fp: DataTypeCxx
451
+ default_gpu_block_dim: int
452
+ default_ip: DataTypeCxx
453
+ default_up: DataTypeCxx
454
+ demote_dense_struct_fors: bool
455
+ demote_no_access_mesh_fors: bool
456
+ detect_read_only: bool
457
+ device_memory_GB: float
458
+ device_memory_fraction: float
459
+ experimental_auto_mesh_local: bool
460
+ fast_math: bool
461
+ flatten_if: bool
462
+ force_scalarize_matrix: bool
463
+ gpu_max_reg: int
464
+ half2_vectorization: bool
465
+ kernel_profiler: bool
466
+ lower_access: bool
467
+ make_block_local: bool
468
+ make_cpu_multithreading_loop: bool
469
+ make_mesh_block_local: bool
470
+ make_thread_local: bool
471
+ max_block_dim: int
472
+ mesh_localize_all_attr_mappings: bool
473
+ mesh_localize_from_end_mapping: bool
474
+ mesh_localize_to_end_mapping: bool
475
+ move_loop_invariant_outside_if: bool
476
+ num_compile_threads: int
477
+ offline_cache: bool
478
+ offline_cache_cleaning_factor: float
479
+ offline_cache_cleaning_policy: str
480
+ offline_cache_file_path: str
481
+ offline_cache_max_size_of_files: int
482
+ opt_level: int
483
+ optimize_mesh_reordered_mapping: bool
484
+ print_accessor_ir: bool
485
+ print_ir: bool
486
+ print_ir_dbg_info: bool
487
+ print_kernel_amdgcn: bool
488
+ print_kernel_asm: bool
489
+ print_kernel_llvm_ir: bool
490
+ print_kernel_llvm_ir_optimized: bool
491
+ print_preprocessed_ir: bool
492
+ print_struct_llvm_ir: bool
493
+ quant_opt_atomic_demotion: bool
494
+ quant_opt_store_fusion: bool
495
+ random_seed: int
496
+ real_matrix_scalarize: bool
497
+ saturating_grid_dim: int
498
+ simplify_after_lower_access: bool
499
+ simplify_before_lower_access: bool
500
+ timeline: bool
501
+ use_llvm: bool
502
+ verbose: bool
503
+ verbose_kernel_launches: bool
504
+ vk_api_version: str
505
+ def __init__(self) -> None:
506
+ ...
507
+ class CompileResult:
508
+ @property
509
+ def cache_hit(self) -> bool:
510
+ ...
511
+ @property
512
+ def compiled_kernel_data(self) -> CompiledKernelData:
513
+ ...
514
+ class CompiledKernelData:
515
+ def _debug_dump_to_string(self) -> str:
516
+ ...
517
+ class Config:
518
+ pass
519
+ class ConvType:
520
+ """
521
+ Members:
522
+
523
+ l2g
524
+
525
+ l2r
526
+
527
+ g2r
528
+ """
529
+ __members__: typing.ClassVar[dict[str, ConvType]] # value = {'l2g': <ConvType.l2g: 0>, 'l2r': <ConvType.l2r: 1>, 'g2r': <ConvType.g2r: 2>}
530
+ g2r: typing.ClassVar[ConvType] # value = <ConvType.g2r: 2>
531
+ l2g: typing.ClassVar[ConvType] # value = <ConvType.l2g: 0>
532
+ l2r: typing.ClassVar[ConvType] # value = <ConvType.l2r: 1>
533
+ def __eq__(self, other: typing.Any) -> bool:
534
+ ...
535
+ def __ge__(self, other: typing.Any) -> bool:
536
+ ...
537
+ def __getstate__(self) -> int:
538
+ ...
539
+ def __gt__(self, other: typing.Any) -> bool:
540
+ ...
541
+ def __hash__(self) -> int:
542
+ ...
543
+ def __index__(self) -> int:
544
+ ...
545
+ def __init__(self, value: int) -> None:
546
+ ...
547
+ def __int__(self) -> int:
548
+ ...
549
+ def __le__(self, other: typing.Any) -> bool:
550
+ ...
551
+ def __lt__(self, other: typing.Any) -> bool:
552
+ ...
553
+ def __ne__(self, other: typing.Any) -> bool:
554
+ ...
555
+ def __repr__(self) -> str:
556
+ ...
557
+ def __setstate__(self, state: int) -> None:
558
+ ...
559
+ def __str__(self) -> str:
560
+ ...
561
+ @property
562
+ def name(self) -> str:
563
+ ...
564
+ @property
565
+ def value(self) -> int:
566
+ ...
567
+ class CuSparseMatrix(SparseMatrix):
568
+ def __add__(self, arg0: CuSparseMatrix) -> SparseMatrix:
569
+ ...
570
+ @typing.overload
571
+ def __init__(self, arg0: int, arg1: int, arg2: DataTypeCxx) -> None:
572
+ ...
573
+ @typing.overload
574
+ def __init__(self, arg0: CuSparseMatrix) -> None:
575
+ ...
576
+ def __mul__(self, arg0: float) -> SparseMatrix:
577
+ ...
578
+ def __rmul__(self, arg0: float) -> SparseMatrix:
579
+ ...
580
+ def __sub__(self, arg0: CuSparseMatrix) -> SparseMatrix:
581
+ ...
582
+ def get_element(self, arg0: int, arg1: int) -> float:
583
+ ...
584
+ def matmul(self, arg0: CuSparseMatrix) -> SparseMatrix:
585
+ ...
586
+ def spmv(self, arg0: Program, arg1: NdarrayCxx, arg2: NdarrayCxx) -> None:
587
+ ...
588
+ def to_string(self) -> str:
589
+ ...
590
+ def transpose(self) -> SparseMatrix:
591
+ ...
592
+ class CuSparseSolver(SparseSolver):
593
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
594
+ ...
595
+ def compute(self, arg0: SparseMatrix) -> bool:
596
+ ...
597
+ def factorize(self, arg0: SparseMatrix) -> None:
598
+ ...
599
+ def info(self) -> bool:
600
+ ...
601
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
602
+ ...
603
+ class DataTypeCxx:
604
+ def __call__(self, *args, **kwargs) -> None:
605
+ ...
606
+ def __eq__(self, arg0: DataTypeCxx) -> bool:
607
+ ...
608
+ def __getstate__(self) -> tuple:
609
+ ...
610
+ def __hash__(self) -> int:
611
+ ...
612
+ def __init__(self, arg0: ...) -> None:
613
+ ...
614
+ def __setstate__(self, arg0: tuple) -> None:
615
+ ...
616
+ def __str__(self) -> str:
617
+ ...
618
+ def element_type(self) -> DataTypeCxx:
619
+ ...
620
+ def get_ptr(self) -> ...:
621
+ ...
622
+ def ptr_removed(self) -> DataTypeCxx:
623
+ ...
624
+ def shape(self) -> tuple[int, ...]:
625
+ ...
626
+ def to_string(self) -> str:
627
+ ...
628
+ class DebugInfo:
629
+ src_loc: ...
630
+ tb: str
631
+ @typing.overload
632
+ def __init__(self) -> None:
633
+ ...
634
+ @typing.overload
635
+ def __init__(self, arg0: str) -> None:
636
+ ...
637
+ @typing.overload
638
+ def __init__(self) -> None:
639
+ ...
640
+ class DeviceAllocation:
641
+ def __init__(self, device: int, alloc_id: int) -> None:
642
+ ...
643
+ @property
644
+ def alloc_id(self) -> int:
645
+ ...
646
+ @property
647
+ def device(self) -> ...:
648
+ ...
649
+ class DeviceCapabilityConfig:
650
+ pass
651
+ class EigenSparseSolverfloat32LDLTAMD(SparseSolver):
652
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
653
+ ...
654
+ def compute(self, arg0: SparseMatrix) -> bool:
655
+ ...
656
+ def factorize(self, arg0: SparseMatrix) -> None:
657
+ ...
658
+ def info(self) -> bool:
659
+ ...
660
+ def solve(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> numpy.ndarray[numpy.float32[m, 1]]:
661
+ ...
662
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
663
+ ...
664
+ class EigenSparseSolverfloat32LDLTCOLAMD(SparseSolver):
665
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
666
+ ...
667
+ def compute(self, arg0: SparseMatrix) -> bool:
668
+ ...
669
+ def factorize(self, arg0: SparseMatrix) -> None:
670
+ ...
671
+ def info(self) -> bool:
672
+ ...
673
+ def solve(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> numpy.ndarray[numpy.float32[m, 1]]:
674
+ ...
675
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
676
+ ...
677
+ class EigenSparseSolverfloat32LLTAMD(SparseSolver):
678
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
679
+ ...
680
+ def compute(self, arg0: SparseMatrix) -> bool:
681
+ ...
682
+ def factorize(self, arg0: SparseMatrix) -> None:
683
+ ...
684
+ def info(self) -> bool:
685
+ ...
686
+ def solve(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> numpy.ndarray[numpy.float32[m, 1]]:
687
+ ...
688
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
689
+ ...
690
+ class EigenSparseSolverfloat32LLTCOLAMD(SparseSolver):
691
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
692
+ ...
693
+ def compute(self, arg0: SparseMatrix) -> bool:
694
+ ...
695
+ def factorize(self, arg0: SparseMatrix) -> None:
696
+ ...
697
+ def info(self) -> bool:
698
+ ...
699
+ def solve(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> numpy.ndarray[numpy.float32[m, 1]]:
700
+ ...
701
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
702
+ ...
703
+ class EigenSparseSolverfloat32LUAMD(SparseSolver):
704
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
705
+ ...
706
+ def compute(self, arg0: SparseMatrix) -> bool:
707
+ ...
708
+ def factorize(self, arg0: SparseMatrix) -> None:
709
+ ...
710
+ def info(self) -> bool:
711
+ ...
712
+ def solve(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> numpy.ndarray[numpy.float32[m, 1]]:
713
+ ...
714
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
715
+ ...
716
+ class EigenSparseSolverfloat32LUCOLAMD(SparseSolver):
717
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
718
+ ...
719
+ def compute(self, arg0: SparseMatrix) -> bool:
720
+ ...
721
+ def factorize(self, arg0: SparseMatrix) -> None:
722
+ ...
723
+ def info(self) -> bool:
724
+ ...
725
+ def solve(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> numpy.ndarray[numpy.float32[m, 1]]:
726
+ ...
727
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
728
+ ...
729
+ class EigenSparseSolverfloat64LDLTAMD(SparseSolver):
730
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
731
+ ...
732
+ def compute(self, arg0: SparseMatrix) -> bool:
733
+ ...
734
+ def factorize(self, arg0: SparseMatrix) -> None:
735
+ ...
736
+ def info(self) -> bool:
737
+ ...
738
+ def solve(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> numpy.ndarray[numpy.float64[m, 1]]:
739
+ ...
740
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
741
+ ...
742
+ class EigenSparseSolverfloat64LDLTCOLAMD(SparseSolver):
743
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
744
+ ...
745
+ def compute(self, arg0: SparseMatrix) -> bool:
746
+ ...
747
+ def factorize(self, arg0: SparseMatrix) -> None:
748
+ ...
749
+ def info(self) -> bool:
750
+ ...
751
+ def solve(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> numpy.ndarray[numpy.float64[m, 1]]:
752
+ ...
753
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
754
+ ...
755
+ class EigenSparseSolverfloat64LLTAMD(SparseSolver):
756
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
757
+ ...
758
+ def compute(self, arg0: SparseMatrix) -> bool:
759
+ ...
760
+ def factorize(self, arg0: SparseMatrix) -> None:
761
+ ...
762
+ def info(self) -> bool:
763
+ ...
764
+ def solve(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> numpy.ndarray[numpy.float64[m, 1]]:
765
+ ...
766
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
767
+ ...
768
+ class EigenSparseSolverfloat64LLTCOLAMD(SparseSolver):
769
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
770
+ ...
771
+ def compute(self, arg0: SparseMatrix) -> bool:
772
+ ...
773
+ def factorize(self, arg0: SparseMatrix) -> None:
774
+ ...
775
+ def info(self) -> bool:
776
+ ...
777
+ def solve(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> numpy.ndarray[numpy.float64[m, 1]]:
778
+ ...
779
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
780
+ ...
781
+ class EigenSparseSolverfloat64LUAMD(SparseSolver):
782
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
783
+ ...
784
+ def compute(self, arg0: SparseMatrix) -> bool:
785
+ ...
786
+ def factorize(self, arg0: SparseMatrix) -> None:
787
+ ...
788
+ def info(self) -> bool:
789
+ ...
790
+ def solve(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> numpy.ndarray[numpy.float64[m, 1]]:
791
+ ...
792
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
793
+ ...
794
+ class EigenSparseSolverfloat64LUCOLAMD(SparseSolver):
795
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
796
+ ...
797
+ def compute(self, arg0: SparseMatrix) -> bool:
798
+ ...
799
+ def factorize(self, arg0: SparseMatrix) -> None:
800
+ ...
801
+ def info(self) -> bool:
802
+ ...
803
+ def solve(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> numpy.ndarray[numpy.float64[m, 1]]:
804
+ ...
805
+ def solve_rf(self, arg0: Program, arg1: SparseMatrix, arg2: NdarrayCxx, arg3: NdarrayCxx) -> None:
806
+ ...
807
+ class ExprCxx:
808
+ def get_dbg_info(self) -> DebugInfo:
809
+ ...
810
+ def get_dt(self) -> ...:
811
+ ...
812
+ def get_dynamic_index_stride(self) -> int:
813
+ ...
814
+ def get_dynamic_indexable(self) -> bool:
815
+ ...
816
+ def get_expr_name(self) -> str:
817
+ ...
818
+ def get_raw_address(self) -> int:
819
+ ...
820
+ def get_ret_type(self) -> DataTypeCxx:
821
+ ...
822
+ def get_rvalue_type(self) -> DataTypeCxx:
823
+ ...
824
+ def get_shape(self) -> tuple[int, ...] | None:
825
+ ...
826
+ def get_underlying_ptr_address(self) -> int:
827
+ ...
828
+ def is_external_tensor_expr(self) -> bool:
829
+ ...
830
+ def is_index_expr(self) -> bool:
831
+ ...
832
+ def is_lvalue(self) -> bool:
833
+ ...
834
+ def is_primal(self) -> bool:
835
+ ...
836
+ def is_struct(self) -> bool:
837
+ ...
838
+ def is_tensor(self) -> bool:
839
+ ...
840
+ def set_adjoint(self, arg0: ExprCxx) -> None:
841
+ ...
842
+ def set_adjoint_checkbit(self, arg0: ExprCxx) -> None:
843
+ ...
844
+ def set_dbg_info(self, arg0: DebugInfo) -> None:
845
+ ...
846
+ def set_dual(self, arg0: ExprCxx) -> None:
847
+ ...
848
+ def set_dynamic_index_stride(self, arg0: int) -> None:
849
+ ...
850
+ def set_grad_type(self, arg0: SNodeGradType) -> None:
851
+ ...
852
+ def set_name(self, arg0: str) -> None:
853
+ ...
854
+ def snode(self) -> SNodeCxx:
855
+ ...
856
+ def type_check(self, arg0: CompileConfig) -> None:
857
+ ...
858
+ class ExprGroup:
859
+ def __init__(self) -> None:
860
+ ...
861
+ def push_back(self, arg0: ExprCxx) -> None:
862
+ ...
863
+ def size(self) -> int:
864
+ ...
865
+ class Extension:
866
+ """
867
+ Members:
868
+
869
+ sparse
870
+
871
+ quant
872
+
873
+ mesh
874
+
875
+ quant_basic
876
+
877
+ data64
878
+
879
+ adstack
880
+
881
+ bls
882
+
883
+ assertion
884
+
885
+ extfunc
886
+ """
887
+ __members__: typing.ClassVar[dict[str, Extension]] # value = {'sparse': <Extension.sparse: 0>, 'quant': <Extension.quant: 1>, 'mesh': <Extension.mesh: 2>, 'quant_basic': <Extension.quant_basic: 3>, 'data64': <Extension.data64: 4>, 'adstack': <Extension.adstack: 5>, 'bls': <Extension.bls: 6>, 'assertion': <Extension.assertion: 7>, 'extfunc': <Extension.extfunc: 8>}
888
+ adstack: typing.ClassVar[Extension] # value = <Extension.adstack: 5>
889
+ assertion: typing.ClassVar[Extension] # value = <Extension.assertion: 7>
890
+ bls: typing.ClassVar[Extension] # value = <Extension.bls: 6>
891
+ data64: typing.ClassVar[Extension] # value = <Extension.data64: 4>
892
+ extfunc: typing.ClassVar[Extension] # value = <Extension.extfunc: 8>
893
+ mesh: typing.ClassVar[Extension] # value = <Extension.mesh: 2>
894
+ quant: typing.ClassVar[Extension] # value = <Extension.quant: 1>
895
+ quant_basic: typing.ClassVar[Extension] # value = <Extension.quant_basic: 3>
896
+ sparse: typing.ClassVar[Extension] # value = <Extension.sparse: 0>
897
+ def __eq__(self, other: typing.Any) -> bool:
898
+ ...
899
+ def __ge__(self, other: typing.Any) -> bool:
900
+ ...
901
+ def __getstate__(self) -> int:
902
+ ...
903
+ def __gt__(self, other: typing.Any) -> bool:
904
+ ...
905
+ def __hash__(self) -> int:
906
+ ...
907
+ def __index__(self) -> int:
908
+ ...
909
+ def __init__(self, value: int) -> None:
910
+ ...
911
+ def __int__(self) -> int:
912
+ ...
913
+ def __le__(self, other: typing.Any) -> bool:
914
+ ...
915
+ def __lt__(self, other: typing.Any) -> bool:
916
+ ...
917
+ def __ne__(self, other: typing.Any) -> bool:
918
+ ...
919
+ def __repr__(self) -> str:
920
+ ...
921
+ def __setstate__(self, state: int) -> None:
922
+ ...
923
+ def __str__(self) -> str:
924
+ ...
925
+ @property
926
+ def name(self) -> str:
927
+ ...
928
+ @property
929
+ def value(self) -> int:
930
+ ...
931
+ class Format:
932
+ """
933
+ Members:
934
+
935
+ unknown
936
+
937
+ r8
938
+
939
+ rg8
940
+
941
+ rgba8
942
+
943
+ rgba8srgb
944
+
945
+ bgra8
946
+
947
+ bgra8srgb
948
+
949
+ r8u
950
+
951
+ rg8u
952
+
953
+ rgba8u
954
+
955
+ r8i
956
+
957
+ rg8i
958
+
959
+ rgba8i
960
+
961
+ r16
962
+
963
+ rg16
964
+
965
+ rgb16
966
+
967
+ rgba16
968
+
969
+ r16u
970
+
971
+ rg16u
972
+
973
+ rgb16u
974
+
975
+ rgba16u
976
+
977
+ r16i
978
+
979
+ rg16i
980
+
981
+ rgb16i
982
+
983
+ rgba16i
984
+
985
+ r16f
986
+
987
+ rg16f
988
+
989
+ rgb16f
990
+
991
+ rgba16f
992
+
993
+ r32u
994
+
995
+ rg32u
996
+
997
+ rgb32u
998
+
999
+ rgba32u
1000
+
1001
+ r32i
1002
+
1003
+ rg32i
1004
+
1005
+ rgb32i
1006
+
1007
+ rgba32i
1008
+
1009
+ r32f
1010
+
1011
+ rg32f
1012
+
1013
+ rgb32f
1014
+
1015
+ rgba32f
1016
+
1017
+ depth16
1018
+
1019
+ depth24stencil8
1020
+
1021
+ depth32f
1022
+ """
1023
+ __members__: typing.ClassVar[dict[str, Format]] # value = {'unknown': <Format.unknown: 0>, 'r8': <Format.r8: 1>, 'rg8': <Format.rg8: 2>, 'rgba8': <Format.rgba8: 3>, 'rgba8srgb': <Format.rgba8srgb: 4>, 'bgra8': <Format.bgra8: 5>, 'bgra8srgb': <Format.bgra8srgb: 6>, 'r8u': <Format.r8u: 7>, 'rg8u': <Format.rg8u: 8>, 'rgba8u': <Format.rgba8u: 9>, 'r8i': <Format.r8i: 10>, 'rg8i': <Format.rg8i: 11>, 'rgba8i': <Format.rgba8i: 12>, 'r16': <Format.r16: 13>, 'rg16': <Format.rg16: 14>, 'rgb16': <Format.rgb16: 15>, 'rgba16': <Format.rgba16: 16>, 'r16u': <Format.r16u: 17>, 'rg16u': <Format.rg16u: 18>, 'rgb16u': <Format.rgb16u: 19>, 'rgba16u': <Format.rgba16u: 20>, 'r16i': <Format.r16i: 21>, 'rg16i': <Format.rg16i: 22>, 'rgb16i': <Format.rgb16i: 23>, 'rgba16i': <Format.rgba16i: 24>, 'r16f': <Format.r16f: 25>, 'rg16f': <Format.rg16f: 26>, 'rgb16f': <Format.rgb16f: 27>, 'rgba16f': <Format.rgba16f: 28>, 'r32u': <Format.r32u: 29>, 'rg32u': <Format.rg32u: 30>, 'rgb32u': <Format.rgb32u: 31>, 'rgba32u': <Format.rgba32u: 32>, 'r32i': <Format.r32i: 33>, 'rg32i': <Format.rg32i: 34>, 'rgb32i': <Format.rgb32i: 35>, 'rgba32i': <Format.rgba32i: 36>, 'r32f': <Format.r32f: 37>, 'rg32f': <Format.rg32f: 38>, 'rgb32f': <Format.rgb32f: 39>, 'rgba32f': <Format.rgba32f: 40>, 'depth16': <Format.depth16: 41>, 'depth24stencil8': <Format.depth24stencil8: 42>, 'depth32f': <Format.depth32f: 43>}
1024
+ bgra8: typing.ClassVar[Format] # value = <Format.bgra8: 5>
1025
+ bgra8srgb: typing.ClassVar[Format] # value = <Format.bgra8srgb: 6>
1026
+ depth16: typing.ClassVar[Format] # value = <Format.depth16: 41>
1027
+ depth24stencil8: typing.ClassVar[Format] # value = <Format.depth24stencil8: 42>
1028
+ depth32f: typing.ClassVar[Format] # value = <Format.depth32f: 43>
1029
+ r16: typing.ClassVar[Format] # value = <Format.r16: 13>
1030
+ r16f: typing.ClassVar[Format] # value = <Format.r16f: 25>
1031
+ r16i: typing.ClassVar[Format] # value = <Format.r16i: 21>
1032
+ r16u: typing.ClassVar[Format] # value = <Format.r16u: 17>
1033
+ r32f: typing.ClassVar[Format] # value = <Format.r32f: 37>
1034
+ r32i: typing.ClassVar[Format] # value = <Format.r32i: 33>
1035
+ r32u: typing.ClassVar[Format] # value = <Format.r32u: 29>
1036
+ r8: typing.ClassVar[Format] # value = <Format.r8: 1>
1037
+ r8i: typing.ClassVar[Format] # value = <Format.r8i: 10>
1038
+ r8u: typing.ClassVar[Format] # value = <Format.r8u: 7>
1039
+ rg16: typing.ClassVar[Format] # value = <Format.rg16: 14>
1040
+ rg16f: typing.ClassVar[Format] # value = <Format.rg16f: 26>
1041
+ rg16i: typing.ClassVar[Format] # value = <Format.rg16i: 22>
1042
+ rg16u: typing.ClassVar[Format] # value = <Format.rg16u: 18>
1043
+ rg32f: typing.ClassVar[Format] # value = <Format.rg32f: 38>
1044
+ rg32i: typing.ClassVar[Format] # value = <Format.rg32i: 34>
1045
+ rg32u: typing.ClassVar[Format] # value = <Format.rg32u: 30>
1046
+ rg8: typing.ClassVar[Format] # value = <Format.rg8: 2>
1047
+ rg8i: typing.ClassVar[Format] # value = <Format.rg8i: 11>
1048
+ rg8u: typing.ClassVar[Format] # value = <Format.rg8u: 8>
1049
+ rgb16: typing.ClassVar[Format] # value = <Format.rgb16: 15>
1050
+ rgb16f: typing.ClassVar[Format] # value = <Format.rgb16f: 27>
1051
+ rgb16i: typing.ClassVar[Format] # value = <Format.rgb16i: 23>
1052
+ rgb16u: typing.ClassVar[Format] # value = <Format.rgb16u: 19>
1053
+ rgb32f: typing.ClassVar[Format] # value = <Format.rgb32f: 39>
1054
+ rgb32i: typing.ClassVar[Format] # value = <Format.rgb32i: 35>
1055
+ rgb32u: typing.ClassVar[Format] # value = <Format.rgb32u: 31>
1056
+ rgba16: typing.ClassVar[Format] # value = <Format.rgba16: 16>
1057
+ rgba16f: typing.ClassVar[Format] # value = <Format.rgba16f: 28>
1058
+ rgba16i: typing.ClassVar[Format] # value = <Format.rgba16i: 24>
1059
+ rgba16u: typing.ClassVar[Format] # value = <Format.rgba16u: 20>
1060
+ rgba32f: typing.ClassVar[Format] # value = <Format.rgba32f: 40>
1061
+ rgba32i: typing.ClassVar[Format] # value = <Format.rgba32i: 36>
1062
+ rgba32u: typing.ClassVar[Format] # value = <Format.rgba32u: 32>
1063
+ rgba8: typing.ClassVar[Format] # value = <Format.rgba8: 3>
1064
+ rgba8i: typing.ClassVar[Format] # value = <Format.rgba8i: 12>
1065
+ rgba8srgb: typing.ClassVar[Format] # value = <Format.rgba8srgb: 4>
1066
+ rgba8u: typing.ClassVar[Format] # value = <Format.rgba8u: 9>
1067
+ unknown: typing.ClassVar[Format] # value = <Format.unknown: 0>
1068
+ def __eq__(self, other: typing.Any) -> bool:
1069
+ ...
1070
+ def __getstate__(self) -> int:
1071
+ ...
1072
+ def __hash__(self) -> int:
1073
+ ...
1074
+ def __index__(self) -> int:
1075
+ ...
1076
+ def __init__(self, value: int) -> None:
1077
+ ...
1078
+ def __int__(self) -> int:
1079
+ ...
1080
+ def __ne__(self, other: typing.Any) -> bool:
1081
+ ...
1082
+ def __repr__(self) -> str:
1083
+ ...
1084
+ def __setstate__(self, state: int) -> None:
1085
+ ...
1086
+ def __str__(self) -> str:
1087
+ ...
1088
+ @property
1089
+ def name(self) -> str:
1090
+ ...
1091
+ @property
1092
+ def value(self) -> int:
1093
+ ...
1094
+ class Function:
1095
+ def ast_builder(self) -> ASTBuilder:
1096
+ ...
1097
+ def finalize_params(self) -> None:
1098
+ ...
1099
+ def finalize_rets(self) -> None:
1100
+ ...
1101
+ def insert_arr_param(self, arg0: DataTypeCxx, arg1: int, arg2: tuple[int, ...], arg3: str) -> tuple[int, ...]:
1102
+ ...
1103
+ def insert_ndarray_param(self, arg0: DataTypeCxx, arg1: int, arg2: str, arg3: bool) -> tuple[int, ...]:
1104
+ ...
1105
+ def insert_pointer_param(self, arg0: DataTypeCxx, arg1: str) -> tuple[int, ...]:
1106
+ ...
1107
+ def insert_ret(self, arg0: DataTypeCxx) -> int:
1108
+ ...
1109
+ def insert_rw_texture_param(self, arg0: int, arg1: Format, arg2: str) -> tuple[int, ...]:
1110
+ ...
1111
+ def insert_scalar_param(self, arg0: DataTypeCxx, arg1: str) -> tuple[int, ...]:
1112
+ ...
1113
+ def insert_texture_param(self, arg0: int, arg1: str) -> tuple[int, ...]:
1114
+ ...
1115
+ def set_function_body(self, arg0: typing.Callable[[], None]) -> None:
1116
+ ...
1117
+ class FunctionKey:
1118
+ def __init__(self, arg0: str, arg1: int, arg2: int) -> None:
1119
+ ...
1120
+ @property
1121
+ def instance_id(self) -> int:
1122
+ ...
1123
+ class GsTaichiAssertionError(AssertionError):
1124
+ pass
1125
+ class GsTaichiIndexError(IndexError):
1126
+ pass
1127
+ class GsTaichiRuntimeError(RuntimeError):
1128
+ pass
1129
+ class GsTaichiSyntaxError(SyntaxError):
1130
+ pass
1131
+ class GsTaichiTypeError(TypeError):
1132
+ pass
1133
+ class HackedSignalRegister:
1134
+ def __init__(self) -> None:
1135
+ ...
1136
+ class InternalOp:
1137
+ block_barrier: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1138
+ block_barrier_and_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1139
+ block_barrier_count_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1140
+ block_barrier_or_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1141
+ composite_extract_0: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1142
+ composite_extract_1: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1143
+ composite_extract_2: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1144
+ composite_extract_3: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1145
+ cuda_active_mask: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1146
+ cuda_all_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1147
+ cuda_any_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1148
+ cuda_ballot_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1149
+ cuda_match_all_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1150
+ cuda_match_any_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1151
+ cuda_shfl_down_sync_f32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1152
+ cuda_shfl_down_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1153
+ cuda_shfl_sync_f32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1154
+ cuda_shfl_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1155
+ cuda_shfl_up_sync_f32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1156
+ cuda_shfl_up_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1157
+ cuda_shfl_xor_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1158
+ cuda_uni_sync_i32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1159
+ do_nothing: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1160
+ grid_memfence: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1161
+ insert_triplet_f32: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1162
+ insert_triplet_f64: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1163
+ linear_thread_idx: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1164
+ localInvocationId: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1165
+ refresh_counter: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1166
+ subgroupAdd: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1167
+ subgroupAnd: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1168
+ subgroupBarrier: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1169
+ subgroupBroadcast: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1170
+ subgroupElect: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1171
+ subgroupInclusiveAdd: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1172
+ subgroupInclusiveAnd: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1173
+ subgroupInclusiveMax: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1174
+ subgroupInclusiveMin: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1175
+ subgroupInclusiveMul: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1176
+ subgroupInclusiveOr: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1177
+ subgroupInclusiveXor: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1178
+ subgroupInvocationId: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1179
+ subgroupMax: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1180
+ subgroupMemoryBarrier: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1181
+ subgroupMin: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1182
+ subgroupMul: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1183
+ subgroupOr: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1184
+ subgroupSize: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1185
+ subgroupXor: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1186
+ test_active_mask: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1187
+ test_internal_func_args: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1188
+ test_list_manager: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1189
+ test_node_allocator: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1190
+ test_node_allocator_gc_cpu: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1191
+ test_shfl: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1192
+ test_stack: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1193
+ vkGlobalThreadIdx: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1194
+ warp_barrier: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1195
+ workgroupBarrier: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1196
+ workgroupMemoryBarrier: typing.ClassVar[Operation] # value = <gstaichi._lib.core.gstaichi_python.Operation object>
1197
+ class KernelCxx:
1198
+ def ast_builder(self) -> ASTBuilder:
1199
+ ...
1200
+ def finalize_params(self) -> None:
1201
+ ...
1202
+ def finalize_rets(self) -> None:
1203
+ ...
1204
+ def insert_arr_param(self, arg0: DataTypeCxx, arg1: int, arg2: tuple[int, ...], arg3: str) -> tuple[int, ...]:
1205
+ ...
1206
+ def insert_ndarray_param(self, arg0: DataTypeCxx, arg1: int, arg2: str, arg3: bool) -> tuple[int, ...]:
1207
+ ...
1208
+ def insert_pointer_param(self, arg0: DataTypeCxx, arg1: str) -> tuple[int, ...]:
1209
+ ...
1210
+ def insert_ret(self, arg0: DataTypeCxx) -> int:
1211
+ ...
1212
+ def insert_rw_texture_param(self, arg0: int, arg1: Format, arg2: str) -> tuple[int, ...]:
1213
+ ...
1214
+ def insert_scalar_param(self, arg0: DataTypeCxx, arg1: str) -> tuple[int, ...]:
1215
+ ...
1216
+ def insert_texture_param(self, arg0: int, arg1: str) -> tuple[int, ...]:
1217
+ ...
1218
+ def make_launch_context(self) -> KernelLaunchContext:
1219
+ ...
1220
+ def no_activate(self, arg0: SNodeCxx) -> None:
1221
+ ...
1222
+ class KernelLaunchContext:
1223
+ def get_struct_ret_float(self, arg0: tuple[int, ...]) -> float:
1224
+ ...
1225
+ def get_struct_ret_int(self, arg0: tuple[int, ...]) -> int:
1226
+ ...
1227
+ def get_struct_ret_uint(self, arg0: tuple[int, ...]) -> int:
1228
+ ...
1229
+ def set_arg_external_array_with_shape(self, arg0: tuple[int, ...], arg1: int, arg2: int, arg3: tuple[int, ...], arg4: int) -> None:
1230
+ ...
1231
+ def set_arg_float(self, arg0: tuple[int, ...], arg1: float) -> None:
1232
+ ...
1233
+ def set_arg_int(self, arg0: tuple[int, ...], arg1: int) -> None:
1234
+ ...
1235
+ def set_arg_ndarray(self, arg0: tuple[int, ...], arg1: Ndarray) -> None:
1236
+ ...
1237
+ def set_arg_ndarray_with_grad(self, arg0: tuple[int, ...], arg1: NdarrayCxx, arg2: NdarrayCxx) -> None:
1238
+ ...
1239
+ def set_arg_rw_texture(self, arg0: tuple[int, ...], arg1: TextureCxx) -> None:
1240
+ ...
1241
+ def set_arg_texture(self, arg0: tuple[int, ...], arg1: TextureCxx) -> None:
1242
+ ...
1243
+ def set_arg_uint(self, arg0: tuple[int, ...], arg1: int) -> None:
1244
+ ...
1245
+ def set_struct_arg_float(self, arg0: tuple[int, ...], arg1: float) -> None:
1246
+ ...
1247
+ def set_struct_arg_int(self, arg0: tuple[int, ...], arg1: int) -> None:
1248
+ ...
1249
+ def set_struct_arg_uint(self, arg0: tuple[int, ...], arg1: int) -> None:
1250
+ ...
1251
+ class KernelProfileTracedRecord:
1252
+ active_blocks_per_multiprocessor: int
1253
+ base_time: float
1254
+ block_size: int
1255
+ grid_size: int
1256
+ kernel_time: float
1257
+ metric_values: list[float]
1258
+ name: str
1259
+ register_per_thread: int
1260
+ shared_mem_per_block: int
1261
+ class KernelProfilerQueryResult:
1262
+ avg: float
1263
+ counter: int
1264
+ max: float
1265
+ min: float
1266
+ class Layout:
1267
+ """
1268
+ Members:
1269
+
1270
+ AOS
1271
+
1272
+ SOA
1273
+
1274
+ NULL
1275
+ """
1276
+ AOS: typing.ClassVar[Layout] # value = <Layout.AOS: 0>
1277
+ NULL: typing.ClassVar[Layout] # value = <Layout.NULL: 2>
1278
+ SOA: typing.ClassVar[Layout] # value = <Layout.SOA: 1>
1279
+ __members__: typing.ClassVar[dict[str, Layout]] # value = {'AOS': <Layout.AOS: 0>, 'SOA': <Layout.SOA: 1>, 'NULL': <Layout.NULL: 2>}
1280
+ def __eq__(self, other: typing.Any) -> bool:
1281
+ ...
1282
+ def __ge__(self, other: typing.Any) -> bool:
1283
+ ...
1284
+ def __getstate__(self) -> int:
1285
+ ...
1286
+ def __gt__(self, other: typing.Any) -> bool:
1287
+ ...
1288
+ def __hash__(self) -> int:
1289
+ ...
1290
+ def __index__(self) -> int:
1291
+ ...
1292
+ def __init__(self, value: int) -> None:
1293
+ ...
1294
+ def __int__(self) -> int:
1295
+ ...
1296
+ def __le__(self, other: typing.Any) -> bool:
1297
+ ...
1298
+ def __lt__(self, other: typing.Any) -> bool:
1299
+ ...
1300
+ def __ne__(self, other: typing.Any) -> bool:
1301
+ ...
1302
+ def __repr__(self) -> str:
1303
+ ...
1304
+ def __setstate__(self, state: int) -> None:
1305
+ ...
1306
+ def __str__(self) -> str:
1307
+ ...
1308
+ @property
1309
+ def name(self) -> str:
1310
+ ...
1311
+ @property
1312
+ def value(self) -> int:
1313
+ ...
1314
+ class Mesh:
1315
+ pass
1316
+ class MeshElementType:
1317
+ """
1318
+ Members:
1319
+
1320
+ Vertex
1321
+
1322
+ Edge
1323
+
1324
+ Face
1325
+
1326
+ Cell
1327
+ """
1328
+ Cell: typing.ClassVar[MeshElementType] # value = <MeshElementType.Cell: 3>
1329
+ Edge: typing.ClassVar[MeshElementType] # value = <MeshElementType.Edge: 1>
1330
+ Face: typing.ClassVar[MeshElementType] # value = <MeshElementType.Face: 2>
1331
+ Vertex: typing.ClassVar[MeshElementType] # value = <MeshElementType.Vertex: 0>
1332
+ __members__: typing.ClassVar[dict[str, MeshElementType]] # value = {'Vertex': <MeshElementType.Vertex: 0>, 'Edge': <MeshElementType.Edge: 1>, 'Face': <MeshElementType.Face: 2>, 'Cell': <MeshElementType.Cell: 3>}
1333
+ def __eq__(self, other: typing.Any) -> bool:
1334
+ ...
1335
+ def __ge__(self, other: typing.Any) -> bool:
1336
+ ...
1337
+ def __getstate__(self) -> int:
1338
+ ...
1339
+ def __gt__(self, other: typing.Any) -> bool:
1340
+ ...
1341
+ def __hash__(self) -> int:
1342
+ ...
1343
+ def __index__(self) -> int:
1344
+ ...
1345
+ def __init__(self, value: int) -> None:
1346
+ ...
1347
+ def __int__(self) -> int:
1348
+ ...
1349
+ def __le__(self, other: typing.Any) -> bool:
1350
+ ...
1351
+ def __lt__(self, other: typing.Any) -> bool:
1352
+ ...
1353
+ def __ne__(self, other: typing.Any) -> bool:
1354
+ ...
1355
+ def __repr__(self) -> str:
1356
+ ...
1357
+ def __setstate__(self, state: int) -> None:
1358
+ ...
1359
+ def __str__(self) -> str:
1360
+ ...
1361
+ @property
1362
+ def name(self) -> str:
1363
+ ...
1364
+ @property
1365
+ def value(self) -> int:
1366
+ ...
1367
+ class MeshPtr:
1368
+ pass
1369
+ class MeshRelationType:
1370
+ """
1371
+ Members:
1372
+
1373
+ VV
1374
+
1375
+ VE
1376
+
1377
+ VF
1378
+
1379
+ VC
1380
+
1381
+ EV
1382
+
1383
+ EE
1384
+
1385
+ EF
1386
+
1387
+ EC
1388
+
1389
+ FV
1390
+
1391
+ FE
1392
+
1393
+ FF
1394
+
1395
+ FC
1396
+
1397
+ CV
1398
+
1399
+ CE
1400
+
1401
+ CF
1402
+
1403
+ CC
1404
+ """
1405
+ CC: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.CC: 15>
1406
+ CE: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.CE: 13>
1407
+ CF: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.CF: 14>
1408
+ CV: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.CV: 12>
1409
+ EC: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.EC: 7>
1410
+ EE: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.EE: 5>
1411
+ EF: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.EF: 6>
1412
+ EV: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.EV: 4>
1413
+ FC: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.FC: 11>
1414
+ FE: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.FE: 9>
1415
+ FF: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.FF: 10>
1416
+ FV: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.FV: 8>
1417
+ VC: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.VC: 3>
1418
+ VE: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.VE: 1>
1419
+ VF: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.VF: 2>
1420
+ VV: typing.ClassVar[MeshRelationType] # value = <MeshRelationType.VV: 0>
1421
+ __members__: typing.ClassVar[dict[str, MeshRelationType]] # value = {'VV': <MeshRelationType.VV: 0>, 'VE': <MeshRelationType.VE: 1>, 'VF': <MeshRelationType.VF: 2>, 'VC': <MeshRelationType.VC: 3>, 'EV': <MeshRelationType.EV: 4>, 'EE': <MeshRelationType.EE: 5>, 'EF': <MeshRelationType.EF: 6>, 'EC': <MeshRelationType.EC: 7>, 'FV': <MeshRelationType.FV: 8>, 'FE': <MeshRelationType.FE: 9>, 'FF': <MeshRelationType.FF: 10>, 'FC': <MeshRelationType.FC: 11>, 'CV': <MeshRelationType.CV: 12>, 'CE': <MeshRelationType.CE: 13>, 'CF': <MeshRelationType.CF: 14>, 'CC': <MeshRelationType.CC: 15>}
1422
+ def __eq__(self, other: typing.Any) -> bool:
1423
+ ...
1424
+ def __ge__(self, other: typing.Any) -> bool:
1425
+ ...
1426
+ def __getstate__(self) -> int:
1427
+ ...
1428
+ def __gt__(self, other: typing.Any) -> bool:
1429
+ ...
1430
+ def __hash__(self) -> int:
1431
+ ...
1432
+ def __index__(self) -> int:
1433
+ ...
1434
+ def __init__(self, value: int) -> None:
1435
+ ...
1436
+ def __int__(self) -> int:
1437
+ ...
1438
+ def __le__(self, other: typing.Any) -> bool:
1439
+ ...
1440
+ def __lt__(self, other: typing.Any) -> bool:
1441
+ ...
1442
+ def __ne__(self, other: typing.Any) -> bool:
1443
+ ...
1444
+ def __repr__(self) -> str:
1445
+ ...
1446
+ def __setstate__(self, state: int) -> None:
1447
+ ...
1448
+ def __str__(self) -> str:
1449
+ ...
1450
+ @property
1451
+ def name(self) -> str:
1452
+ ...
1453
+ @property
1454
+ def value(self) -> int:
1455
+ ...
1456
+ class MeshTopology:
1457
+ """
1458
+ Members:
1459
+
1460
+ Triangle
1461
+
1462
+ Tetrahedron
1463
+ """
1464
+ Tetrahedron: typing.ClassVar[MeshTopology] # value = <MeshTopology.Tetrahedron: 4>
1465
+ Triangle: typing.ClassVar[MeshTopology] # value = <MeshTopology.Triangle: 3>
1466
+ __members__: typing.ClassVar[dict[str, MeshTopology]] # value = {'Triangle': <MeshTopology.Triangle: 3>, 'Tetrahedron': <MeshTopology.Tetrahedron: 4>}
1467
+ def __eq__(self, other: typing.Any) -> bool:
1468
+ ...
1469
+ def __ge__(self, other: typing.Any) -> bool:
1470
+ ...
1471
+ def __getstate__(self) -> int:
1472
+ ...
1473
+ def __gt__(self, other: typing.Any) -> bool:
1474
+ ...
1475
+ def __hash__(self) -> int:
1476
+ ...
1477
+ def __index__(self) -> int:
1478
+ ...
1479
+ def __init__(self, value: int) -> None:
1480
+ ...
1481
+ def __int__(self) -> int:
1482
+ ...
1483
+ def __le__(self, other: typing.Any) -> bool:
1484
+ ...
1485
+ def __lt__(self, other: typing.Any) -> bool:
1486
+ ...
1487
+ def __ne__(self, other: typing.Any) -> bool:
1488
+ ...
1489
+ def __repr__(self) -> str:
1490
+ ...
1491
+ def __setstate__(self, state: int) -> None:
1492
+ ...
1493
+ def __str__(self) -> str:
1494
+ ...
1495
+ @property
1496
+ def name(self) -> str:
1497
+ ...
1498
+ @property
1499
+ def value(self) -> int:
1500
+ ...
1501
+ class NdarrayCxx:
1502
+ def device_allocation(self) -> DeviceAllocation:
1503
+ ...
1504
+ def device_allocation_ptr(self) -> int:
1505
+ ...
1506
+ def element_data_type(self) -> DataTypeCxx:
1507
+ ...
1508
+ def element_shape(self) -> tuple[int, ...]:
1509
+ ...
1510
+ def element_size(self) -> int:
1511
+ ...
1512
+ def nelement(self) -> int:
1513
+ ...
1514
+ def read_float(self, arg0: tuple[int, ...]) -> float:
1515
+ ...
1516
+ def read_int(self, arg0: tuple[int, ...]) -> int:
1517
+ ...
1518
+ def read_uint(self, arg0: tuple[int, ...]) -> int:
1519
+ ...
1520
+ def total_shape(self) -> tuple[int, ...]:
1521
+ ...
1522
+ def write_float(self, arg0: tuple[int, ...], arg1: float) -> None:
1523
+ ...
1524
+ def write_int(self, arg0: tuple[int, ...], arg1: int) -> None:
1525
+ ...
1526
+ @property
1527
+ def dtype(self) -> DataTypeCxx:
1528
+ ...
1529
+ @property
1530
+ def shape(self) -> tuple[int, ...]:
1531
+ ...
1532
+ class Operation:
1533
+ pass
1534
+ class Program:
1535
+ def __init__(self) -> None:
1536
+ ...
1537
+ def clear_kernel_profiler(self) -> None:
1538
+ ...
1539
+ def compile_kernel(self, arg0: CompileConfig, arg1: DeviceCapabilityConfig, arg2: ...) -> ...:
1540
+ ...
1541
+ def config(self) -> CompileConfig:
1542
+ ...
1543
+ def create_function(self, arg0: ...) -> Function:
1544
+ ...
1545
+ def create_kernel(self, arg0: typing.Callable[[...], None], arg1: str, arg2: AutodiffMode) -> KernelCxx:
1546
+ ...
1547
+ def create_ndarray(self, dt: DataTypeCxx, shape: tuple[int, ...], layout: Layout = ..., zero_fill: bool = False, dbg_info: DebugInfo = ...) -> ...:
1548
+ ...
1549
+ def create_sparse_matrix(self, arg0: int, arg1: int, arg2: DataTypeCxx, arg3: str) -> ...:
1550
+ ...
1551
+ def create_texture(self, fmt: ..., shape: tuple[int, ...] = ()) -> ...:
1552
+ ...
1553
+ def delete_ndarray(self, arg0: ...) -> None:
1554
+ ...
1555
+ def dump_cache_data_to_disk(self) -> None:
1556
+ ...
1557
+ def fill_float(self, arg0: ..., arg1: float) -> None:
1558
+ ...
1559
+ def fill_int(self, arg0: ..., arg1: int) -> None:
1560
+ ...
1561
+ def fill_uint(self, arg0: ..., arg1: int) -> None:
1562
+ ...
1563
+ def finalize(self) -> None:
1564
+ ...
1565
+ def get_device_caps(self) -> DeviceCapabilityConfig:
1566
+ ...
1567
+ def get_graphics_device(self) -> ...:
1568
+ ...
1569
+ def get_kernel_profiler_device_name(self) -> str:
1570
+ ...
1571
+ def get_kernel_profiler_records(self) -> list[KernelProfileTracedRecord]:
1572
+ ...
1573
+ def get_ndarray_data_ptr_as_int(self, arg0: ...) -> int:
1574
+ ...
1575
+ def get_snode_num_dynamically_allocated(self, arg0: ...) -> int:
1576
+ ...
1577
+ def get_snode_root(self, arg0: int) -> ...:
1578
+ ...
1579
+ def get_snode_tree_size(self) -> int:
1580
+ ...
1581
+ def get_total_compilation_time(self) -> float:
1582
+ ...
1583
+ def kernel_profiler_total_time(self) -> float:
1584
+ ...
1585
+ def launch_kernel(self, arg0: CompiledKernelData, arg1: ...) -> None:
1586
+ ...
1587
+ def load_fast_cache(self, arg0: str, arg1: str, arg2: CompileConfig, arg3: DeviceCapabilityConfig) -> CompiledKernelData:
1588
+ ...
1589
+ def make_id_expr(self, arg0: str) -> ...:
1590
+ ...
1591
+ def make_sparse_matrix_from_ndarray(self, arg0: ..., arg1: ...) -> None:
1592
+ ...
1593
+ def materialize_runtime(self) -> None:
1594
+ ...
1595
+ def print_memory_profiler_info(self) -> None:
1596
+ ...
1597
+ def query_kernel_profile_info(self, arg0: str) -> KernelProfilerQueryResult:
1598
+ ...
1599
+ def reinit_kernel_profiler_with_metrics(self, arg0: list[str]) -> bool:
1600
+ ...
1601
+ def set_kernel_profiler_toolkit(self, arg0: str) -> bool:
1602
+ ...
1603
+ def store_fast_cache(self, arg0: str, arg1: ..., arg2: CompileConfig, arg3: DeviceCapabilityConfig, arg4: CompiledKernelData) -> None:
1604
+ ...
1605
+ def sync_kernel_profiler(self) -> None:
1606
+ ...
1607
+ def synchronize(self) -> None:
1608
+ ...
1609
+ def timeline_clear(self) -> None:
1610
+ ...
1611
+ def timeline_save(self, arg0: str) -> None:
1612
+ ...
1613
+ def update_kernel_profiler(self) -> None:
1614
+ ...
1615
+ class SNodeAccessFlag:
1616
+ """
1617
+ Members:
1618
+
1619
+ block_local
1620
+
1621
+ read_only
1622
+
1623
+ mesh_local
1624
+ """
1625
+ __members__: typing.ClassVar[dict[str, SNodeAccessFlag]] # value = {'block_local': <SNodeAccessFlag.block_local: 0>, 'read_only': <SNodeAccessFlag.read_only: 1>, 'mesh_local': <SNodeAccessFlag.mesh_local: 2>}
1626
+ block_local: typing.ClassVar[SNodeAccessFlag] # value = <SNodeAccessFlag.block_local: 0>
1627
+ mesh_local: typing.ClassVar[SNodeAccessFlag] # value = <SNodeAccessFlag.mesh_local: 2>
1628
+ read_only: typing.ClassVar[SNodeAccessFlag] # value = <SNodeAccessFlag.read_only: 1>
1629
+ def __eq__(self, other: typing.Any) -> bool:
1630
+ ...
1631
+ def __ge__(self, other: typing.Any) -> bool:
1632
+ ...
1633
+ def __getstate__(self) -> int:
1634
+ ...
1635
+ def __gt__(self, other: typing.Any) -> bool:
1636
+ ...
1637
+ def __hash__(self) -> int:
1638
+ ...
1639
+ def __index__(self) -> int:
1640
+ ...
1641
+ def __init__(self, value: int) -> None:
1642
+ ...
1643
+ def __int__(self) -> int:
1644
+ ...
1645
+ def __le__(self, other: typing.Any) -> bool:
1646
+ ...
1647
+ def __lt__(self, other: typing.Any) -> bool:
1648
+ ...
1649
+ def __ne__(self, other: typing.Any) -> bool:
1650
+ ...
1651
+ def __repr__(self) -> str:
1652
+ ...
1653
+ def __setstate__(self, state: int) -> None:
1654
+ ...
1655
+ def __str__(self) -> str:
1656
+ ...
1657
+ @property
1658
+ def name(self) -> str:
1659
+ ...
1660
+ @property
1661
+ def value(self) -> int:
1662
+ ...
1663
+ class SNodeCxx:
1664
+ parent: SNodeCxx
1665
+ def __init__(self) -> None:
1666
+ ...
1667
+ def allocate_adjoint_checkbit(self) -> None:
1668
+ ...
1669
+ def bit_struct(self, arg0: ..., arg1: DebugInfo) -> SNodeCxx:
1670
+ ...
1671
+ def bitmasked(self, arg0: list[Axis], arg1: tuple[int, ...], arg2: DebugInfo) -> SNodeCxx:
1672
+ ...
1673
+ def data_type(self) -> DataTypeCxx:
1674
+ ...
1675
+ def dense(self, arg0: list[Axis], arg1: tuple[int, ...], arg2: DebugInfo) -> SNodeCxx:
1676
+ ...
1677
+ def dynamic(self, arg0: Axis, arg1: int, arg2: int, arg3: DebugInfo) -> SNodeCxx:
1678
+ ...
1679
+ def get_ch(self, arg0: int) -> SNodeCxx:
1680
+ ...
1681
+ def get_expr(self) -> ...:
1682
+ ...
1683
+ def get_num_ch(self) -> int:
1684
+ ...
1685
+ def get_physical_index_position(self) -> tuple[int, ...]:
1686
+ ...
1687
+ def get_shape_along_axis(self, arg0: int) -> int:
1688
+ ...
1689
+ def get_snode_grad_type(self) -> SNodeGradType:
1690
+ ...
1691
+ def get_snode_tree_id(self) -> int:
1692
+ ...
1693
+ def has_adjoint(self) -> bool:
1694
+ ...
1695
+ def has_adjoint_checkbit(self) -> bool:
1696
+ ...
1697
+ def has_dual(self) -> bool:
1698
+ ...
1699
+ def hash(self, arg0: list[Axis], arg1: tuple[int, ...], arg2: DebugInfo) -> SNodeCxx:
1700
+ ...
1701
+ def is_place(self) -> bool:
1702
+ ...
1703
+ def is_primal(self) -> bool:
1704
+ ...
1705
+ def lazy_dual(self) -> None:
1706
+ ...
1707
+ def lazy_grad(self) -> None:
1708
+ ...
1709
+ def name(self) -> str:
1710
+ ...
1711
+ def num_active_indices(self) -> int:
1712
+ ...
1713
+ def place(self, arg0: ..., arg1: tuple[int, ...], arg2: int) -> None:
1714
+ ...
1715
+ def pointer(self, arg0: list[Axis], arg1: tuple[int, ...], arg2: DebugInfo) -> SNodeCxx:
1716
+ ...
1717
+ def quant_array(self, arg0: list[Axis], arg1: tuple[int, ...], arg2: int, arg3: DebugInfo) -> SNodeCxx:
1718
+ ...
1719
+ def read_float(self, arg0: tuple[int, ...]) -> float:
1720
+ ...
1721
+ def read_int(self, arg0: tuple[int, ...]) -> int:
1722
+ ...
1723
+ def read_uint(self, arg0: tuple[int, ...]) -> int:
1724
+ ...
1725
+ def write_float(self, arg0: tuple[int, ...], arg1: float) -> None:
1726
+ ...
1727
+ def write_int(self, arg0: tuple[int, ...], arg1: int) -> None:
1728
+ ...
1729
+ def write_uint(self, arg0: tuple[int, ...], arg1: int) -> None:
1730
+ ...
1731
+ @property
1732
+ def cell_size_bytes(self) -> int:
1733
+ ...
1734
+ @property
1735
+ def id(self) -> int:
1736
+ ...
1737
+ @property
1738
+ def offset(self) -> tuple[int, ...]:
1739
+ ...
1740
+ @property
1741
+ def offset_bytes_in_parent_cell(self) -> int:
1742
+ ...
1743
+ @property
1744
+ def type(self) -> SNodeType:
1745
+ ...
1746
+ class SNodeGradType:
1747
+ """
1748
+ Members:
1749
+
1750
+ PRIMAL
1751
+
1752
+ ADJOINT
1753
+
1754
+ DUAL
1755
+
1756
+ ADJOINT_CHECKBIT
1757
+ """
1758
+ ADJOINT: typing.ClassVar[SNodeGradType] # value = <SNodeGradType.ADJOINT: 1>
1759
+ ADJOINT_CHECKBIT: typing.ClassVar[SNodeGradType] # value = <SNodeGradType.ADJOINT_CHECKBIT: 3>
1760
+ DUAL: typing.ClassVar[SNodeGradType] # value = <SNodeGradType.DUAL: 2>
1761
+ PRIMAL: typing.ClassVar[SNodeGradType] # value = <SNodeGradType.PRIMAL: 0>
1762
+ __members__: typing.ClassVar[dict[str, SNodeGradType]] # value = {'PRIMAL': <SNodeGradType.PRIMAL: 0>, 'ADJOINT': <SNodeGradType.ADJOINT: 1>, 'DUAL': <SNodeGradType.DUAL: 2>, 'ADJOINT_CHECKBIT': <SNodeGradType.ADJOINT_CHECKBIT: 3>}
1763
+ def __eq__(self, other: typing.Any) -> bool:
1764
+ ...
1765
+ def __ge__(self, other: typing.Any) -> bool:
1766
+ ...
1767
+ def __getstate__(self) -> int:
1768
+ ...
1769
+ def __gt__(self, other: typing.Any) -> bool:
1770
+ ...
1771
+ def __hash__(self) -> int:
1772
+ ...
1773
+ def __index__(self) -> int:
1774
+ ...
1775
+ def __init__(self, value: int) -> None:
1776
+ ...
1777
+ def __int__(self) -> int:
1778
+ ...
1779
+ def __le__(self, other: typing.Any) -> bool:
1780
+ ...
1781
+ def __lt__(self, other: typing.Any) -> bool:
1782
+ ...
1783
+ def __ne__(self, other: typing.Any) -> bool:
1784
+ ...
1785
+ def __repr__(self) -> str:
1786
+ ...
1787
+ def __setstate__(self, state: int) -> None:
1788
+ ...
1789
+ def __str__(self) -> str:
1790
+ ...
1791
+ @property
1792
+ def name(self) -> str:
1793
+ ...
1794
+ @property
1795
+ def value(self) -> int:
1796
+ ...
1797
+ class SNodeRegistry:
1798
+ def __init__(self) -> None:
1799
+ ...
1800
+ def create_root(self, arg0: Program) -> SNodeCxx:
1801
+ ...
1802
+ class SNodeTreeCxx:
1803
+ def destroy_snode_tree(self, arg0: Program) -> None:
1804
+ ...
1805
+ def id(self) -> int:
1806
+ ...
1807
+ class SNodeType:
1808
+ """
1809
+ Members:
1810
+
1811
+ root
1812
+
1813
+ dense
1814
+
1815
+ dynamic
1816
+
1817
+ pointer
1818
+
1819
+ bitmasked
1820
+
1821
+ hash
1822
+
1823
+ place
1824
+
1825
+ bit_struct
1826
+
1827
+ quant_array
1828
+
1829
+ undefined
1830
+ """
1831
+ __members__: typing.ClassVar[dict[str, SNodeType]] # value = {'root': <SNodeType.root: 0>, 'dense': <SNodeType.dense: 1>, 'dynamic': <SNodeType.dynamic: 2>, 'pointer': <SNodeType.pointer: 3>, 'bitmasked': <SNodeType.bitmasked: 4>, 'hash': <SNodeType.hash: 5>, 'place': <SNodeType.place: 6>, 'bit_struct': <SNodeType.bit_struct: 7>, 'quant_array': <SNodeType.quant_array: 8>, 'undefined': <SNodeType.undefined: 9>}
1832
+ bit_struct: typing.ClassVar[SNodeType] # value = <SNodeType.bit_struct: 7>
1833
+ bitmasked: typing.ClassVar[SNodeType] # value = <SNodeType.bitmasked: 4>
1834
+ dense: typing.ClassVar[SNodeType] # value = <SNodeType.dense: 1>
1835
+ dynamic: typing.ClassVar[SNodeType] # value = <SNodeType.dynamic: 2>
1836
+ hash: typing.ClassVar[SNodeType] # value = <SNodeType.hash: 5>
1837
+ place: typing.ClassVar[SNodeType] # value = <SNodeType.place: 6>
1838
+ pointer: typing.ClassVar[SNodeType] # value = <SNodeType.pointer: 3>
1839
+ quant_array: typing.ClassVar[SNodeType] # value = <SNodeType.quant_array: 8>
1840
+ root: typing.ClassVar[SNodeType] # value = <SNodeType.root: 0>
1841
+ undefined: typing.ClassVar[SNodeType] # value = <SNodeType.undefined: 9>
1842
+ def __eq__(self, other: typing.Any) -> bool:
1843
+ ...
1844
+ def __ge__(self, other: typing.Any) -> bool:
1845
+ ...
1846
+ def __getstate__(self) -> int:
1847
+ ...
1848
+ def __gt__(self, other: typing.Any) -> bool:
1849
+ ...
1850
+ def __hash__(self) -> int:
1851
+ ...
1852
+ def __index__(self) -> int:
1853
+ ...
1854
+ def __init__(self, value: int) -> None:
1855
+ ...
1856
+ def __int__(self) -> int:
1857
+ ...
1858
+ def __le__(self, other: typing.Any) -> bool:
1859
+ ...
1860
+ def __lt__(self, other: typing.Any) -> bool:
1861
+ ...
1862
+ def __ne__(self, other: typing.Any) -> bool:
1863
+ ...
1864
+ def __repr__(self) -> str:
1865
+ ...
1866
+ def __setstate__(self, state: int) -> None:
1867
+ ...
1868
+ def __str__(self) -> str:
1869
+ ...
1870
+ @property
1871
+ def name(self) -> str:
1872
+ ...
1873
+ @property
1874
+ def value(self) -> int:
1875
+ ...
1876
+ class SparseMatrix:
1877
+ @typing.overload
1878
+ def __init__(self) -> None:
1879
+ ...
1880
+ @typing.overload
1881
+ def __init__(self, rows: int, cols: int, dt: DataTypeCxx = ...) -> None:
1882
+ ...
1883
+ @typing.overload
1884
+ def __init__(self, arg0: SparseMatrix) -> None:
1885
+ ...
1886
+ def get_data_type(self) -> DataTypeCxx:
1887
+ ...
1888
+ def get_element(self, arg0: int, arg1: int) -> float:
1889
+ ...
1890
+ def mmwrite(self, arg0: str) -> None:
1891
+ ...
1892
+ def num_cols(self) -> int:
1893
+ ...
1894
+ def num_rows(self) -> int:
1895
+ ...
1896
+ def set_element(self, arg0: int, arg1: int, arg2: float) -> None:
1897
+ ...
1898
+ def to_string(self) -> str:
1899
+ ...
1900
+ class SparseMatrixBuilder:
1901
+ def __init__(self, rows: int, cols: int, max_num_triplets: int, dt: DataTypeCxx = ..., storage_format: str = 'col_major') -> None:
1902
+ ...
1903
+ def build(self) -> ...:
1904
+ ...
1905
+ def build_cuda(self) -> ...:
1906
+ ...
1907
+ def create_ndarray(self, arg0: Program) -> None:
1908
+ ...
1909
+ def delete_ndarray(self, arg0: Program) -> None:
1910
+ ...
1911
+ def get_addr(self) -> int:
1912
+ ...
1913
+ def get_ndarray_data_ptr(self) -> int:
1914
+ ...
1915
+ def print_triplets_cuda(self) -> None:
1916
+ ...
1917
+ def print_triplets_eigen(self) -> None:
1918
+ ...
1919
+ class SparseSolver:
1920
+ def analyze_pattern(self, arg0: SparseMatrix) -> None:
1921
+ ...
1922
+ def compute(self, arg0: SparseMatrix) -> bool:
1923
+ ...
1924
+ def factorize(self, arg0: SparseMatrix) -> None:
1925
+ ...
1926
+ def info(self) -> bool:
1927
+ ...
1928
+ class Stmt:
1929
+ pass
1930
+ class Task:
1931
+ def initialize(self, arg0: Config) -> None:
1932
+ ...
1933
+ def run(self, arg0: list[str]) -> str:
1934
+ ...
1935
+ class TextureCxx:
1936
+ def device_allocation_ptr(self) -> int:
1937
+ ...
1938
+ def from_ndarray(self, arg0: NdarrayCxx) -> None:
1939
+ ...
1940
+ def from_snode(self, arg0: SNodeCxx) -> None:
1941
+ ...
1942
+ class TextureOpType:
1943
+ """
1944
+ Members:
1945
+
1946
+ kUndefined
1947
+
1948
+ kSampleLod
1949
+
1950
+ kFetchTexel
1951
+
1952
+ kLoad
1953
+
1954
+ kStore
1955
+ """
1956
+ __members__: typing.ClassVar[dict[str, TextureOpType]] # value = {'kUndefined': <TextureOpType.kUndefined: 0>, 'kSampleLod': <TextureOpType.kSampleLod: 1>, 'kFetchTexel': <TextureOpType.kFetchTexel: 2>, 'kLoad': <TextureOpType.kLoad: 3>, 'kStore': <TextureOpType.kStore: 4>}
1957
+ kFetchTexel: typing.ClassVar[TextureOpType] # value = <TextureOpType.kFetchTexel: 2>
1958
+ kLoad: typing.ClassVar[TextureOpType] # value = <TextureOpType.kLoad: 3>
1959
+ kSampleLod: typing.ClassVar[TextureOpType] # value = <TextureOpType.kSampleLod: 1>
1960
+ kStore: typing.ClassVar[TextureOpType] # value = <TextureOpType.kStore: 4>
1961
+ kUndefined: typing.ClassVar[TextureOpType] # value = <TextureOpType.kUndefined: 0>
1962
+ def __eq__(self, other: typing.Any) -> bool:
1963
+ ...
1964
+ def __ge__(self, other: typing.Any) -> bool:
1965
+ ...
1966
+ def __getstate__(self) -> int:
1967
+ ...
1968
+ def __gt__(self, other: typing.Any) -> bool:
1969
+ ...
1970
+ def __hash__(self) -> int:
1971
+ ...
1972
+ def __index__(self) -> int:
1973
+ ...
1974
+ def __init__(self, value: int) -> None:
1975
+ ...
1976
+ def __int__(self) -> int:
1977
+ ...
1978
+ def __le__(self, other: typing.Any) -> bool:
1979
+ ...
1980
+ def __lt__(self, other: typing.Any) -> bool:
1981
+ ...
1982
+ def __ne__(self, other: typing.Any) -> bool:
1983
+ ...
1984
+ def __repr__(self) -> str:
1985
+ ...
1986
+ def __setstate__(self, state: int) -> None:
1987
+ ...
1988
+ def __str__(self) -> str:
1989
+ ...
1990
+ @property
1991
+ def name(self) -> str:
1992
+ ...
1993
+ @property
1994
+ def value(self) -> int:
1995
+ ...
1996
+ class Type:
1997
+ def to_string(self) -> str:
1998
+ ...
1999
+ class TypeFactory:
2000
+ def get_ndarray_struct_type(self, dt: DataTypeCxx, ndim: int, needs_grad: bool) -> Type:
2001
+ ...
2002
+ def get_quant_fixed_type(self, digits_type: Type, compute_type: Type, scale: float) -> Type:
2003
+ ...
2004
+ def get_quant_float_type(self, digits_type: Type, exponent_type: Type, compute_type: Type) -> Type:
2005
+ ...
2006
+ def get_quant_int_type(self, num_bits: int, is_signed: bool, compute_type: Type) -> Type:
2007
+ ...
2008
+ def get_rwtexture_struct_type(self) -> Type:
2009
+ ...
2010
+ def get_struct_type(self, arg0: list[tuple[DataTypeCxx, str]]) -> DataTypeCxx:
2011
+ ...
2012
+ def get_tensor_type(self, shape: tuple[int, ...], element_type: DataType) -> DataTypeCxx:
2013
+ ...
2014
+ class UnaryOpType:
2015
+ """
2016
+ Members:
2017
+
2018
+ neg
2019
+
2020
+ sqrt
2021
+
2022
+ round
2023
+
2024
+ floor
2025
+
2026
+ frexp
2027
+
2028
+ ceil
2029
+
2030
+ cast_value
2031
+
2032
+ cast_bits
2033
+
2034
+ abs
2035
+
2036
+ sgn
2037
+
2038
+ sin
2039
+
2040
+ asin
2041
+
2042
+ cos
2043
+
2044
+ acos
2045
+
2046
+ tan
2047
+
2048
+ tanh
2049
+
2050
+ inv
2051
+
2052
+ rcp
2053
+
2054
+ exp
2055
+
2056
+ log
2057
+
2058
+ popcnt
2059
+
2060
+ clz
2061
+
2062
+ rsqrt
2063
+
2064
+ bit_not
2065
+
2066
+ logic_not
2067
+
2068
+ undefined
2069
+ """
2070
+ __members__: typing.ClassVar[dict[str, UnaryOpType]] # value = {'neg': <UnaryOpType.neg: 0>, 'sqrt': <UnaryOpType.sqrt: 1>, 'round': <UnaryOpType.round: 2>, 'floor': <UnaryOpType.floor: 3>, 'frexp': <UnaryOpType.frexp: 4>, 'ceil': <UnaryOpType.ceil: 5>, 'cast_value': <UnaryOpType.cast_value: 6>, 'cast_bits': <UnaryOpType.cast_bits: 7>, 'abs': <UnaryOpType.abs: 8>, 'sgn': <UnaryOpType.sgn: 9>, 'sin': <UnaryOpType.sin: 10>, 'asin': <UnaryOpType.asin: 11>, 'cos': <UnaryOpType.cos: 12>, 'acos': <UnaryOpType.acos: 13>, 'tan': <UnaryOpType.tan: 14>, 'tanh': <UnaryOpType.tanh: 15>, 'inv': <UnaryOpType.inv: 16>, 'rcp': <UnaryOpType.rcp: 17>, 'exp': <UnaryOpType.exp: 18>, 'log': <UnaryOpType.log: 19>, 'popcnt': <UnaryOpType.popcnt: 20>, 'clz': <UnaryOpType.clz: 21>, 'rsqrt': <UnaryOpType.rsqrt: 22>, 'bit_not': <UnaryOpType.bit_not: 23>, 'logic_not': <UnaryOpType.logic_not: 24>, 'undefined': <UnaryOpType.undefined: 25>}
2071
+ abs: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.abs: 8>
2072
+ acos: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.acos: 13>
2073
+ asin: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.asin: 11>
2074
+ bit_not: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.bit_not: 23>
2075
+ cast_bits: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.cast_bits: 7>
2076
+ cast_value: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.cast_value: 6>
2077
+ ceil: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.ceil: 5>
2078
+ clz: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.clz: 21>
2079
+ cos: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.cos: 12>
2080
+ exp: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.exp: 18>
2081
+ floor: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.floor: 3>
2082
+ frexp: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.frexp: 4>
2083
+ inv: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.inv: 16>
2084
+ log: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.log: 19>
2085
+ logic_not: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.logic_not: 24>
2086
+ neg: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.neg: 0>
2087
+ popcnt: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.popcnt: 20>
2088
+ rcp: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.rcp: 17>
2089
+ round: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.round: 2>
2090
+ rsqrt: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.rsqrt: 22>
2091
+ sgn: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.sgn: 9>
2092
+ sin: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.sin: 10>
2093
+ sqrt: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.sqrt: 1>
2094
+ tan: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.tan: 14>
2095
+ tanh: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.tanh: 15>
2096
+ undefined: typing.ClassVar[UnaryOpType] # value = <UnaryOpType.undefined: 25>
2097
+ def __eq__(self, other: typing.Any) -> bool:
2098
+ ...
2099
+ def __ge__(self, other: typing.Any) -> bool:
2100
+ ...
2101
+ def __getstate__(self) -> int:
2102
+ ...
2103
+ def __gt__(self, other: typing.Any) -> bool:
2104
+ ...
2105
+ def __hash__(self) -> int:
2106
+ ...
2107
+ def __index__(self) -> int:
2108
+ ...
2109
+ def __init__(self, value: int) -> None:
2110
+ ...
2111
+ def __int__(self) -> int:
2112
+ ...
2113
+ def __le__(self, other: typing.Any) -> bool:
2114
+ ...
2115
+ def __lt__(self, other: typing.Any) -> bool:
2116
+ ...
2117
+ def __ne__(self, other: typing.Any) -> bool:
2118
+ ...
2119
+ def __repr__(self) -> str:
2120
+ ...
2121
+ def __setstate__(self, state: int) -> None:
2122
+ ...
2123
+ def __str__(self) -> str:
2124
+ ...
2125
+ @property
2126
+ def name(self) -> str:
2127
+ ...
2128
+ @property
2129
+ def value(self) -> int:
2130
+ ...
2131
+ class Vector2d:
2132
+ x: float
2133
+ y: float
2134
+ def __getitem__(self, arg0: int) -> float:
2135
+ ...
2136
+ @typing.overload
2137
+ def __init__(self, arg0: float, arg1: float) -> None:
2138
+ ...
2139
+ @typing.overload
2140
+ def __init__(self, arg0: float) -> None:
2141
+ ...
2142
+ def __len__(self) -> int:
2143
+ ...
2144
+ class Vector2f:
2145
+ x: float
2146
+ y: float
2147
+ def __getitem__(self, arg0: int) -> float:
2148
+ ...
2149
+ @typing.overload
2150
+ def __init__(self, arg0: float, arg1: float) -> None:
2151
+ ...
2152
+ @typing.overload
2153
+ def __init__(self, arg0: float) -> None:
2154
+ ...
2155
+ def __len__(self) -> int:
2156
+ ...
2157
+ class Vector2i:
2158
+ x: int
2159
+ y: int
2160
+ def __getitem__(self, arg0: int) -> int:
2161
+ ...
2162
+ @typing.overload
2163
+ def __init__(self, arg0: int, arg1: int) -> None:
2164
+ ...
2165
+ @typing.overload
2166
+ def __init__(self, arg0: int) -> None:
2167
+ ...
2168
+ def __len__(self) -> int:
2169
+ ...
2170
+ class Vector3d:
2171
+ x: float
2172
+ y: float
2173
+ z: float
2174
+ def __getitem__(self, arg0: int) -> float:
2175
+ ...
2176
+ @typing.overload
2177
+ def __init__(self, arg0: float, arg1: float, arg2: float) -> None:
2178
+ ...
2179
+ @typing.overload
2180
+ def __init__(self, arg0: float) -> None:
2181
+ ...
2182
+ def __len__(self) -> int:
2183
+ ...
2184
+ class Vector3f:
2185
+ x: float
2186
+ y: float
2187
+ z: float
2188
+ def __getitem__(self, arg0: int) -> float:
2189
+ ...
2190
+ @typing.overload
2191
+ def __init__(self, arg0: float, arg1: float, arg2: float) -> None:
2192
+ ...
2193
+ @typing.overload
2194
+ def __init__(self, arg0: float) -> None:
2195
+ ...
2196
+ def __len__(self) -> int:
2197
+ ...
2198
+ class Vector3i:
2199
+ x: int
2200
+ y: int
2201
+ z: int
2202
+ def __getitem__(self, arg0: int) -> int:
2203
+ ...
2204
+ @typing.overload
2205
+ def __init__(self, arg0: int, arg1: int, arg2: int) -> None:
2206
+ ...
2207
+ @typing.overload
2208
+ def __init__(self, arg0: int) -> None:
2209
+ ...
2210
+ def __len__(self) -> int:
2211
+ ...
2212
+ class Vector4d:
2213
+ w: float
2214
+ x: float
2215
+ y: float
2216
+ z: float
2217
+ def __getitem__(self, arg0: int) -> float:
2218
+ ...
2219
+ @typing.overload
2220
+ def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float) -> None:
2221
+ ...
2222
+ @typing.overload
2223
+ def __init__(self, arg0: float) -> None:
2224
+ ...
2225
+ def __len__(self) -> int:
2226
+ ...
2227
+ class Vector4f:
2228
+ w: float
2229
+ x: float
2230
+ y: float
2231
+ z: float
2232
+ def __getitem__(self, arg0: int) -> float:
2233
+ ...
2234
+ @typing.overload
2235
+ def __init__(self, arg0: float, arg1: float, arg2: float, arg3: float) -> None:
2236
+ ...
2237
+ @typing.overload
2238
+ def __init__(self, arg0: float) -> None:
2239
+ ...
2240
+ def __len__(self) -> int:
2241
+ ...
2242
+ class Vector4i:
2243
+ w: int
2244
+ x: int
2245
+ y: int
2246
+ z: int
2247
+ def __getitem__(self, arg0: int) -> int:
2248
+ ...
2249
+ @typing.overload
2250
+ def __init__(self, arg0: int, arg1: int, arg2: int, arg3: int) -> None:
2251
+ ...
2252
+ @typing.overload
2253
+ def __init__(self, arg0: int) -> None:
2254
+ ...
2255
+ def __len__(self) -> int:
2256
+ ...
2257
+ class dColMajor_EigenSparseMatrix(SparseMatrix):
2258
+ def __add__(self, arg0: dColMajor_EigenSparseMatrix) -> dColMajor_EigenSparseMatrix:
2259
+ ...
2260
+ def __iadd__(self, arg0: dColMajor_EigenSparseMatrix) -> dColMajor_EigenSparseMatrix:
2261
+ ...
2262
+ def __imul__(self, arg0: float) -> dColMajor_EigenSparseMatrix:
2263
+ ...
2264
+ @typing.overload
2265
+ def __init__(self, arg0: int, arg1: int, arg2: DataTypeCxx) -> None:
2266
+ ...
2267
+ @typing.overload
2268
+ def __init__(self, arg0: dColMajor_EigenSparseMatrix) -> None:
2269
+ ...
2270
+ @typing.overload
2271
+ def __init__(self, arg0: scipy.sparse.csc_matrix) -> None:
2272
+ ...
2273
+ def __isub__(self, arg0: dColMajor_EigenSparseMatrix) -> dColMajor_EigenSparseMatrix:
2274
+ ...
2275
+ @typing.overload
2276
+ def __mul__(self, arg0: float) -> dColMajor_EigenSparseMatrix:
2277
+ ...
2278
+ @typing.overload
2279
+ def __mul__(self, arg0: dColMajor_EigenSparseMatrix) -> dColMajor_EigenSparseMatrix:
2280
+ ...
2281
+ def __rmul__(self, arg0: float) -> dColMajor_EigenSparseMatrix:
2282
+ ...
2283
+ def __sub__(self, arg0: dColMajor_EigenSparseMatrix) -> dColMajor_EigenSparseMatrix:
2284
+ ...
2285
+ def get_element(self, arg0: int, arg1: int) -> float:
2286
+ ...
2287
+ def mat_vec_mul(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> numpy.ndarray[numpy.float64[m, 1]]:
2288
+ ...
2289
+ def matmul(self, arg0: dColMajor_EigenSparseMatrix) -> dColMajor_EigenSparseMatrix:
2290
+ ...
2291
+ def set_element(self, arg0: int, arg1: int, arg2: float) -> None:
2292
+ ...
2293
+ def spmv(self, arg0: Program, arg1: NdarrayCxx, arg2: NdarrayCxx) -> None:
2294
+ ...
2295
+ def transpose(self) -> dColMajor_EigenSparseMatrix:
2296
+ ...
2297
+ class dRowMajor_EigenSparseMatrix(SparseMatrix):
2298
+ def __add__(self, arg0: dRowMajor_EigenSparseMatrix) -> dRowMajor_EigenSparseMatrix:
2299
+ ...
2300
+ def __iadd__(self, arg0: dRowMajor_EigenSparseMatrix) -> dRowMajor_EigenSparseMatrix:
2301
+ ...
2302
+ def __imul__(self, arg0: float) -> dRowMajor_EigenSparseMatrix:
2303
+ ...
2304
+ @typing.overload
2305
+ def __init__(self, arg0: int, arg1: int, arg2: DataTypeCxx) -> None:
2306
+ ...
2307
+ @typing.overload
2308
+ def __init__(self, arg0: dRowMajor_EigenSparseMatrix) -> None:
2309
+ ...
2310
+ @typing.overload
2311
+ def __init__(self, arg0: scipy.sparse.csr_matrix) -> None:
2312
+ ...
2313
+ def __isub__(self, arg0: dRowMajor_EigenSparseMatrix) -> dRowMajor_EigenSparseMatrix:
2314
+ ...
2315
+ @typing.overload
2316
+ def __mul__(self, arg0: float) -> dRowMajor_EigenSparseMatrix:
2317
+ ...
2318
+ @typing.overload
2319
+ def __mul__(self, arg0: dRowMajor_EigenSparseMatrix) -> dRowMajor_EigenSparseMatrix:
2320
+ ...
2321
+ def __rmul__(self, arg0: float) -> dRowMajor_EigenSparseMatrix:
2322
+ ...
2323
+ def __sub__(self, arg0: dRowMajor_EigenSparseMatrix) -> dRowMajor_EigenSparseMatrix:
2324
+ ...
2325
+ def get_element(self, arg0: int, arg1: int) -> float:
2326
+ ...
2327
+ def mat_vec_mul(self, arg0: numpy.ndarray[numpy.float64[m, 1]]) -> numpy.ndarray[numpy.float64[m, 1]]:
2328
+ ...
2329
+ def matmul(self, arg0: dRowMajor_EigenSparseMatrix) -> dRowMajor_EigenSparseMatrix:
2330
+ ...
2331
+ def set_element(self, arg0: int, arg1: int, arg2: float) -> None:
2332
+ ...
2333
+ def spmv(self, arg0: Program, arg1: NdarrayCxx, arg2: NdarrayCxx) -> None:
2334
+ ...
2335
+ def transpose(self) -> dRowMajor_EigenSparseMatrix:
2336
+ ...
2337
+ class fColMajor_EigenSparseMatrix(SparseMatrix):
2338
+ def __add__(self, arg0: fColMajor_EigenSparseMatrix) -> fColMajor_EigenSparseMatrix:
2339
+ ...
2340
+ def __iadd__(self, arg0: fColMajor_EigenSparseMatrix) -> fColMajor_EigenSparseMatrix:
2341
+ ...
2342
+ def __imul__(self, arg0: float) -> fColMajor_EigenSparseMatrix:
2343
+ ...
2344
+ @typing.overload
2345
+ def __init__(self, arg0: int, arg1: int, arg2: DataTypeCxx) -> None:
2346
+ ...
2347
+ @typing.overload
2348
+ def __init__(self, arg0: fColMajor_EigenSparseMatrix) -> None:
2349
+ ...
2350
+ @typing.overload
2351
+ def __init__(self, arg0: scipy.sparse.csc_matrix) -> None:
2352
+ ...
2353
+ def __isub__(self, arg0: fColMajor_EigenSparseMatrix) -> fColMajor_EigenSparseMatrix:
2354
+ ...
2355
+ @typing.overload
2356
+ def __mul__(self, arg0: float) -> fColMajor_EigenSparseMatrix:
2357
+ ...
2358
+ @typing.overload
2359
+ def __mul__(self, arg0: fColMajor_EigenSparseMatrix) -> fColMajor_EigenSparseMatrix:
2360
+ ...
2361
+ def __rmul__(self, arg0: float) -> fColMajor_EigenSparseMatrix:
2362
+ ...
2363
+ def __sub__(self, arg0: fColMajor_EigenSparseMatrix) -> fColMajor_EigenSparseMatrix:
2364
+ ...
2365
+ def get_element(self, arg0: int, arg1: int) -> float:
2366
+ ...
2367
+ def mat_vec_mul(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> numpy.ndarray[numpy.float32[m, 1]]:
2368
+ ...
2369
+ def matmul(self, arg0: fColMajor_EigenSparseMatrix) -> fColMajor_EigenSparseMatrix:
2370
+ ...
2371
+ def set_element(self, arg0: int, arg1: int, arg2: float) -> None:
2372
+ ...
2373
+ def spmv(self, arg0: Program, arg1: NdarrayCxx, arg2: NdarrayCxx) -> None:
2374
+ ...
2375
+ def transpose(self) -> fColMajor_EigenSparseMatrix:
2376
+ ...
2377
+ class fRowMajor_EigenSparseMatrix(SparseMatrix):
2378
+ def __add__(self, arg0: fRowMajor_EigenSparseMatrix) -> fRowMajor_EigenSparseMatrix:
2379
+ ...
2380
+ def __iadd__(self, arg0: fRowMajor_EigenSparseMatrix) -> fRowMajor_EigenSparseMatrix:
2381
+ ...
2382
+ def __imul__(self, arg0: float) -> fRowMajor_EigenSparseMatrix:
2383
+ ...
2384
+ @typing.overload
2385
+ def __init__(self, arg0: int, arg1: int, arg2: DataTypeCxx) -> None:
2386
+ ...
2387
+ @typing.overload
2388
+ def __init__(self, arg0: fRowMajor_EigenSparseMatrix) -> None:
2389
+ ...
2390
+ @typing.overload
2391
+ def __init__(self, arg0: scipy.sparse.csr_matrix) -> None:
2392
+ ...
2393
+ def __isub__(self, arg0: fRowMajor_EigenSparseMatrix) -> fRowMajor_EigenSparseMatrix:
2394
+ ...
2395
+ @typing.overload
2396
+ def __mul__(self, arg0: float) -> fRowMajor_EigenSparseMatrix:
2397
+ ...
2398
+ @typing.overload
2399
+ def __mul__(self, arg0: fRowMajor_EigenSparseMatrix) -> fRowMajor_EigenSparseMatrix:
2400
+ ...
2401
+ def __rmul__(self, arg0: float) -> fRowMajor_EigenSparseMatrix:
2402
+ ...
2403
+ def __sub__(self, arg0: fRowMajor_EigenSparseMatrix) -> fRowMajor_EigenSparseMatrix:
2404
+ ...
2405
+ def get_element(self, arg0: int, arg1: int) -> float:
2406
+ ...
2407
+ def mat_vec_mul(self, arg0: numpy.ndarray[numpy.float32[m, 1]]) -> numpy.ndarray[numpy.float32[m, 1]]:
2408
+ ...
2409
+ def matmul(self, arg0: fRowMajor_EigenSparseMatrix) -> fRowMajor_EigenSparseMatrix:
2410
+ ...
2411
+ def set_element(self, arg0: int, arg1: int, arg2: float) -> None:
2412
+ ...
2413
+ def spmv(self, arg0: Program, arg1: NdarrayCxx, arg2: NdarrayCxx) -> None:
2414
+ ...
2415
+ def transpose(self) -> fRowMajor_EigenSparseMatrix:
2416
+ ...
2417
+ def arch_from_name(arg0: str) -> Arch:
2418
+ ...
2419
+ def arch_name(arg0: Arch) -> str:
2420
+ ...
2421
+ def arch_uses_llvm(arg0: Arch) -> bool:
2422
+ ...
2423
+ def bits_cast(arg0: ExprCxx, arg1: DataTypeCxx) -> ExprCxx:
2424
+ ...
2425
+ def clear_profile_info() -> None:
2426
+ ...
2427
+ def create_benchmark(arg0: str) -> ...:
2428
+ ...
2429
+ def create_initialized_benchmark(arg0: str, arg1: ...) -> ...:
2430
+ ...
2431
+ def create_initialized_task(arg0: str, arg1: ...) -> ...:
2432
+ ...
2433
+ def create_mesh() -> MeshPtr:
2434
+ ...
2435
+ def create_task(arg0: str) -> ...:
2436
+ ...
2437
+ def critical(arg0: str) -> None:
2438
+ ...
2439
+ def cuda_version() -> str:
2440
+ ...
2441
+ def data_type_name(arg0: DataTypeCxx) -> str:
2442
+ ...
2443
+ def data_type_size(arg0: DataTypeCxx) -> int:
2444
+ ...
2445
+ def debug(arg0: str) -> None:
2446
+ ...
2447
+ def default_compile_config() -> CompileConfig:
2448
+ ...
2449
+ def element_order(arg0: MeshElementType) -> int:
2450
+ ...
2451
+ def element_type_name(arg0: MeshElementType) -> str:
2452
+ ...
2453
+ def error(arg0: str) -> None:
2454
+ ...
2455
+ def expr_abs(arg0: ExprCxx) -> ExprCxx:
2456
+ ...
2457
+ def expr_acos(arg0: ExprCxx) -> ExprCxx:
2458
+ ...
2459
+ def expr_add(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2460
+ ...
2461
+ def expr_asin(arg0: ExprCxx) -> ExprCxx:
2462
+ ...
2463
+ def expr_assume_in_range(arg0: ExprCxx, arg1: ExprCxx, arg2: int, arg3: int, arg4: DebugInfo) -> ExprCxx:
2464
+ ...
2465
+ def expr_atan2(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2466
+ ...
2467
+ def expr_atomic_add(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2468
+ ...
2469
+ def expr_atomic_bit_and(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2470
+ ...
2471
+ def expr_atomic_bit_or(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2472
+ ...
2473
+ def expr_atomic_bit_xor(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2474
+ ...
2475
+ def expr_atomic_max(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2476
+ ...
2477
+ def expr_atomic_min(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2478
+ ...
2479
+ def expr_atomic_mul(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2480
+ ...
2481
+ def expr_atomic_sub(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2482
+ ...
2483
+ def expr_bit_and(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2484
+ ...
2485
+ def expr_bit_not(arg0: ExprCxx) -> ExprCxx:
2486
+ ...
2487
+ def expr_bit_or(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2488
+ ...
2489
+ def expr_bit_sar(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2490
+ ...
2491
+ def expr_bit_shl(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2492
+ ...
2493
+ def expr_bit_shr(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2494
+ ...
2495
+ def expr_bit_xor(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2496
+ ...
2497
+ def expr_ceil(arg0: ExprCxx) -> ExprCxx:
2498
+ ...
2499
+ def expr_clz(arg0: ExprCxx) -> ExprCxx:
2500
+ ...
2501
+ def expr_cmp_eq(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2502
+ ...
2503
+ def expr_cmp_ge(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2504
+ ...
2505
+ def expr_cmp_gt(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2506
+ ...
2507
+ def expr_cmp_le(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2508
+ ...
2509
+ def expr_cmp_lt(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2510
+ ...
2511
+ def expr_cmp_ne(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2512
+ ...
2513
+ def expr_cos(arg0: ExprCxx) -> ExprCxx:
2514
+ ...
2515
+ def expr_div(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2516
+ ...
2517
+ def expr_exp(arg0: ExprCxx) -> ExprCxx:
2518
+ ...
2519
+ def expr_field(arg0: ExprCxx, arg1: DataTypeCxx) -> ExprCxx:
2520
+ ...
2521
+ def expr_floor(arg0: ExprCxx) -> ExprCxx:
2522
+ ...
2523
+ def expr_floordiv(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2524
+ ...
2525
+ def expr_frexp(arg0: ExprCxx) -> ExprCxx:
2526
+ ...
2527
+ def expr_ifte(arg0: ExprCxx, arg1: ExprCxx, arg2: ExprCxx) -> ExprCxx:
2528
+ ...
2529
+ def expr_inv(arg0: ExprCxx) -> ExprCxx:
2530
+ ...
2531
+ def expr_log(arg0: ExprCxx) -> ExprCxx:
2532
+ ...
2533
+ def expr_logic_not(arg0: ExprCxx) -> ExprCxx:
2534
+ ...
2535
+ def expr_logical_and(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2536
+ ...
2537
+ def expr_logical_or(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2538
+ ...
2539
+ def expr_loop_unique(arg0: ExprCxx, arg1: list[SNodeCxx], arg2: DebugInfo) -> ExprCxx:
2540
+ ...
2541
+ def expr_matrix_field(arg0: list[ExprCxx], arg1: tuple[int, ...]) -> ExprCxx:
2542
+ ...
2543
+ def expr_max(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2544
+ ...
2545
+ def expr_min(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2546
+ ...
2547
+ def expr_mod(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2548
+ ...
2549
+ def expr_mul(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2550
+ ...
2551
+ def expr_neg(arg0: ExprCxx) -> ExprCxx:
2552
+ ...
2553
+ def expr_popcnt(arg0: ExprCxx) -> ExprCxx:
2554
+ ...
2555
+ def expr_pow(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2556
+ ...
2557
+ def expr_rcp(arg0: ExprCxx) -> ExprCxx:
2558
+ ...
2559
+ def expr_round(arg0: ExprCxx) -> ExprCxx:
2560
+ ...
2561
+ def expr_rsqrt(arg0: ExprCxx) -> ExprCxx:
2562
+ ...
2563
+ def expr_select(arg0: ExprCxx, arg1: ExprCxx, arg2: ExprCxx) -> ExprCxx:
2564
+ ...
2565
+ def expr_sin(arg0: ExprCxx) -> ExprCxx:
2566
+ ...
2567
+ def expr_sqrt(arg0: ExprCxx) -> ExprCxx:
2568
+ ...
2569
+ def expr_sub(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2570
+ ...
2571
+ def expr_tan(arg0: ExprCxx) -> ExprCxx:
2572
+ ...
2573
+ def expr_tanh(arg0: ExprCxx) -> ExprCxx:
2574
+ ...
2575
+ def expr_truediv(arg0: ExprCxx, arg1: ExprCxx) -> ExprCxx:
2576
+ ...
2577
+ def finalize_snode_tree(arg0: SNodeRegistry, arg1: SNodeCxx, arg2: Program, arg3: bool) -> SNodeTreeCxx:
2578
+ ...
2579
+ def flush_log() -> None:
2580
+ ...
2581
+ def from_end_element_order(arg0: MeshRelationType) -> int:
2582
+ ...
2583
+ def get_commit_hash() -> str:
2584
+ ...
2585
+ def get_default_float_size() -> int:
2586
+ ...
2587
+ def get_external_tensor_dim(arg0: ExprCxx) -> int:
2588
+ ...
2589
+ def get_external_tensor_element_dim(arg0: ExprCxx) -> int:
2590
+ ...
2591
+ def get_external_tensor_element_shape(arg0: ExprCxx) -> tuple[int, ...]:
2592
+ ...
2593
+ def get_external_tensor_element_type(arg0: ExprCxx) -> DataTypeCxx:
2594
+ ...
2595
+ def get_external_tensor_needs_grad(arg0: ExprCxx) -> bool:
2596
+ ...
2597
+ def get_external_tensor_real_func_args(arg0: ExprCxx, arg1: DebugInfo) -> list[ExprCxx]:
2598
+ ...
2599
+ def get_external_tensor_shape_along_axis(arg0: ExprCxx, arg1: int, arg2: DebugInfo) -> ExprCxx:
2600
+ ...
2601
+ def get_llvm_target_support() -> str:
2602
+ ...
2603
+ def get_max_num_indices() -> int:
2604
+ ...
2605
+ def get_num_elements(arg0: MeshPtr, arg1: MeshElementType) -> int:
2606
+ ...
2607
+ def get_python_package_dir() -> str:
2608
+ ...
2609
+ def get_relation_access(arg0: ..., arg1: ExprCxx, arg2: ..., arg3: ExprCxx, arg4: DebugInfo) -> ExprCxx:
2610
+ ...
2611
+ def get_relation_size(arg0: ..., arg1: ExprCxx, arg2: ..., arg3: DebugInfo) -> ExprCxx:
2612
+ ...
2613
+ def get_repo_dir() -> str:
2614
+ ...
2615
+ def get_type_factory_instance() -> TypeFactory:
2616
+ ...
2617
+ def get_version_major() -> int:
2618
+ ...
2619
+ def get_version_minor() -> int:
2620
+ ...
2621
+ def get_version_patch() -> int:
2622
+ ...
2623
+ def get_version_string() -> str:
2624
+ ...
2625
+ def host_arch() -> Arch:
2626
+ ...
2627
+ def info(arg0: str) -> None:
2628
+ ...
2629
+ def insert_internal_func_call(arg0: ..., arg1: ExprGroup) -> ExprCxx:
2630
+ ...
2631
+ def inverse_relation(arg0: MeshRelationType) -> MeshRelationType:
2632
+ ...
2633
+ def is_extension_supported(arg0: Arch, arg1: Extension) -> bool:
2634
+ ...
2635
+ def is_integral(arg0: DataTypeCxx) -> bool:
2636
+ ...
2637
+ def is_quant(arg0: DataTypeCxx) -> bool:
2638
+ ...
2639
+ def is_real(arg0: DataTypeCxx) -> bool:
2640
+ ...
2641
+ def is_signed(arg0: DataTypeCxx) -> bool:
2642
+ ...
2643
+ def is_tensor(arg0: DataTypeCxx) -> bool:
2644
+ ...
2645
+ def is_unsigned(arg0: DataTypeCxx) -> bool:
2646
+ ...
2647
+ def libdevice_path() -> str:
2648
+ ...
2649
+ def logging_effective(arg0: str) -> bool:
2650
+ ...
2651
+ def make_arg_load_expr(arg_id: tuple[int, ...], dt: DataTypeCxx, is_ptr: bool = False, create_load: bool = True, dbg_info: DebugInfo = ...) -> ExprCxx:
2652
+ ...
2653
+ def make_binary_op_expr(arg0: BinaryOpType, arg1: ExprCxx, arg2: ExprCxx) -> ExprCxx:
2654
+ ...
2655
+ def make_const_expr_bool(arg0: DataType, arg1: bool | np.bool_) -> ExprCxx:
2656
+ ...
2657
+ def make_const_expr_fp(arg0: DataType, arg1: float | np.floating) -> ExprCxx:
2658
+ ...
2659
+ def make_const_expr_int(arg0: DataType, arg1: int | np.int32 | np.int64) -> ExprCxx:
2660
+ ...
2661
+ def make_cucg_solver(arg0: SparseMatrix, arg1: int, arg2: float, arg3: bool) -> CUCG:
2662
+ ...
2663
+ def make_cusparse_solver(arg0: DataTypeCxx, arg1: str, arg2: str) -> SparseSolver:
2664
+ ...
2665
+ def make_double_cg_solver(arg0: SparseMatrix, arg1: int, arg2: float, arg3: bool) -> CGd:
2666
+ ...
2667
+ def make_external_tensor_expr(arg0: DataTypeCxx, arg1: int, arg2: tuple[int, ...], arg3: bool, arg4: BoundaryMode) -> ExprCxx:
2668
+ ...
2669
+ def make_external_tensor_grad_expr(arg0: ExprCxx) -> ExprCxx:
2670
+ ...
2671
+ def make_float_cg_solver(arg0: SparseMatrix, arg1: int, arg2: float, arg3: bool) -> CGf:
2672
+ ...
2673
+ def make_frontend_assign_stmt(arg0: ExprCxx, arg1: ExprCxx, arg2: DebugInfo) -> Stmt:
2674
+ ...
2675
+ def make_get_element_expr(arg0: Expr, arg1: tuple[int, ...], arg2: DebugInfo) -> ExprCxx:
2676
+ ...
2677
+ def make_global_load_stmt(arg0: Stmt) -> Stmt:
2678
+ ...
2679
+ def make_global_store_stmt(arg0: Stmt, arg1: Stmt) -> Stmt:
2680
+ ...
2681
+ def make_rand_expr(arg0: DataTypeCxx, arg1: DebugInfo) -> ExprCxx:
2682
+ ...
2683
+ def make_reference(arg0: ExprCxx, arg1: DebugInfo) -> ExprCxx:
2684
+ ...
2685
+ def make_rw_texture_ptr_expr(arg0: tuple[int, ...], arg1: int, arg2: Format, arg3: int, arg4: DebugInfo) -> ExprCxx:
2686
+ ...
2687
+ def make_sparse_solver(arg0: DataTypeCxx, arg1: str, arg2: str) -> SparseSolver:
2688
+ ...
2689
+ def make_texture_ptr_expr(arg0: tuple[int, ...], arg1: int, arg2: DebugInfo) -> ExprCxx:
2690
+ ...
2691
+ def make_unary_op_expr(arg0: UnaryOpType, arg1: ExprCxx) -> ExprCxx:
2692
+ ...
2693
+ def pop_python_print_buffer() -> str:
2694
+ ...
2695
+ def print_all_units() -> None:
2696
+ ...
2697
+ def print_profile_info() -> None:
2698
+ ...
2699
+ def promoted_type(arg0: DataTypeCxx, arg1: DataTypeCxx) -> DataTypeCxx:
2700
+ ...
2701
+ def query_int64(arg0: str) -> int:
2702
+ ...
2703
+ def relation_by_orders(arg0: int, arg1: int) -> MeshRelationType:
2704
+ ...
2705
+ def reset_default_compile_config() -> None:
2706
+ ...
2707
+ def set_core_state_python_imported(arg0: bool) -> None:
2708
+ ...
2709
+ def set_core_trigger_gdb_when_crash(arg0: bool) -> None:
2710
+ ...
2711
+ def set_index_mapping(arg0: MeshPtr, arg1: MeshElementType, arg2: ConvType, arg3: SNodeCxx) -> None:
2712
+ ...
2713
+ def set_lib_dir(arg0: str) -> None:
2714
+ ...
2715
+ def set_logging_level(arg0: str) -> None:
2716
+ ...
2717
+ def set_logging_level_default() -> None:
2718
+ ...
2719
+ def set_num_elements(arg0: MeshPtr, arg1: MeshElementType, arg2: int) -> None:
2720
+ ...
2721
+ def set_num_patches(arg0: MeshPtr, arg1: int) -> None:
2722
+ ...
2723
+ def set_owned_offset(arg0: MeshPtr, arg1: MeshElementType, arg2: SNodeCxx) -> None:
2724
+ ...
2725
+ def set_patch_max_element_num(arg0: MeshPtr, arg1: MeshElementType, arg2: int) -> None:
2726
+ ...
2727
+ def set_python_package_dir(arg0: str) -> None:
2728
+ ...
2729
+ def set_relation_dynamic(arg0: MeshPtr, arg1: MeshRelationType, arg2: SNodeCxx, arg3: SNodeCxx, arg4: SNodeCxx) -> None:
2730
+ ...
2731
+ def set_relation_fixed(arg0: MeshPtr, arg1: MeshRelationType, arg2: SNodeCxx) -> None:
2732
+ ...
2733
+ def set_tmp_dir(arg0: str) -> None:
2734
+ ...
2735
+ def set_total_offset(arg0: MeshPtr, arg1: MeshElementType, arg2: SNodeCxx) -> None:
2736
+ ...
2737
+ def set_vulkan_visible_device(arg0: str) -> None:
2738
+ ...
2739
+ def start_memory_monitoring(arg0: str, arg1: int, arg2: float) -> None:
2740
+ ...
2741
+ def subscript_with_multiple_indices(arg0: ExprCxx, arg1: list[ExprGroup], arg2: tuple[int, ...], arg3: DebugInfo) -> ExprCxx:
2742
+ ...
2743
+ def test_cpp_exception() -> None:
2744
+ ...
2745
+ def test_logging() -> None:
2746
+ ...
2747
+ def test_printf() -> None:
2748
+ ...
2749
+ def test_raise_error() -> None:
2750
+ ...
2751
+ def test_threading() -> bool:
2752
+ ...
2753
+ @typing.overload
2754
+ def test_throw() -> None:
2755
+ ...
2756
+ @typing.overload
2757
+ def test_throw() -> None:
2758
+ ...
2759
+ def to_end_element_order(arg0: MeshRelationType) -> int:
2760
+ ...
2761
+ def toggle_python_print_buffer(arg0: bool) -> None:
2762
+ ...
2763
+ def trace(arg0: str) -> None:
2764
+ ...
2765
+ def trigger_crash() -> None:
2766
+ ...
2767
+ def trigger_sig_fpe() -> int:
2768
+ ...
2769
+ def value_cast(arg0: ExprCxx, arg1: DataTypeCxx) -> ExprCxx:
2770
+ ...
2771
+ def wait_for_debugger() -> None:
2772
+ ...
2773
+ def warn(arg0: str) -> None:
2774
+ ...
2775
+ def with_amdgpu() -> bool:
2776
+ ...
2777
+ def with_cuda() -> bool:
2778
+ ...
2779
+ def with_metal() -> bool:
2780
+ ...
2781
+ def with_vulkan() -> bool:
2782
+ ...
2783
+ ADJOINT: SNodeGradType # value = <SNodeGradType.ADJOINT: 1>
2784
+ ADJOINT_CHECKBIT: SNodeGradType # value = <SNodeGradType.ADJOINT_CHECKBIT: 3>
2785
+ AOS: Layout # value = <Layout.AOS: 0>
2786
+ CC: MeshRelationType # value = <MeshRelationType.CC: 15>
2787
+ CE: MeshRelationType # value = <MeshRelationType.CE: 13>
2788
+ CF: MeshRelationType # value = <MeshRelationType.CF: 14>
2789
+ CLAMP: BoundaryMode # value = <BoundaryMode.CLAMP: 1>
2790
+ CV: MeshRelationType # value = <MeshRelationType.CV: 12>
2791
+ Cell: MeshElementType # value = <MeshElementType.Cell: 3>
2792
+ DUAL: SNodeGradType # value = <SNodeGradType.DUAL: 2>
2793
+ DataType_f16: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2794
+ DataType_f32: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2795
+ DataType_f64: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2796
+ DataType_gen: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2797
+ DataType_i16: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2798
+ DataType_i32: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2799
+ DataType_i64: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2800
+ DataType_i8: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2801
+ DataType_u1: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2802
+ DataType_u16: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2803
+ DataType_u32: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2804
+ DataType_u64: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2805
+ DataType_u8: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2806
+ DataType_unknown: DataTypeCxx # value = <gstaichi._lib.core.gstaichi_python.DataTypeCxx object>
2807
+ EC: MeshRelationType # value = <MeshRelationType.EC: 7>
2808
+ EE: MeshRelationType # value = <MeshRelationType.EE: 5>
2809
+ EF: MeshRelationType # value = <MeshRelationType.EF: 6>
2810
+ EV: MeshRelationType # value = <MeshRelationType.EV: 4>
2811
+ Edge: MeshElementType # value = <MeshElementType.Edge: 1>
2812
+ FC: MeshRelationType # value = <MeshRelationType.FC: 11>
2813
+ FE: MeshRelationType # value = <MeshRelationType.FE: 9>
2814
+ FF: MeshRelationType # value = <MeshRelationType.FF: 10>
2815
+ FORWARD: AutodiffMode # value = <AutodiffMode.FORWARD: 0>
2816
+ FV: MeshRelationType # value = <MeshRelationType.FV: 8>
2817
+ Face: MeshElementType # value = <MeshElementType.Face: 2>
2818
+ NONE: AutodiffMode # value = <AutodiffMode.NONE: 2>
2819
+ NULL: Layout # value = <Layout.NULL: 2>
2820
+ PRIMAL: SNodeGradType # value = <SNodeGradType.PRIMAL: 0>
2821
+ REVERSE: AutodiffMode # value = <AutodiffMode.REVERSE: 1>
2822
+ SOA: Layout # value = <Layout.SOA: 1>
2823
+ Tetrahedron: MeshTopology # value = <MeshTopology.Tetrahedron: 4>
2824
+ Triangle: MeshTopology # value = <MeshTopology.Triangle: 3>
2825
+ UNSAFE: BoundaryMode # value = <BoundaryMode.UNSAFE: 0>
2826
+ VALIDATION: AutodiffMode # value = <AutodiffMode.VALIDATION: 3>
2827
+ VC: MeshRelationType # value = <MeshRelationType.VC: 3>
2828
+ VE: MeshRelationType # value = <MeshRelationType.VE: 1>
2829
+ VF: MeshRelationType # value = <MeshRelationType.VF: 2>
2830
+ VV: MeshRelationType # value = <MeshRelationType.VV: 0>
2831
+ Vertex: MeshElementType # value = <MeshElementType.Vertex: 0>
2832
+ abs: UnaryOpType # value = <UnaryOpType.abs: 8>
2833
+ acos: UnaryOpType # value = <UnaryOpType.acos: 13>
2834
+ add: BinaryOpType # value = <BinaryOpType.add: 1>
2835
+ adstack: Extension # value = <Extension.adstack: 5>
2836
+ amdgpu: Arch # value = <Arch.amdgpu: 6>
2837
+ arm64: Arch # value = <Arch.arm64: 1>
2838
+ asin: UnaryOpType # value = <UnaryOpType.asin: 11>
2839
+ assertion: Extension # value = <Extension.assertion: 7>
2840
+ atan2: BinaryOpType # value = <BinaryOpType.atan2: 21>
2841
+ bit_and: BinaryOpType # value = <BinaryOpType.bit_and: 9>
2842
+ bit_not: UnaryOpType # value = <UnaryOpType.bit_not: 23>
2843
+ bit_or: BinaryOpType # value = <BinaryOpType.bit_or: 10>
2844
+ bit_sar: BinaryOpType # value = <BinaryOpType.bit_sar: 14>
2845
+ bit_shl: BinaryOpType # value = <BinaryOpType.bit_shl: 12>
2846
+ bit_shr: BinaryOpType # value = <BinaryOpType.bit_shr: 13>
2847
+ bit_struct: SNodeType # value = <SNodeType.bit_struct: 7>
2848
+ bit_xor: BinaryOpType # value = <BinaryOpType.bit_xor: 11>
2849
+ bitmasked: SNodeType # value = <SNodeType.bitmasked: 4>
2850
+ block_local: SNodeAccessFlag # value = <SNodeAccessFlag.block_local: 0>
2851
+ bls: Extension # value = <Extension.bls: 6>
2852
+ cast_bits: UnaryOpType # value = <UnaryOpType.cast_bits: 7>
2853
+ cast_value: UnaryOpType # value = <UnaryOpType.cast_value: 6>
2854
+ ceil: UnaryOpType # value = <UnaryOpType.ceil: 5>
2855
+ clz: UnaryOpType # value = <UnaryOpType.clz: 21>
2856
+ cmp_eq: BinaryOpType # value = <BinaryOpType.cmp_eq: 19>
2857
+ cmp_ge: BinaryOpType # value = <BinaryOpType.cmp_ge: 18>
2858
+ cmp_gt: BinaryOpType # value = <BinaryOpType.cmp_gt: 17>
2859
+ cmp_le: BinaryOpType # value = <BinaryOpType.cmp_le: 16>
2860
+ cmp_lt: BinaryOpType # value = <BinaryOpType.cmp_lt: 15>
2861
+ cmp_ne: BinaryOpType # value = <BinaryOpType.cmp_ne: 20>
2862
+ cos: UnaryOpType # value = <UnaryOpType.cos: 12>
2863
+ cuda: Arch # value = <Arch.cuda: 3>
2864
+ data64: Extension # value = <Extension.data64: 4>
2865
+ dense: SNodeType # value = <SNodeType.dense: 1>
2866
+ div: BinaryOpType # value = <BinaryOpType.div: 5>
2867
+ dynamic: SNodeType # value = <SNodeType.dynamic: 2>
2868
+ exp: UnaryOpType # value = <UnaryOpType.exp: 18>
2869
+ extfunc: Extension # value = <Extension.extfunc: 8>
2870
+ floor: UnaryOpType # value = <UnaryOpType.floor: 3>
2871
+ floordiv: BinaryOpType # value = <BinaryOpType.floordiv: 4>
2872
+ frexp: UnaryOpType # value = <UnaryOpType.frexp: 4>
2873
+ g2r: ConvType # value = <ConvType.g2r: 2>
2874
+ hash: SNodeType # value = <SNodeType.hash: 5>
2875
+ inv: UnaryOpType # value = <UnaryOpType.inv: 16>
2876
+ js: Arch # value = <Arch.js: 2>
2877
+ kFetchTexel: TextureOpType # value = <TextureOpType.kFetchTexel: 2>
2878
+ kLoad: TextureOpType # value = <TextureOpType.kLoad: 3>
2879
+ kSampleLod: TextureOpType # value = <TextureOpType.kSampleLod: 1>
2880
+ kStore: TextureOpType # value = <TextureOpType.kStore: 4>
2881
+ kUndefined: TextureOpType # value = <TextureOpType.kUndefined: 0>
2882
+ l2g: ConvType # value = <ConvType.l2g: 0>
2883
+ l2r: ConvType # value = <ConvType.l2r: 1>
2884
+ log: UnaryOpType # value = <UnaryOpType.log: 19>
2885
+ logic_not: UnaryOpType # value = <UnaryOpType.logic_not: 24>
2886
+ max: BinaryOpType # value = <BinaryOpType.max: 7>
2887
+ mesh: Extension # value = <Extension.mesh: 2>
2888
+ mesh_local: SNodeAccessFlag # value = <SNodeAccessFlag.mesh_local: 2>
2889
+ metal: Arch # value = <Arch.metal: 4>
2890
+ min: BinaryOpType # value = <BinaryOpType.min: 8>
2891
+ mod: BinaryOpType # value = <BinaryOpType.mod: 6>
2892
+ mul: BinaryOpType # value = <BinaryOpType.mul: 0>
2893
+ neg: UnaryOpType # value = <UnaryOpType.neg: 0>
2894
+ opencl: Arch # value = <Arch.opencl: 5>
2895
+ place: SNodeType # value = <SNodeType.place: 6>
2896
+ pointer: SNodeType # value = <SNodeType.pointer: 3>
2897
+ popcnt: UnaryOpType # value = <UnaryOpType.popcnt: 20>
2898
+ pow: BinaryOpType # value = <BinaryOpType.pow: 22>
2899
+ quant: Extension # value = <Extension.quant: 1>
2900
+ quant_array: SNodeType # value = <SNodeType.quant_array: 8>
2901
+ quant_basic: Extension # value = <Extension.quant_basic: 3>
2902
+ rcp: UnaryOpType # value = <UnaryOpType.rcp: 17>
2903
+ read_only: SNodeAccessFlag # value = <SNodeAccessFlag.read_only: 1>
2904
+ root: SNodeType # value = <SNodeType.root: 0>
2905
+ round: UnaryOpType # value = <UnaryOpType.round: 2>
2906
+ rsqrt: UnaryOpType # value = <UnaryOpType.rsqrt: 22>
2907
+ sgn: UnaryOpType # value = <UnaryOpType.sgn: 9>
2908
+ sin: UnaryOpType # value = <UnaryOpType.sin: 10>
2909
+ sparse: Extension # value = <Extension.sparse: 0>
2910
+ sqrt: UnaryOpType # value = <UnaryOpType.sqrt: 1>
2911
+ sub: BinaryOpType # value = <BinaryOpType.sub: 2>
2912
+ tan: UnaryOpType # value = <UnaryOpType.tan: 14>
2913
+ tanh: UnaryOpType # value = <UnaryOpType.tanh: 15>
2914
+ truediv: BinaryOpType # value = <BinaryOpType.truediv: 3>
2915
+ undefined: UnaryOpType # value = <UnaryOpType.undefined: 25>
2916
+ vulkan: Arch # value = <Arch.vulkan: 7>
2917
+ x64: Arch # value = <Arch.x64: 0>