gstaichi 2.1.1rc3__cp312-cp312-win_amd64.whl → 2.2.0__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 (52) hide show
  1. gstaichi/CHANGELOG.md +1 -1
  2. gstaichi/_lib/core/gstaichi_python.cp312-win_amd64.pyd +0 -0
  3. gstaichi/_lib/core/gstaichi_python.pyi +9 -2
  4. gstaichi/_version.py +1 -1
  5. gstaichi/lang/_fast_caching/args_hasher.py +19 -7
  6. gstaichi/lang/_fast_caching/src_hasher.py +8 -0
  7. gstaichi/lang/impl.py +3 -0
  8. gstaichi/lang/kernel_impl.py +18 -1
  9. gstaichi/lang/misc.py +13 -11
  10. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/bin/SPIRV-Tools-shared.dll +0 -0
  11. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/lib/SPIRV-Tools-diff.lib +0 -0
  12. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/lib/SPIRV-Tools-link.lib +0 -0
  13. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/lib/SPIRV-Tools-lint.lib +0 -0
  14. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/lib/SPIRV-Tools-opt.lib +0 -0
  15. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/lib/SPIRV-Tools-reduce.lib +0 -0
  16. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/lib/SPIRV-Tools.lib +0 -0
  17. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/lib/glfw3.lib +0 -0
  18. {gstaichi-2.1.1rc3.dist-info → gstaichi-2.2.0.dist-info}/METADATA +1 -1
  19. {gstaichi-2.1.1rc3.dist-info → gstaichi-2.2.0.dist-info}/RECORD +52 -52
  20. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools/cmake/SPIRV-ToolsConfig.cmake +0 -0
  21. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools/cmake/SPIRV-ToolsTarget-release.cmake +0 -0
  22. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools/cmake/SPIRV-ToolsTarget.cmake +0 -0
  23. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffConfig.cmake +0 -0
  24. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffTargets-release.cmake +0 -0
  25. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffTargets.cmake +0 -0
  26. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkConfig.cmake +0 -0
  27. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkTargets-release.cmake +0 -0
  28. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkTargets.cmake +0 -0
  29. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintConfig.cmake +0 -0
  30. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintTargets-release.cmake +0 -0
  31. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintTargets.cmake +0 -0
  32. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optConfig.cmake +0 -0
  33. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optTargets-release.cmake +0 -0
  34. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optTargets.cmake +0 -0
  35. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceConfig.cmake +0 -0
  36. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceTarget-release.cmake +0 -0
  37. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceTarget.cmake +0 -0
  38. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/include/GLFW/glfw3.h +0 -0
  39. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/include/GLFW/glfw3native.h +0 -0
  40. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/include/spirv-tools/instrument.hpp +0 -0
  41. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/include/spirv-tools/libspirv.h +0 -0
  42. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/include/spirv-tools/libspirv.hpp +0 -0
  43. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/include/spirv-tools/linker.hpp +0 -0
  44. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/include/spirv-tools/optimizer.hpp +0 -0
  45. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/lib/SPIRV-Tools-shared.lib +0 -0
  46. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/lib/cmake/glfw3/glfw3Config.cmake +0 -0
  47. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/lib/cmake/glfw3/glfw3ConfigVersion.cmake +0 -0
  48. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/lib/cmake/glfw3/glfw3Targets-release.cmake +0 -0
  49. {gstaichi-2.1.1rc3.data → gstaichi-2.2.0.data}/data/lib/cmake/glfw3/glfw3Targets.cmake +0 -0
  50. {gstaichi-2.1.1rc3.dist-info → gstaichi-2.2.0.dist-info}/WHEEL +0 -0
  51. {gstaichi-2.1.1rc3.dist-info → gstaichi-2.2.0.dist-info}/licenses/LICENSE +0 -0
  52. {gstaichi-2.1.1rc3.dist-info → gstaichi-2.2.0.dist-info}/top_level.txt +0 -0
gstaichi/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
1
  Highlights:
2
2
 
3
3
  Full changelog:
