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