4
- - fix bug with running test_src_ll_cache with ti.cfg (by **Hugh Perkins**)
4
+ - [test] Instrument fe-ll-cache so we can test when we get a cache hit (#161) (by **Hugh Perkins**)
@@ -4,7 +4,7 @@ gstaichi_python
4
4
  from __future__ import annotations
5
5
  import numpy
6
6
  import typing
7
- __all__: list[str] = ['ADJOINT', 'ADJOINT_CHECKBIT', 'AOS', 'ASTBuilder', 'Arch', 'AutodiffMode', 'Axis', 'Benchmark', 'BinaryOpType', 'BitStructType', 'BitStructTypeBuilder', 'BoundaryMode', 'CC', 'CE', 'CF', 'CGd', 'CGf', 'CLAMP', 'CUCG', 'CV', 'Cell', 'CompileConfig', 'CompiledKernelData', 'Config', 'ConvType', 'CuSparseMatrix', 'CuSparseSolver', 'DUAL', 'DataTypeCxx', 'DataType_f16', 'DataType_f32', 'DataType_f64', 'DataType_gen', 'DataType_i16', 'DataType_i32', 'DataType_i64', 'DataType_i8', 'DataType_u1', 'DataType_u16', 'DataType_u32', 'DataType_u64', 'DataType_u8', 'DataType_unknown', 'DebugInfo', 'DeviceAllocation', 'DeviceCapabilityConfig', 'EC', 'EE', 'EF', 'EV', 'Edge', 'EigenSparseSolverfloat32LDLTAMD', 'EigenSparseSolverfloat32LDLTCOLAMD', 'EigenSparseSolverfloat32LLTAMD', 'EigenSparseSolverfloat32LLTCOLAMD', 'EigenSparseSolverfloat32LUAMD', 'EigenSparseSolverfloat32LUCOLAMD', 'EigenSparseSolverfloat64LDLTAMD', 'EigenSparseSolverfloat64LDLTCOLAMD', 'EigenSparseSolverfloat64LLTAMD', 'EigenSparseSolverfloat64LLTCOLAMD', 'EigenSparseSolverfloat64LUAMD', 'EigenSparseSolverfloat64LUCOLAMD', 'ExprCxx', 'ExprGroup', 'Extension', 'FC', 'FE', 'FF', 'FORWARD', 'FV', 'Face', 'Format', 'Function', 'FunctionKey', 'GsTaichiAssertionError', 'GsTaichiIndexError', 'GsTaichiRuntimeError', 'GsTaichiSyntaxError', 'GsTaichiTypeError', 'HackedSignalRegister', 'InternalOp', 'KernelCxx', 'KernelLaunchContext', 'KernelProfileTracedRecord', 'KernelProfilerQueryResult', 'Layout', 'Mesh', 'MeshElementType', 'MeshPtr', 'MeshRelationType', 'MeshTopology', 'NONE', 'NULL', 'NdarrayCxx', 'Operation', 'PRIMAL', 'Program', 'REVERSE', 'SNodeAccessFlag', 'SNodeCxx', 'SNodeGradType', 'SNodeRegistry', 'SNodeTreeCxx', 'SNodeType', 'SOA', 'SparseMatrix', 'SparseMatrixBuilder', 'SparseSolver', 'Stmt', 'Task', 'Tetrahedron', 'TextureCxx', 'TextureOpType', 'Triangle', 'Type', 'TypeFactory', 'UNSAFE', 'UnaryOpType', 'VALIDATION', 'VC', 'VE', 'VF', 'VV', 'Vector2d', 'Vector2f', 'Vector2i', 'Vector3d', 'Vector3f', 'Vector3i', 'Vector4d', 'Vector4f', 'Vector4i', 'Vertex', 'abs', 'acos', 'add', 'adstack', 'amdgpu', 'arch_from_name', 'arch_name', 'arch_uses_llvm', 'arm64', 'asin', 'assertion', 'atan2', 'bit_and', 'bit_not', 'bit_or', 'bit_sar', 'bit_shl', 'bit_shr', 'bit_struct', 'bit_xor', 'bitmasked', 'bits_cast', 'block_local', 'bls', 'cast_bits', 'cast_value', 'ceil', 'clear_profile_info', 'clz', 'cmp_eq', 'cmp_ge', 'cmp_gt', 'cmp_le', 'cmp_lt', 'cmp_ne', 'cos', 'create_benchmark', 'create_initialized_benchmark', 'create_initialized_task', 'create_mesh', 'create_task', 'critical', 'cuda', 'cuda_version', 'dColMajor_EigenSparseMatrix', 'dRowMajor_EigenSparseMatrix', 'data64', 'data_type_name', 'data_type_size', 'debug', 'default_compile_config', 'dense', 'div', 'dynamic', 'element_order', 'element_type_name', 'error', 'exp', 'expr_abs', 'expr_acos', 'expr_add', 'expr_asin', 'expr_assume_in_range', 'expr_atan2', 'expr_atomic_add', 'expr_atomic_bit_and', 'expr_atomic_bit_or', 'expr_atomic_bit_xor', 'expr_atomic_max', 'expr_atomic_min', 'expr_atomic_mul', 'expr_atomic_sub', 'expr_bit_and', 'expr_bit_not', 'expr_bit_or', 'expr_bit_sar', 'expr_bit_shl', 'expr_bit_shr', 'expr_bit_xor', 'expr_ceil', 'expr_clz', 'expr_cmp_eq', 'expr_cmp_ge', 'expr_cmp_gt', 'expr_cmp_le', 'expr_cmp_lt', 'expr_cmp_ne', 'expr_cos', 'expr_div', 'expr_exp', 'expr_field', 'expr_floor', 'expr_floordiv', 'expr_frexp', 'expr_ifte', 'expr_inv', 'expr_log', 'expr_logic_not', 'expr_logical_and', 'expr_logical_or', 'expr_loop_unique', 'expr_matrix_field', 'expr_max', 'expr_min', 'expr_mod', 'expr_mul', 'expr_neg', 'expr_popcnt', 'expr_pow', 'expr_rcp', 'expr_round', 'expr_rsqrt', 'expr_select', 'expr_sin', 'expr_sqrt', 'expr_sub', 'expr_tan', 'expr_tanh', 'expr_truediv', 'extfunc', 'fColMajor_EigenSparseMatrix', 'fRowMajor_EigenSparseMatrix', 'finalize_snode_tree', 'floor', 'floordiv', 'flush_log', 'frexp', 'from_end_element_order', 'g2r', 'get_commit_hash', 'get_default_float_size', 'get_external_tensor_dim', 'get_external_tensor_element_dim', 'get_external_tensor_element_shape', 'get_external_tensor_element_type', 'get_external_tensor_needs_grad', 'get_external_tensor_real_func_args', 'get_external_tensor_shape_along_axis', 'get_llvm_target_support', 'get_max_num_indices', 'get_num_elements', 'get_python_package_dir', 'get_relation_access', 'get_relation_size', 'get_repo_dir', 'get_type_factory_instance', 'get_version_major', 'get_version_minor', 'get_version_patch', 'get_version_string', 'hash', 'host_arch', 'info', 'insert_internal_func_call', 'inv', 'inverse_relation', 'is_extension_supported', 'is_integral', 'is_quant', 'is_real', 'is_signed', 'is_tensor', 'is_unsigned', 'js', 'kFetchTexel', 'kLoad', 'kSampleLod', 'kStore', 'kUndefined', 'l2g', 'l2r', 'libdevice_path', 'log', 'logging_effective', 'logic_not', 'make_arg_load_expr', 'make_binary_op_expr', 'make_const_expr_bool', 'make_const_expr_fp', 'make_const_expr_int', 'make_cucg_solver', 'make_cusparse_solver', 'make_double_cg_solver', 'make_external_tensor_expr', 'make_external_tensor_grad_expr', 'make_float_cg_solver', 'make_frontend_assign_stmt', 'make_get_element_expr', 'make_global_load_stmt', 'make_global_store_stmt', 'make_rand_expr', 'make_reference', 'make_rw_texture_ptr_expr', 'make_sparse_solver', 'make_texture_ptr_expr', 'make_unary_op_expr', 'max', 'mesh', 'mesh_local', 'metal', 'min', 'mod', 'mul', 'neg', 'opencl', 'place', 'pointer', 'pop_python_print_buffer', 'popcnt', 'pow', 'print_all_units', 'print_profile_info', 'promoted_type', 'quant', 'quant_array', 'quant_basic', 'query_int64', 'rcp', 'read_only', 'relation_by_orders', 'reset_default_compile_config', 'root', 'round', 'rsqrt', 'set_core_state_python_imported', 'set_core_trigger_gdb_when_crash', 'set_index_mapping', 'set_lib_dir', 'set_logging_level', 'set_logging_level_default', 'set_num_elements', 'set_num_patches', 'set_owned_offset', 'set_patch_max_element_num', 'set_python_package_dir', 'set_relation_dynamic', 'set_relation_fixed', 'set_tmp_dir', 'set_total_offset', 'set_vulkan_visible_device', 'sgn', 'sin', 'sparse', 'sqrt', 'start_memory_monitoring', 'sub', 'subscript_with_multiple_indices', 'tan', 'tanh', 'test_cpp_exception', 'test_logging', 'test_printf', 'test_raise_error', 'test_threading', 'test_throw', 'to_end_element_order', 'toggle_python_print_buffer', 'trace', 'trigger_crash', 'trigger_sig_fpe', 'truediv', 'undefined', 'value_cast', 'vulkan', 'wait_for_debugger', 'warn', 'with_amdgpu', 'with_cuda', 'with_metal', 'with_vulkan', 'x64']
7
+ __all__: list[str] = ['ADJOINT', 'ADJOINT_CHECKBIT', 'AOS', 'ASTBuilder', 'Arch', 'AutodiffMode', 'Axis', 'Benchmark', 'BinaryOpType', 'BitStructType', 'BitStructTypeBuilder', 'BoundaryMode', 'CC', 'CE', 'CF', 'CGd', 'CGf', 'CLAMP', 'CUCG', 'CV', 'Cell', 'CompileConfig', 'CompileResult', 'CompiledKernelData', 'Config', 'ConvType', 'CuSparseMatrix', 'CuSparseSolver', 'DUAL', 'DataTypeCxx', 'DataType_f16', 'DataType_f32', 'DataType_f64', 'DataType_gen', 'DataType_i16', 'DataType_i32', 'DataType_i64', 'DataType_i8', 'DataType_u1', 'DataType_u16', 'DataType_u32', 'DataType_u64', 'DataType_u8', 'DataType_unknown', 'DebugInfo', 'DeviceAllocation', 'DeviceCapabilityConfig', 'EC', 'EE', 'EF', 'EV', 'Edge', 'EigenSparseSolverfloat32LDLTAMD', 'EigenSparseSolverfloat32LDLTCOLAMD', 'EigenSparseSolverfloat32LLTAMD', 'EigenSparseSolverfloat32LLTCOLAMD', 'EigenSparseSolverfloat32LUAMD', 'EigenSparseSolverfloat32LUCOLAMD', 'EigenSparseSolverfloat64LDLTAMD', 'EigenSparseSolverfloat64LDLTCOLAMD', 'EigenSparseSolverfloat64LLTAMD', 'EigenSparseSolverfloat64LLTCOLAMD', 'EigenSparseSolverfloat64LUAMD', 'EigenSparseSolverfloat64LUCOLAMD', 'ExprCxx', 'ExprGroup', 'Extension', 'FC', 'FE', 'FF', 'FORWARD', 'FV', 'Face', 'Format', 'Function', 'FunctionKey', 'GsTaichiAssertionError', 'GsTaichiIndexError', 'GsTaichiRuntimeError', 'GsTaichiSyntaxError', 'GsTaichiTypeError', 'HackedSignalRegister', 'InternalOp', 'KernelCxx', 'KernelLaunchContext', 'KernelProfileTracedRecord', 'KernelProfilerQueryResult', 'Layout', 'Mesh', 'MeshElementType', 'MeshPtr', 'MeshRelationType', 'MeshTopology', 'NONE', 'NULL', 'NdarrayCxx', 'Operation', 'PRIMAL', 'Program', 'REVERSE', 'SNodeAccessFlag', 'SNodeCxx', 'SNodeGradType', 'SNodeRegistry', 'SNodeTreeCxx', 'SNodeType', 'SOA', 'SparseMatrix', 'SparseMatrixBuilder', 'SparseSolver', 'Stmt', 'Task', 'Tetrahedron', 'TextureCxx', 'TextureOpType', 'Triangle', 'Type', 'TypeFactory', 'UNSAFE', 'UnaryOpType', 'VALIDATION', 'VC', 'VE', 'VF', 'VV', 'Vector2d', 'Vector2f', 'Vector2i', 'Vector3d', 'Vector3f', 'Vector3i', 'Vector4d', 'Vector4f', 'Vector4i', 'Vertex', 'abs', 'acos', 'add', 'adstack', 'amdgpu', 'arch_from_name', 'arch_name', 'arch_uses_llvm', 'arm64', 'asin', 'assertion', 'atan2', 'bit_and', 'bit_not', 'bit_or', 'bit_sar', 'bit_shl', 'bit_shr', 'bit_struct', 'bit_xor', 'bitmasked', 'bits_cast', 'block_local', 'bls', 'cast_bits', 'cast_value', 'ceil', 'clear_profile_info', 'clz', 'cmp_eq', 'cmp_ge', 'cmp_gt', 'cmp_le', 'cmp_lt', 'cmp_ne', 'cos', 'create_benchmark', 'create_initialized_benchmark', 'create_initialized_task', 'create_mesh', 'create_task', 'critical', 'cuda', 'cuda_version', 'dColMajor_EigenSparseMatrix', 'dRowMajor_EigenSparseMatrix', 'data64', 'data_type_name', 'data_type_size', 'debug', 'default_compile_config', 'dense', 'div', 'dynamic', 'element_order', 'element_type_name', 'error', 'exp', 'expr_abs', 'expr_acos', 'expr_add', 'expr_asin', 'expr_assume_in_range', 'expr_atan2', 'expr_atomic_add', 'expr_atomic_bit_and', 'expr_atomic_bit_or', 'expr_atomic_bit_xor', 'expr_atomic_max', 'expr_atomic_min', 'expr_atomic_mul', 'expr_atomic_sub', 'expr_bit_and', 'expr_bit_not', 'expr_bit_or', 'expr_bit_sar', 'expr_bit_shl', 'expr_bit_shr', 'expr_bit_xor', 'expr_ceil', 'expr_clz', 'expr_cmp_eq', 'expr_cmp_ge', 'expr_cmp_gt', 'expr_cmp_le', 'expr_cmp_lt', 'expr_cmp_ne', 'expr_cos', 'expr_div', 'expr_exp', 'expr_field', 'expr_floor', 'expr_floordiv', 'expr_frexp', 'expr_ifte', 'expr_inv', 'expr_log', 'expr_logic_not', 'expr_logical_and', 'expr_logical_or', 'expr_loop_unique', 'expr_matrix_field', 'expr_max', 'expr_min', 'expr_mod', 'expr_mul', 'expr_neg', 'expr_popcnt', 'expr_pow', 'expr_rcp', 'expr_round', 'expr_rsqrt', 'expr_select', 'expr_sin', 'expr_sqrt', 'expr_sub', 'expr_tan', 'expr_tanh', 'expr_truediv', 'extfunc', 'fColMajor_EigenSparseMatrix', 'fRowMajor_EigenSparseMatrix', 'finalize_snode_tree', 'floor', 'floordiv', 'flush_log', 'frexp', 'from_end_element_order', 'g2r', 'get_commit_hash', 'get_default_float_size', 'get_external_tensor_dim', 'get_external_tensor_element_dim', 'get_external_tensor_element_shape', 'get_external_tensor_element_type', 'get_external_tensor_needs_grad', 'get_external_tensor_real_func_args', 'get_external_tensor_shape_along_axis', 'get_llvm_target_support', 'get_max_num_indices', 'get_num_elements', 'get_python_package_dir', 'get_relation_access', 'get_relation_size', 'get_repo_dir', 'get_type_factory_instance', 'get_version_major', 'get_version_minor', 'get_version_patch', 'get_version_string', 'hash', 'host_arch', 'info', 'insert_internal_func_call', 'inv', 'inverse_relation', 'is_extension_supported', 'is_integral', 'is_quant', 'is_real', 'is_signed', 'is_tensor', 'is_unsigned', 'js', 'kFetchTexel', 'kLoad', 'kSampleLod', 'kStore', 'kUndefined', 'l2g', 'l2r', 'libdevice_path', 'log', 'logging_effective', 'logic_not', 'make_arg_load_expr', 'make_binary_op_expr', 'make_const_expr_bool', 'make_const_expr_fp', 'make_const_expr_int', 'make_cucg_solver', 'make_cusparse_solver', 'make_double_cg_solver', 'make_external_tensor_expr', 'make_external_tensor_grad_expr', 'make_float_cg_solver', 'make_frontend_assign_stmt', 'make_get_element_expr', 'make_global_load_stmt', 'make_global_store_stmt', 'make_rand_expr', 'make_reference', 'make_rw_texture_ptr_expr', 'make_sparse_solver', 'make_texture_ptr_expr', 'make_unary_op_expr', 'max', 'mesh', 'mesh_local', 'metal', 'min', 'mod', 'mul', 'neg', 'opencl', 'place', 'pointer', 'pop_python_print_buffer', 'popcnt', 'pow', 'print_all_units', 'print_profile_info', 'promoted_type', 'quant', 'quant_array', 'quant_basic', 'query_int64', 'rcp', 'read_only', 'relation_by_orders', 'reset_default_compile_config', 'root', 'round', 'rsqrt', 'set_core_state_python_imported', 'set_core_trigger_gdb_when_crash', 'set_index_mapping', 'set_lib_dir', 'set_logging_level', 'set_logging_level_default', 'set_num_elements', 'set_num_patches', 'set_owned_offset', 'set_patch_max_element_num', 'set_python_package_dir', 'set_relation_dynamic', 'set_relation_fixed', 'set_tmp_dir', 'set_total_offset', 'set_vulkan_visible_device', 'sgn', 'sin', 'sparse', 'sqrt', 'start_memory_monitoring', 'sub', 'subscript_with_multiple_indices', 'tan', 'tanh', 'test_cpp_exception', 'test_logging', 'test_printf', 'test_raise_error', 'test_threading', 'test_throw', 'to_end_element_order', 'toggle_python_print_buffer', 'trace', 'trigger_crash', 'trigger_sig_fpe', 'truediv', 'undefined', 'value_cast', 'vulkan', 'wait_for_debugger', 'warn', 'with_amdgpu', 'with_cuda', 'with_metal', 'with_vulkan', 'x64']
8
8
  class ASTBuilder:
9
9
  def begin_frontend_if(self, arg0: ..., arg1: DebugInfo) -> None:
10
10
  ...
@@ -504,6 +504,13 @@ class CompileConfig:
504
504
  vk_api_version: str
505
505
  def __init__(self) -> None:
506
506
  ...
507
+ class CompileResult:
508
+ @property
509
+ def cache_hit(self) -> bool:
510
+ ...
511
+ @property
512
+ def compiled_kernel_data(self) -> CompiledKernelData:
513
+ ...
507
514
  class CompiledKernelData:
508
515
  pass
509
516
  class Config:
@@ -1528,7 +1535,7 @@ class Program:
1528
1535
  ...
1529
1536
  def clear_kernel_profiler(self) -> None:
1530
1537
  ...
1531
- def compile_kernel(self, arg0: CompileConfig, arg1: DeviceCapabilityConfig, arg2: ...) -> CompiledKernelData:
1538
+ def compile_kernel(self, arg0: CompileConfig, arg1: DeviceCapabilityConfig, arg2: ...) -> ...:
1532
1539
  ...
1533
1540
  def config(self) -> CompileConfig:
1534
1541
  ...
gstaichi/_version.py CHANGED
@@ -1 +1 @@
1
- __version__ = '2.1.1rc3'
1
+ __version__ = '2.2.0'
@@ -6,6 +6,8 @@ from typing import Any, Sequence
6
6
 
7
7
  import numpy as np
8
8
 
9
+ from gstaichi import _logging
10
+
9
11
  from .._ndarray import ScalarNdarray
10
12
  from ..field import ScalarField
11
13
  from ..matrix import MatrixField, MatrixNdarray, VectorNdarray
@@ -34,7 +36,7 @@ def dataclass_to_repr(path: tuple[str, ...], arg: Any) -> str:
34
36
  return "[" + ",".join(repr_l) + "]"
35
37
 
36
38
 
37
- def stringify_obj_type(path: tuple[str, ...], obj: Any) -> str | None:
39
+ def stringify_obj_type(path: tuple[str, ...], obj: object) -> str | None:
38
40
  """
39
41
  Convert an object into a string representation that only depends on its type.
40
42
 
@@ -42,25 +44,29 @@ def stringify_obj_type(path: tuple[str, ...], obj: Any) -> str | None:
42
44
  to be the actual python type string, just a string that is representative of the type, and won't collide
43
45
  with different (allowed) types.
44
46
 
45
- `path` is used during debugging.
47
+ Note that fields are not included in fast cache.
46
48
  """
47
- # TODO: We should have a way of printing this without having to hack the code really. Using logger perhaps?
48
- # (I have another PR that addreses this https://github.com/Genesis-Embodied-AI/gstaichi/pull/144/files)
49
49
  arg_type = type(obj)
50
50
  if isinstance(obj, ScalarNdarray):
51
51
  return f"[nd-{obj.dtype}-{len(obj.shape)}]"
52
52
  if isinstance(obj, VectorNdarray):
53
53
  return f"[ndv-{obj.n}-{obj.dtype}-{len(obj.shape)}]"
54
54
  if isinstance(obj, ScalarField):
55
- return f"[f-{obj.snode._id}-{obj.dtype}-{obj.shape}]"
55
+ # disabled for now, because we need to think about how to handle field offset
56
+ # etc
57
+ # TODO: think about whether there is a way to include fields
58
+ return None
56
59
  if isinstance(obj, MatrixNdarray):
57
60
  return f"[ndm-{obj.m}-{obj.n}-{obj.dtype}-{len(obj.shape)}]"
58
61
  if "torch.Tensor" in str(arg_type):
59
- return f"[pt-{obj.dtype}-{obj.ndim}]"
62
+ return f"[pt-{obj.dtype}-{obj.ndim}]" # type: ignore
60
63
  if isinstance(obj, np.ndarray):
61
64
  return f"[np-{obj.dtype}-{obj.ndim}]"
62
65
  if isinstance(obj, MatrixField):
63
- return f"[fm-{obj.m}-{obj.n}-{obj.snode._id}-{obj.dtype}-{obj.shape}]"
66
+ # disabled for now, because we need to think about how to handle field offset
67
+ # etc
68
+ # TODO: think about whether there is a way to include fields
69
+ return None
64
70
  if dataclasses.is_dataclass(obj):
65
71
  return dataclass_to_repr(path, obj)
66
72
  if is_data_oriented(obj):
@@ -79,6 +85,12 @@ def stringify_obj_type(path: tuple[str, ...], obj: Any) -> str | None:
79
85
  return "np.bool_"
80
86
  if isinstance(obj, enum.Enum):
81
87
  return f"enum-{obj.name}-{obj.value}"
88
+ # The bit in caps should not be modified without updating corresponding test
89
+ # The rest of free text can be freely modified
90
+ # (will probably formalize this in more general doc / contributor guidelines at some point)
91
+ _logging.warn(
92
+ f"[FASTCACHE][PARAM_INVALID] Parameter with path {path} and type {arg_type} not allowed by fast cache."
93
+ )
82
94
  return None
83
95
 
84
96
 
@@ -2,6 +2,8 @@ from typing import Any, Iterable, Sequence
2
2
 
3
3
  from pydantic import BaseModel
4
4
 
5
+ from gstaichi import _logging
6
+
5
7
  from .._wrap_inspect import FunctionSourceInfo
6
8
  from . import args_hasher, config_hasher, function_hasher
7
9
  from .fast_caching_types import HashedFunctionSourceInfo
@@ -19,6 +21,12 @@ def create_cache_key(kernel_source_info: FunctionSourceInfo, args: Sequence[Any]
19
21
  """
20
22
  args_hash = args_hasher.hash_args(args)
21
23
  if args_hash is None:
24
+ # the bit in caps at start should not be modified without modifying corresponding text
25
+ # freetext bit can be freely modified
26
+ _logging.warn(
27
+ f"[FASTCACHE][INVALID_FUNC] The pure function {kernel_source_info.function_name} could not be "
28
+ "fast cached, because one or more parameter types were invalid"
29
+ )
22
30
  return None
23
31
  kernel_hash = function_hasher.hash_kernel(kernel_source_info)
24
32
  config_hash = config_hasher.hash_compile_config()
gstaichi/lang/impl.py CHANGED
@@ -349,6 +349,9 @@ class PyGsTaichi:
349
349
  self.kernels: list[Kernel] = kernels or []
350
350
  self._signal_handler_registry = None
351
351
  self.unfinalized_fields_builder = {}
352
+ self.print_non_pure: bool = False
353
+ self.short_circuit_operators: bool = False
354
+ self.unrolling_limit: int = 0
352
355
  self.src_ll_cache: bool = True
353
356
 
354
357
  @property
@@ -26,6 +26,7 @@ from gstaichi._lib import core as _ti_core
26
26
  from gstaichi._lib.core.gstaichi_python import (
27
27
  ASTBuilder,
28
28
  CompiledKernelData,
29
+ CompileResult,
29
30
  FunctionKey,
30
31
  KernelCxx,
31
32
  KernelLaunchContext,
@@ -573,6 +574,11 @@ class SrcLlCacheObservations:
573
574
  cache_stored: bool = False
574
575
 
575
576
 
577
+ @dataclasses.dataclass
578
+ class FeLlCacheObservations:
579
+ cache_hit: bool = False
580
+
581
+
576
582
  class Kernel:
577
583
  counter = 0
578
584
 
@@ -611,6 +617,7 @@ class Kernel:
611
617
  self.compiled_kernel_data_by_key: dict[CompiledKernelKeyType, CompiledKernelData] = {}
612
618
 
613
619
  self.src_ll_cache_observations: SrcLlCacheObservations = SrcLlCacheObservations()
620
+ self.fe_ll_cache_observations: FeLlCacheObservations = FeLlCacheObservations()
614
621
 
615
622
  def ast_builder(self) -> ASTBuilder:
616
623
  assert self.kernel_cpp is not None
@@ -713,6 +720,13 @@ class Kernel:
713
720
  )
714
721
  if self.compiled_kernel_data_by_key[key]:
715
722
  self.src_ll_cache_observations.cache_loaded = True
723
+ elif self.gstaichi_callable and not self.gstaichi_callable.is_pure and self.runtime.print_non_pure:
724
+ # The bit in caps should not be modified without updating corresponding test
725
+ # freetext can be freely modified.
726
+ # As for why we are using `print` rather than eg logger.info, it is because
727
+ # this is only printed when ti.init(print_non_pure=..) is True. And it is
728
+ # confusing to set that to True, and see nothing printed.
729
+ print(f"[NOT_PURE] Debug information: not pure: {self.func.__name__}")
716
730
 
717
731
  kernel_name = f"{self.func.__name__}_c{self.kernel_counter}_{key[1]}"
718
732
  _logging.trace(f"Materializing kernel {kernel_name} in {self.autodiff_mode}...")
@@ -1043,7 +1057,10 @@ class Kernel:
1043
1057
  try:
1044
1058
  prog = impl.get_runtime().prog
1045
1059
  if not compiled_kernel_data:
1046
- compiled_kernel_data = prog.compile_kernel(prog.config(), prog.get_device_caps(), t_kernel)
1060
+ compile_result: CompileResult = prog.compile_kernel(prog.config(), prog.get_device_caps(), t_kernel)
1061
+ compiled_kernel_data = compile_result.compiled_kernel_data
1062
+ if compile_result.cache_hit:
1063
+ self.fe_ll_cache_observations.cache_hit = True
1047
1064
  if self.fast_checksum:
1048
1065
  src_hasher.store(self.fast_checksum, self.visited_functions)
1049
1066
  prog.store_fast_cache(
gstaichi/lang/misc.py CHANGED
@@ -1,5 +1,3 @@
1
- # type: ignore
2
-
3
1
  import atexit
4
2
  import os
5
3
  import shutil
@@ -198,8 +196,6 @@ def reset():
198
196
  # will raise error because a is unavailable after reset.
199
197
  """
200
198
  impl.reset()
201
- global runtime
202
- runtime = impl.get_runtime()
203
199
 
204
200
 
205
201
  class _EnvironmentConfigurator:
@@ -307,6 +303,7 @@ def init(
307
303
  _test_mode: bool = False,
308
304
  enable_fallback: bool = True,
309
305
  require_version: str | None = None,
306
+ print_non_pure: bool = False,
310
307
  src_ll_cache: bool = True,
311
308
  **kwargs,
312
309
  ):
@@ -320,6 +317,8 @@ def init(
320
317
  default_fp (Optional[type]): Default floating-point type.
321
318
  default_ip (Optional[type]): Default integral type.
322
319
  require_version: A version string.
320
+ print_non_pure: Print the names of kernels, at the time they are executed, which are not annotated with
321
+ @ti.pure
323
322
  src_ll_cache: enable SRC-LL-CACHE, which will accelerate loading from cache, across all architectures,
324
323
  for pure kernels (i.e. kernels declared as @ti.pure)
325
324
  **kwargs: GsTaichi provides highly customizable compilation through
@@ -417,12 +416,14 @@ def init(
417
416
  raise KeyError(f'Unrecognized keyword argument(s) for ti.init: {", ".join(unexpected_keys)}')
418
417
 
419
418
  # dispatch configurations that are not in ti.cfg:
419
+ runtime = impl.get_runtime()
420
420
  if not _test_mode:
421
421
  _ti_core.set_core_trigger_gdb_when_crash(spec_cfg.gdb_trigger)
422
- impl.get_runtime().short_circuit_operators = spec_cfg.short_circuit_operators
423
- impl.get_runtime().print_full_traceback = spec_cfg.print_full_traceback
424
- impl.get_runtime().unrolling_limit = spec_cfg.unrolling_limit
425
- impl.get_runtime().src_ll_cache = src_ll_cache
422
+ runtime.short_circuit_operators = spec_cfg.short_circuit_operators
423
+ runtime.print_full_traceback = spec_cfg.print_full_traceback
424
+ runtime.unrolling_limit = spec_cfg.unrolling_limit
425
+ runtime.src_ll_cache = src_ll_cache
426
+ runtime.print_non_pure = print_non_pure
426
427
  _logging.set_logging_level(spec_cfg.log_level.lower())
427
428
 
428
429
  # select arch (backend):
@@ -456,9 +457,10 @@ def init(
456
457
 
457
458
  def no_activate(*args):
458
459
  """Deactivates a SNode pointer."""
459
- assert isinstance(get_runtime().compiling_callable, _ti_core.KernelCxx)
460
+ compiling_callable = get_runtime().compiling_callable
461
+ assert isinstance(compiling_callable, _ti_core.KernelCxx)
460
462
  for v in args:
461
- get_runtime().compiling_callable.no_activate(v._snode.ptr)
463
+ compiling_callable.no_activate(v._snode.ptr)
462
464
 
463
465
 
464
466
  def block_local(*args):
@@ -557,7 +559,7 @@ def loop_unique(val, covers=None):
557
559
  covers = []
558
560
  if not isinstance(covers, (list, tuple)):
559
561
  covers = [covers]
560
- covers = [x.snode.ptr if isinstance(x, Expr) else x.ptr for x in covers]
562
+ covers = [x.snode.ptr if isinstance(x, Expr) else x.ptr for x in covers] # type: ignore
561
563
  return _ti_core.expr_loop_unique(
562
564
  Expr(val).ptr, covers, _ti_core.DebugInfo(impl.get_runtime().get_current_src_info())
563
565
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gstaichi
3
- Version: 2.1.1rc3
3
+ Version: 2.2.0
4
4
  Summary: The GsTaichi Programming Language
5
5
  Home-page: https://github.com/Genesis-Embedded-AI/gstaichi
6
6
  Author: GsTaichi developers
@@ -1,16 +1,16 @@
1
- gstaichi/CHANGELOG.md,sha256=0AstjAMJui_bINGZhOkaHuLMCAyQFzZ03yD0KzxbihA,111
1
+ gstaichi/CHANGELOG.md,sha256=EC1aChWVfcMoGd6jdEfgcSAHsltZxYEkXY4RC_ASe1k,136
2
2
  gstaichi/__init__.py,sha256=JFvEDYJ8EcHhPdrWMYez9cogC3nE1DMxjPmanOs8eYI,1044
3
3
  gstaichi/_funcs.py,sha256=u0o3F7Yq6r2dxkimThby4rvceRjUGajaLyzkPtwMJgM,23943
4
4
  gstaichi/_kernels.py,sha256=3R9_Ht0q1BSku-Jslvf5eYQY2bD8vFS5ZvL-im_iLPs,14664
5
5
  gstaichi/_logging.py,sha256=-4yqQ5rePskPzIbDdZSahAf4RYG_R7RNQDHau1wbcuc,3813
6
- gstaichi/_version.py,sha256=v-aHGwUCRYeb0puxsxpRDK2g3mYci222RE7PMJn7Hws,26
6
+ gstaichi/_version.py,sha256=equBsVA_0HkJTS7EPj74oCtCcOvyDFsRtw5IQ58tplA,23
7
7
  gstaichi/_version_check.py,sha256=oifkwL4GmcOgh9OR7V4LtYt4dTGzokVUFxnVJspaOE0,3614
8
8
  gstaichi/experimental.py,sha256=SwtoqhUcSxCSea-sT10G-GgZaTcSWUNPmTACK0MCHH4,359
9
9
  gstaichi/_lib/__init__.py,sha256=rsFUVL8_2_eyK2Z4MiP6NvLIEykG1fsK8l1WZNQa3ko,74
10
10
  gstaichi/_lib/utils.py,sha256=sEi0azEnb0jardg4pKMZfQAjoWgz6WOnwrdf2NSMOEA,7735
11
11
  gstaichi/_lib/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
- gstaichi/_lib/core/gstaichi_python.cp312-win_amd64.pyd,sha256=eGVhjCAkIaOEs0Xc7uGMIJ3O9tVbRgfdJHLclsFUVcc,80826368
13
- gstaichi/_lib/core/gstaichi_python.pyi,sha256=PSEP5165-33Q5T_vmS3ih_boDO2pv0O-0AGnJ0OODZ8,113352
12
+ gstaichi/_lib/core/gstaichi_python.cp312-win_amd64.pyd,sha256=3ISvXCWZQNW_N_TqXbQI0zACYHosGq2MWCaxsJFjwXQ,80839168
13
+ gstaichi/_lib/core/gstaichi_python.pyi,sha256=9SrxKGGX2YeNvDNLuW-8yYlAq2vWB6h13yh2vA4yz0g,113525
14
14
  gstaichi/_lib/core/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  gstaichi/_lib/runtime/runtime_cuda.bc,sha256=ZCHDx_T5HdLQ_u8oAETF6amiw3xdLHbgn8naellBfUw,155520
16
16
  gstaichi/_lib/runtime/runtime_x64.bc,sha256=dmh_JFX-s9H6zD2DCT_JGqYcYy-vkylvsb_LqXRnIDY,140112
@@ -45,14 +45,14 @@ gstaichi/lang/common_ops.py,sha256=bIGmalXVnxVc5mw-k704zFwr38bR9uZx_4ieNS3PYpQ,8
45
45
  gstaichi/lang/exception.py,sha256=f-EWm56Px6TpskhCgEReqoY8meg_-4nZD9vFOA5TVic,2165
46
46
  gstaichi/lang/expr.py,sha256=bSWJyNJ55Xnv7mADHxKRhwH0lB2cXnRi9EpCrHgElLY,6587
47
47
  gstaichi/lang/field.py,sha256=pppo98T6DsHPhOR0-g-oc5lmEoR-mZeh96pMLkUyDQI,13677
48
- gstaichi/lang/impl.py,sha256=ZfMiKCOgnvxU4blxX_XokEHLSxaaU9aCYNM6f9_egFo,42835
48
+ gstaichi/lang/impl.py,sha256=6URp6sVXpduqVqx_MblPIP0EDXdXaKjXxREam6FsAyA,42969
49
49
  gstaichi/lang/kernel_arguments.py,sha256=ZUtk3AFs7xReYjoogTZ2xTMFaRZGAkFpOi1Et_lTGfY,6486
50
- gstaichi/lang/kernel_impl.py,sha256=FUIcFkLHPVqb_aiWOQkfexNuhs-KFZcy5TSHxepDVBI,60663
50
+ gstaichi/lang/kernel_impl.py,sha256=_bpJ9auAPzRDXh2U_dVND1V5r7C0DvoyTBFQ7Q2Nk80,61635
51
51
  gstaichi/lang/matrix.py,sha256=7bLpkkN_M9q9vHEY4ejpsGfQ99oTL8SFJiHzHIU7VBk,63762
52
52
  gstaichi/lang/matrix_ops.py,sha256=v89ID3thZ8irSLU9Tyf1hmEdQTjGyMHWqvfzsvnFxGo,10399
53
53
  gstaichi/lang/matrix_ops_utils.py,sha256=rrrC5KjmCt1w0ZNtLWqo5ZOjZNR74iqGjuVfHvqwwxg,5435
54
54
  gstaichi/lang/mesh.py,sha256=ukqJYWSf3ANPoiV4Ue-DWMPZ0y21bGrhEUseVAIJK4w,27758
55
- gstaichi/lang/misc.py,sha256=MZsFCQjOD7hztlI5i42BRm1f9M69U8i6e-ibSO2UN00,24367
55
+ gstaichi/lang/misc.py,sha256=HMWBdv5D0Car1vFbs2Z5JCR3n9DRo0AXMcLJr9m6vBU,24563
56
56
  gstaichi/lang/ops.py,sha256=zKwfBLQrdnyyoHflIUe9DY3BQ2wQusfRrDLPRyAThpk,45919
57
57
  gstaichi/lang/runtime_ops.py,sha256=TKlPOBMWGGg0jQZFlik4f5c1Do5cUlhEMk6r4VlOfvM,237
58
58
  gstaichi/lang/shell.py,sha256=k9YPpByujyHis2Vv-oHSJowQAhhS1Iic9Oa7JKhy584,1095
@@ -61,13 +61,13 @@ gstaichi/lang/source_builder.py,sha256=ytBdJbFzcccD2ekVvy-v8YrllNEcSM1RRMUe-FWEN
61
61
  gstaichi/lang/struct.py,sha256=xrSMsj2yg1Cu9hcFEWEzHPyjZ8b8pb6XzeVDj9hrf_o,30060
62
62
  gstaichi/lang/util.py,sha256=VtBtYaJ-yGaXIS5lA2CV0dtdk8OZ9U55dy4MTZshOKk,7741
63
63
  gstaichi/lang/_fast_caching/__init__.py,sha256=6k4yq6r4Lu1SI4IHt8ByDPhV8uGA8HHKCAcGqvCoUmE,97
64
- gstaichi/lang/_fast_caching/args_hasher.py,sha256=qz8ra48DLRklTCNY-4c6peR55OMIYQn9JNVyg0ZIoZQ,4082
64
+ gstaichi/lang/_fast_caching/args_hasher.py,sha256=-P6khr5xip81cKXLyCehgVMtgTa9iXk1tI8TzlcPTXo,4542
65
65
  gstaichi/lang/_fast_caching/config_hasher.py,sha256=YtRFtJ8vA9sDgvzHBaMqLV8OG4voVjDTNeVDzPbHAzk,986
66
66
  gstaichi/lang/_fast_caching/fast_caching_types.py,sha256=sjnqzi_8E1zTa6EMUTgJpCOoAaxVLviRS3tUsc5l-i0,661
67
67
  gstaichi/lang/_fast_caching/function_hasher.py,sha256=Q53ReD1Lt694AR2-yuErSWP0WqIOQe4694IS2zXBhTY,1840
68
68
  gstaichi/lang/_fast_caching/hash_utils.py,sha256=C42MfCBB5136-bYuvApgyw9QbGEOqJhe0l-ls8KgOUw,322
69
69
  gstaichi/lang/_fast_caching/python_side_cache.py,sha256=-aJXpMGIAStU7zgSzFtNl0si8-9vEPYy7XCOtns_zUY,1847
70
- gstaichi/lang/_fast_caching/src_hasher.py,sha256=rF3EmSSyVslKTd0-TdPC-kK9rcipmElfHP0_XkTopv0,2981
70
+ gstaichi/lang/_fast_caching/src_hasher.py,sha256=0dNHyRUB-XbSezAH_O-veyNJ9KyJJWY_lzYi8H7tCNc,3378
71
71
  gstaichi/lang/ast/__init__.py,sha256=uPDw6vJparMHLQIaPM4zY5YfKZ7puJtiDd_z41qKYlk,216
72
72
  gstaichi/lang/ast/ast_transformer.py,sha256=akF99PWeQpiMP2r2ny2OFWdqdmBS5X9DHybEoCTFk10,59746
73
73
  gstaichi/lang/ast/ast_transformer_utils.py,sha256=uWfclQrAnTtvHO_-6y0Fbp810pGwFSUm2dJFf44Q1v0,12006
@@ -110,46 +110,46 @@ gstaichi/types/primitive_types.py,sha256=otvV6aBEtMANfjiPaDjl2oB6_7yOsrkgwDkMgg7
110
110
  gstaichi/types/quant.py,sha256=orvn3oskYlhDd5Hln-Bt-oe0EXsPNjfOznMOCBEf1ak,3061
111
111
  gstaichi/types/texture_type.py,sha256=wWhaDNwOQwdMSnxCzXsltr3bWLmreOC9DvEVUV0vIAI,2444
112
112
  gstaichi/types/utils.py,sha256=8X1XmYXhPp-ANzwKRQhQmXV47DW9u-uWoc0fxMrWRDQ,276
113
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools/cmake/SPIRV-ToolsConfig.cmake,sha256=jFprL3mwRRYJ0eh52yZqmUAWD9cA7xA7hhstBQU_scY,230
114
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools/cmake/SPIRV-ToolsTarget-release.cmake,sha256=X438aOEvZsAeo6Suk2LfStdal8R5m3UyfUPCg51DXGM,1477
115
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools/cmake/SPIRV-ToolsTarget.cmake,sha256=mriRCzvolwIXT55WDaD2ouu6AQvVHXQbRdJPmj0ZtSg,4468
116
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffConfig.cmake,sha256=3S1hOLuDTsAwTH-F_Xn9iBdCjjOH6Kx3EjNhDXBVShw,280
117
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffTargets-release.cmake,sha256=6fnDD1oaU-DEP4JIq75wotq4OSPW63pe5jEcTVwEtyo,890
118
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffTargets.cmake,sha256=U1RmMclqSVR8vePS98vpT2RqItqnivv5tXbfM58i9V0,5068
119
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkConfig.cmake,sha256=HgRoCSWZQhGnNEs938xBFDSdxK6crL6VtbrQ9-DqcMY,280
120
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkTargets-release.cmake,sha256=cqDRYOLX02s-xo8EKyuGQwYX6uNa2Lxb363OP0tUB54,890
121
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkTargets.cmake,sha256=nlQJ33ZSrKM5w-xi7lYlopolM5lwcX4Yyqrytlbvj5c,5028
122
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintConfig.cmake,sha256=E0o9wMS7mOV58CacqGpW5EOyG70WrdBKexx1AFlCyiQ,280
123
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintTargets-release.cmake,sha256=3QC3rN6BhZ4n5-WrR9pmu4AfH1QKFIGCCXZjPA3A8c0,890
124
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintTargets.cmake,sha256=X2bmbqKDvgHDUaYEjssse8Rgk_ZsETuMMS3EaX2gmo0,5068
125
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optConfig.cmake,sha256=CYygoz_0kxDnsT7_NbByRCuviPMS0TwwK86Qwc6tnnw,275
126
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optTargets-release.cmake,sha256=vSAY69UsznqGYYqEUdL255U2B3LUZl9PSexaQwmPECw,883
127
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optTargets.cmake,sha256=5Erfqk7DZeEa2sveBBlRw8QwBrdBZ55GDdo14DdNxpI,5029
128
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceConfig.cmake,sha256=i2lpvjP36I_6iEh5mObgdPMz5UOHQ4wIIOcbP5NIjTk,290
129
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceTarget-release.cmake,sha256=D2c9eUqoh3H-ihr_1up2Ppo_2nSLoNyxmo9eWUV_pGE,904
130
- gstaichi-2.1.1rc3.data/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceTarget.cmake,sha256=_Miasn_g_L8dG2fTiigOC-rrDc3aKgHy3IfMi7DB2b4,5077
131
- gstaichi-2.1.1rc3.data/data/bin/SPIRV-Tools-shared.dll,sha256=LIMpMHLRq8-5SoIDl0ptNznCzCHT-qZDXfAzL91eHVs,2042368
132
- gstaichi-2.1.1rc3.data/data/include/GLFW/glfw3.h,sha256=QIB4KnbXSK4tfZ99LqTfJdn-ObkYf5vp70ee9uBPzFQ,240786
133
- gstaichi-2.1.1rc3.data/data/include/GLFW/glfw3native.h,sha256=3hGJGACURjjhav5xcOb9F1fW76uPjfAzoXZlK3UUxAc,19397
134
- gstaichi-2.1.1rc3.data/data/include/spirv-tools/instrument.hpp,sha256=92ifeZiADg0tWjsnYsVqQoH5KbIxxnz3AK-S9r0ln2A,11917
135
- gstaichi-2.1.1rc3.data/data/include/spirv-tools/libspirv.h,sha256=3rvQUbgMs9h3jxnC4OLRyPN-lWvqSjHgy7tS3ZkOYvI,42688
136
- gstaichi-2.1.1rc3.data/data/include/spirv-tools/libspirv.hpp,sha256=TMJs7spPKjYx0FlnorbOSany4R1k2bk8B4wOi_vttic,15012
137
- gstaichi-2.1.1rc3.data/data/include/spirv-tools/linker.hpp,sha256=SKevy72q3RRFOdqQotIb08h9NNMfAnNMKmSF7B20d0A,3691
138
- gstaichi-2.1.1rc3.data/data/include/spirv-tools/optimizer.hpp,sha256=5MPYUrk-hRM6tbFkCr2IUKsukO8eAPjA9_DE-ib4Lnk,50060
139
- gstaichi-2.1.1rc3.data/data/lib/SPIRV-Tools-diff.lib,sha256=hcT_H7KQFhOBOi35jU90OchthHIEqmTKxtExCHbM4LA,4766344
140
- gstaichi-2.1.1rc3.data/data/lib/SPIRV-Tools-link.lib,sha256=EU13ffGGNWtQRab0EQtnJUy6ZNth7x00D5f1h75ERw0,4074904
141
- gstaichi-2.1.1rc3.data/data/lib/SPIRV-Tools-lint.lib,sha256=YK7buEtwM_yTWG-lLvoztlNtQcoNU-GgmR33BhIhy88,4723542
142
- gstaichi-2.1.1rc3.data/data/lib/SPIRV-Tools-opt.lib,sha256=ilHLfVNTJDUtCzo5PklexMqFzQ3BK3ashGjGiqc3YJ0,153197732
143
- gstaichi-2.1.1rc3.data/data/lib/SPIRV-Tools-reduce.lib,sha256=zGRu_v0foHChS9DDUPHEXsQrxL0ieUzKGIHmMMhPAH4,14806994
144
- gstaichi-2.1.1rc3.data/data/lib/SPIRV-Tools-shared.lib,sha256=_x4gg9SeOEDkWOsTAKNGJBr1l4eR-cO5xGr4BCvloMg,16470
145
- gstaichi-2.1.1rc3.data/data/lib/SPIRV-Tools.lib,sha256=Z64Zi0UtgEoW0420iMQQYlmyOppEiZYLrcir7VNO8Jo,37167956
146
- gstaichi-2.1.1rc3.data/data/lib/glfw3.lib,sha256=34oIxR3MsFQ8xvm1duaQCxbf3WgJY9tf-U9t1uA_cH4,687808
147
- gstaichi-2.1.1rc3.data/data/lib/cmake/glfw3/glfw3Config.cmake,sha256=YZVL9F2A70B51dNW0W--Scv9ga3cbyZYjlsaDCs-zHk,118
148
- gstaichi-2.1.1rc3.data/data/lib/cmake/glfw3/glfw3ConfigVersion.cmake,sha256=mttbBnVYyxo57F-pEE8g4-E62lcH8xYujvlmTQyD7ug,2827
149
- gstaichi-2.1.1rc3.data/data/lib/cmake/glfw3/glfw3Targets-release.cmake,sha256=VlH9iN0TgA6MlsPimvnOgTG0gxzsaoGj-RmWEqd9QHA,806
150
- gstaichi-2.1.1rc3.data/data/lib/cmake/glfw3/glfw3Targets.cmake,sha256=D3NWABsZAPn6vu3kAtXXUo3Lqql5NiGhSHVqtwg3UOw,4242
151
- gstaichi-2.1.1rc3.dist-info/licenses/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
152
- gstaichi-2.1.1rc3.dist-info/METADATA,sha256=x33ym62HyUqjSbOWdfsr1ry7EeZYEt-gwhzLn7QCsBY,4849
153
- gstaichi-2.1.1rc3.dist-info/WHEEL,sha256=8UP9x9puWI0P1V_d7K2oMTBqfeLNm21CTzZ_Ptr0NXU,101
154
- gstaichi-2.1.1rc3.dist-info/top_level.txt,sha256=BoKkPzj6Sfycl5Ge5sB9QRDVZvFB5R0sxbZn4YNPb80,9
155
- gstaichi-2.1.1rc3.dist-info/RECORD,,
113
+ gstaichi-2.2.0.data/data/SPIRV-Tools/cmake/SPIRV-ToolsConfig.cmake,sha256=jFprL3mwRRYJ0eh52yZqmUAWD9cA7xA7hhstBQU_scY,230
114
+ gstaichi-2.2.0.data/data/SPIRV-Tools/cmake/SPIRV-ToolsTarget-release.cmake,sha256=X438aOEvZsAeo6Suk2LfStdal8R5m3UyfUPCg51DXGM,1477
115
+ gstaichi-2.2.0.data/data/SPIRV-Tools/cmake/SPIRV-ToolsTarget.cmake,sha256=mriRCzvolwIXT55WDaD2ouu6AQvVHXQbRdJPmj0ZtSg,4468
116
+ gstaichi-2.2.0.data/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffConfig.cmake,sha256=3S1hOLuDTsAwTH-F_Xn9iBdCjjOH6Kx3EjNhDXBVShw,280
117
+ gstaichi-2.2.0.data/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffTargets-release.cmake,sha256=6fnDD1oaU-DEP4JIq75wotq4OSPW63pe5jEcTVwEtyo,890
118
+ gstaichi-2.2.0.data/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffTargets.cmake,sha256=U1RmMclqSVR8vePS98vpT2RqItqnivv5tXbfM58i9V0,5068
119
+ gstaichi-2.2.0.data/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkConfig.cmake,sha256=HgRoCSWZQhGnNEs938xBFDSdxK6crL6VtbrQ9-DqcMY,280
120
+ gstaichi-2.2.0.data/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkTargets-release.cmake,sha256=cqDRYOLX02s-xo8EKyuGQwYX6uNa2Lxb363OP0tUB54,890
121
+ gstaichi-2.2.0.data/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkTargets.cmake,sha256=nlQJ33ZSrKM5w-xi7lYlopolM5lwcX4Yyqrytlbvj5c,5028
122
+ gstaichi-2.2.0.data/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintConfig.cmake,sha256=E0o9wMS7mOV58CacqGpW5EOyG70WrdBKexx1AFlCyiQ,280
123
+ gstaichi-2.2.0.data/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintTargets-release.cmake,sha256=3QC3rN6BhZ4n5-WrR9pmu4AfH1QKFIGCCXZjPA3A8c0,890
124
+ gstaichi-2.2.0.data/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintTargets.cmake,sha256=X2bmbqKDvgHDUaYEjssse8Rgk_ZsETuMMS3EaX2gmo0,5068
125
+ gstaichi-2.2.0.data/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optConfig.cmake,sha256=CYygoz_0kxDnsT7_NbByRCuviPMS0TwwK86Qwc6tnnw,275
126
+ gstaichi-2.2.0.data/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optTargets-release.cmake,sha256=vSAY69UsznqGYYqEUdL255U2B3LUZl9PSexaQwmPECw,883
127
+ gstaichi-2.2.0.data/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optTargets.cmake,sha256=5Erfqk7DZeEa2sveBBlRw8QwBrdBZ55GDdo14DdNxpI,5029
128
+ gstaichi-2.2.0.data/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceConfig.cmake,sha256=i2lpvjP36I_6iEh5mObgdPMz5UOHQ4wIIOcbP5NIjTk,290
129
+ gstaichi-2.2.0.data/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceTarget-release.cmake,sha256=D2c9eUqoh3H-ihr_1up2Ppo_2nSLoNyxmo9eWUV_pGE,904
130
+ gstaichi-2.2.0.data/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceTarget.cmake,sha256=_Miasn_g_L8dG2fTiigOC-rrDc3aKgHy3IfMi7DB2b4,5077
131
+ gstaichi-2.2.0.data/data/bin/SPIRV-Tools-shared.dll,sha256=5ppGP1Ophfxs0IgwW_HvRU1en2pK-xi9rTt4p1qRd9E,2042368
132
+ gstaichi-2.2.0.data/data/include/GLFW/glfw3.h,sha256=QIB4KnbXSK4tfZ99LqTfJdn-ObkYf5vp70ee9uBPzFQ,240786
133
+ gstaichi-2.2.0.data/data/include/GLFW/glfw3native.h,sha256=3hGJGACURjjhav5xcOb9F1fW76uPjfAzoXZlK3UUxAc,19397
134
+ gstaichi-2.2.0.data/data/include/spirv-tools/instrument.hpp,sha256=92ifeZiADg0tWjsnYsVqQoH5KbIxxnz3AK-S9r0ln2A,11917
135
+ gstaichi-2.2.0.data/data/include/spirv-tools/libspirv.h,sha256=3rvQUbgMs9h3jxnC4OLRyPN-lWvqSjHgy7tS3ZkOYvI,42688
136
+ gstaichi-2.2.0.data/data/include/spirv-tools/libspirv.hpp,sha256=TMJs7spPKjYx0FlnorbOSany4R1k2bk8B4wOi_vttic,15012
137
+ gstaichi-2.2.0.data/data/include/spirv-tools/linker.hpp,sha256=SKevy72q3RRFOdqQotIb08h9NNMfAnNMKmSF7B20d0A,3691
138
+ gstaichi-2.2.0.data/data/include/spirv-tools/optimizer.hpp,sha256=5MPYUrk-hRM6tbFkCr2IUKsukO8eAPjA9_DE-ib4Lnk,50060
139
+ gstaichi-2.2.0.data/data/lib/SPIRV-Tools-diff.lib,sha256=urtOTqmH-lwDZtV6Q7XSsiPW1ThGoLKpuuGxZHM0EOo,4766344
140
+ gstaichi-2.2.0.data/data/lib/SPIRV-Tools-link.lib,sha256=XVMnz3tdEhhRBJtGNOvmj6zhJjta3GzSTf0JJ5qyZY0,4074904
141
+ gstaichi-2.2.0.data/data/lib/SPIRV-Tools-lint.lib,sha256=_-9ahDjMWkzxwx3buUQnHbcCqWxoPzsMpcSuirHBz-4,4723542
142
+ gstaichi-2.2.0.data/data/lib/SPIRV-Tools-opt.lib,sha256=XD2NyvdHVRqMcKcNjGJLrWxYNsM5wAeouoTzYMPmVrk,153197732
143
+ gstaichi-2.2.0.data/data/lib/SPIRV-Tools-reduce.lib,sha256=93pTUtBuzB-CK2NjW0_2Cs8vfq-4OGL1RQInQAIGPDI,14806994
144
+ gstaichi-2.2.0.data/data/lib/SPIRV-Tools-shared.lib,sha256=_x4gg9SeOEDkWOsTAKNGJBr1l4eR-cO5xGr4BCvloMg,16470
145
+ gstaichi-2.2.0.data/data/lib/SPIRV-Tools.lib,sha256=t2l9JVxQyXaYPw3tzbRZlCs7Tx5pCOkWCSQai9c0VMg,37167956
146
+ gstaichi-2.2.0.data/data/lib/glfw3.lib,sha256=b6C5T4Biazg8XCyPMPwK3ig1K9YxDKIP4sD4Q9QziZQ,687808
147
+ gstaichi-2.2.0.data/data/lib/cmake/glfw3/glfw3Config.cmake,sha256=YZVL9F2A70B51dNW0W--Scv9ga3cbyZYjlsaDCs-zHk,118
148
+ gstaichi-2.2.0.data/data/lib/cmake/glfw3/glfw3ConfigVersion.cmake,sha256=mttbBnVYyxo57F-pEE8g4-E62lcH8xYujvlmTQyD7ug,2827
149
+ gstaichi-2.2.0.data/data/lib/cmake/glfw3/glfw3Targets-release.cmake,sha256=VlH9iN0TgA6MlsPimvnOgTG0gxzsaoGj-RmWEqd9QHA,806
150
+ gstaichi-2.2.0.data/data/lib/cmake/glfw3/glfw3Targets.cmake,sha256=D3NWABsZAPn6vu3kAtXXUo3Lqql5NiGhSHVqtwg3UOw,4242
151
+ gstaichi-2.2.0.dist-info/licenses/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
152
+ gstaichi-2.2.0.dist-info/METADATA,sha256=nBkJthge9IWTpfA1O3T4kKFNr6xs0w_fVe3jFLA-IqM,4846
153
+ gstaichi-2.2.0.dist-info/WHEEL,sha256=8UP9x9puWI0P1V_d7K2oMTBqfeLNm21CTzZ_Ptr0NXU,101
154
+ gstaichi-2.2.0.dist-info/top_level.txt,sha256=BoKkPzj6Sfycl5Ge5sB9QRDVZvFB5R0sxbZn4YNPb80,9
155
+ gstaichi-2.2.0.dist-info/RECORD,,