gstaichi 0.1.25.dev0__cp311-cp311-win_amd64.whl → 2.0.0__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- gstaichi/CHANGELOG.md +3 -6
- gstaichi/__init__.py +1 -1
- gstaichi/_lib/core/gstaichi_python.cp311-win_amd64.pyd +0 -0
- gstaichi/_lib/core/gstaichi_python.pyi +13 -41
- gstaichi/_lib/runtime/runtime_cuda.bc +0 -0
- gstaichi/_lib/runtime/runtime_x64.bc +0 -0
- gstaichi/_test_tools/__init__.py +18 -0
- gstaichi/_test_tools/dataclass_test_tools.py +36 -0
- gstaichi/_test_tools/textwrap2.py +6 -0
- gstaichi/_version.py +1 -1
- gstaichi/examples/minimal.py +1 -1
- gstaichi/lang/__init__.py +1 -1
- gstaichi/lang/_dataclass_util.py +31 -0
- gstaichi/lang/_fast_caching/__init__.py +3 -0
- gstaichi/lang/_fast_caching/args_hasher.py +110 -0
- gstaichi/lang/_fast_caching/config_hasher.py +30 -0
- gstaichi/lang/_fast_caching/fast_caching_types.py +21 -0
- gstaichi/lang/_fast_caching/function_hasher.py +57 -0
- gstaichi/lang/_fast_caching/hash_utils.py +11 -0
- gstaichi/lang/_fast_caching/python_side_cache.py +52 -0
- gstaichi/lang/_fast_caching/src_hasher.py +75 -0
- gstaichi/lang/_kernel_impl_dataclass.py +212 -0
- gstaichi/lang/_template_mapper.py +16 -20
- gstaichi/lang/_wrap_inspect.py +27 -1
- gstaichi/lang/ast/ast_transformer.py +7 -2
- gstaichi/lang/ast/ast_transformer_utils.py +18 -13
- gstaichi/lang/ast/ast_transformers/call_transformer.py +73 -16
- gstaichi/lang/ast/ast_transformers/function_def_transformer.py +102 -118
- gstaichi/lang/field.py +0 -38
- gstaichi/lang/impl.py +25 -24
- gstaichi/lang/kernel_arguments.py +28 -30
- gstaichi/lang/kernel_impl.py +154 -200
- gstaichi/lang/matrix.py +0 -46
- gstaichi/lang/struct.py +0 -45
- gstaichi/lang/util.py +11 -80
- gstaichi/types/annotations.py +10 -5
- gstaichi/types/compound_types.py +1 -20
- gstaichi/types/ndarray_type.py +31 -11
- gstaichi/types/utils.py +0 -2
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/bin/SPIRV-Tools-shared.dll +0 -0
- gstaichi-2.0.0.data/data/include/GLFW/glfw3.h +6389 -0
- gstaichi-2.0.0.data/data/include/GLFW/glfw3native.h +594 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/SPIRV-Tools-diff.lib +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/SPIRV-Tools-link.lib +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/SPIRV-Tools-lint.lib +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/SPIRV-Tools-opt.lib +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/SPIRV-Tools-reduce.lib +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/SPIRV-Tools-shared.lib +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/lib/SPIRV-Tools.lib +0 -0
- gstaichi-2.0.0.data/data/lib/cmake/glfw3/glfw3Config.cmake +3 -0
- gstaichi-2.0.0.data/data/lib/cmake/glfw3/glfw3ConfigVersion.cmake +65 -0
- gstaichi-2.0.0.data/data/lib/cmake/glfw3/glfw3Targets-release.cmake +19 -0
- gstaichi-2.0.0.data/data/lib/cmake/glfw3/glfw3Targets.cmake +107 -0
- gstaichi-2.0.0.data/data/lib/glfw3.lib +0 -0
- {gstaichi-0.1.25.dev0.dist-info → gstaichi-2.0.0.dist-info}/METADATA +2 -1
- gstaichi-2.0.0.dist-info/RECORD +153 -0
- gstaichi/__main__.py +0 -5
- gstaichi/_main.py +0 -545
- gstaichi/lang/argpack.py +0 -411
- gstaichi-0.1.25.dev0.dist-info/RECORD +0 -138
- gstaichi-0.1.25.dev0.dist-info/entry_points.txt +0 -2
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools/cmake/SPIRV-ToolsConfig.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools/cmake/SPIRV-ToolsTarget-release.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools/cmake/SPIRV-ToolsTarget.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffConfig.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffTargets-release.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffTargets.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkConfig.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkTargets-release.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkTargets.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintConfig.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintTargets-release.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintTargets.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optConfig.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optTargets-release.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optTargets.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceConfig.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceTarget-release.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceTarget.cmake +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv-tools/instrument.hpp +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv-tools/libspirv.h +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv-tools/libspirv.hpp +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv-tools/linker.hpp +0 -0
- {gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/include/spirv-tools/optimizer.hpp +0 -0
- {gstaichi-0.1.25.dev0.dist-info → gstaichi-2.0.0.dist-info}/WHEEL +0 -0
- {gstaichi-0.1.25.dev0.dist-info → gstaichi-2.0.0.dist-info}/licenses/LICENSE +0 -0
- {gstaichi-0.1.25.dev0.dist-info → gstaichi-2.0.0.dist-info}/top_level.txt +0 -0
gstaichi/lang/argpack.py
DELETED
@@ -1,411 +0,0 @@
|
|
1
|
-
# type: ignore
|
2
|
-
|
3
|
-
import numpy as np
|
4
|
-
|
5
|
-
import gstaichi.lang
|
6
|
-
from gstaichi._lib import core as _ti_core
|
7
|
-
from gstaichi.lang import impl, ops
|
8
|
-
from gstaichi.lang.exception import (
|
9
|
-
GsTaichiRuntimeTypeError,
|
10
|
-
GsTaichiSyntaxError,
|
11
|
-
)
|
12
|
-
from gstaichi.lang.matrix import Matrix, MatrixType
|
13
|
-
from gstaichi.lang.struct import Struct, StructType
|
14
|
-
from gstaichi.lang.util import cook_dtype, in_python_scope, python_scope
|
15
|
-
from gstaichi.types import (
|
16
|
-
ndarray_type,
|
17
|
-
primitive_types,
|
18
|
-
sparse_matrix_builder,
|
19
|
-
texture_type,
|
20
|
-
)
|
21
|
-
from gstaichi.types.compound_types import CompoundType
|
22
|
-
from gstaichi.types.utils import is_signed
|
23
|
-
|
24
|
-
|
25
|
-
class ArgPack:
|
26
|
-
""" The `ArgPack` Type Class.
|
27
|
-
|
28
|
-
The `ArgPack` operates as a dictionary-like data pack, storing members as (key, value) pairs. Members stored can
|
29
|
-
range from scalars and matrices to other dictionary-like structures. Distinguished from structs, `ArgPack` can
|
30
|
-
accommodate buffer types such as `NdarrayType` and `TextureType` from GsTaichi. However, unlike `ti.Struct` which
|
31
|
-
serves as a data container, `ArgPack` functions as a reference container. It's important to note that `ArgPack`
|
32
|
-
cannot be nested within other types except for another `ArgPack`, and can only be utilized as kernel parameters.
|
33
|
-
|
34
|
-
Args:
|
35
|
-
annotations (Dict[str, Union[Dict, Matrix, Struct]]): \
|
36
|
-
The keys and types for `ArgPack` members.
|
37
|
-
dtype (ArgPackType): \
|
38
|
-
The ArgPackType class of this ArgPack object.
|
39
|
-
entries (Dict[str, Union[Dict, Matrix, Struct]]): \
|
40
|
-
The keys and corresponding values for `ArgPack` members.
|
41
|
-
|
42
|
-
Returns:
|
43
|
-
An instance of this `ArgPack`.
|
44
|
-
|
45
|
-
Example::
|
46
|
-
|
47
|
-
>>> vec3 = ti.types.vector(3, ti.f32)
|
48
|
-
>>> pack_type = ti.ArgPackType(v=vec3, t=ti.f32)
|
49
|
-
>>> a = pack_type(v=vec3([0, 0, 0]), t=1.0)
|
50
|
-
>>> print(a.items)
|
51
|
-
dict_items([('v', [0. 0. 0.]), ('t', 1.0)])
|
52
|
-
"""
|
53
|
-
|
54
|
-
_instance_count = 0
|
55
|
-
|
56
|
-
def __init__(self, annotations, dtype, *args, **kwargs):
|
57
|
-
# converts dicts to argument packs
|
58
|
-
if len(args) == 1 and kwargs == {} and isinstance(args[0], dict):
|
59
|
-
self.__entries = args[0]
|
60
|
-
elif len(args) == 0:
|
61
|
-
self.__entries = kwargs
|
62
|
-
else:
|
63
|
-
raise GsTaichiSyntaxError(
|
64
|
-
"Custom argument packs need to be initialized using either dictionary or keyword arguments"
|
65
|
-
)
|
66
|
-
if annotations.keys() != self.__entries.keys():
|
67
|
-
raise GsTaichiSyntaxError("ArgPack annotations keys not equals to entries keys.")
|
68
|
-
self.__annotations = annotations
|
69
|
-
for k, v in self.__entries.items():
|
70
|
-
self.__entries[k] = v if in_python_scope() else impl.expr_init(v)
|
71
|
-
self._register_members()
|
72
|
-
self.__dtype = dtype
|
73
|
-
self.__argpack = impl.get_runtime().prog.create_argpack(self.__dtype)
|
74
|
-
for i, (k, v) in enumerate(self.__entries.items()):
|
75
|
-
self._write_to_device(self.__annotations[k], type(v), v, self._calc_element_true_index(i))
|
76
|
-
|
77
|
-
def __del__(self):
|
78
|
-
if impl is not None and impl.get_runtime() is not None and impl.get_runtime().prog is not None:
|
79
|
-
impl.get_runtime().prog.delete_argpack(self.__argpack)
|
80
|
-
|
81
|
-
@property
|
82
|
-
def keys(self):
|
83
|
-
"""Returns the list of member names in string format.
|
84
|
-
|
85
|
-
Example::
|
86
|
-
|
87
|
-
>>> vec3 = ti.types.vector(3, ti.f32)
|
88
|
-
>>> sphere_pack = ti.ArgPackType(center=vec3, radius=ti.f32)
|
89
|
-
>>> sphere = sphere_pack(center=vec3([0, 0, 0]), radius=1.0)
|
90
|
-
>>> sphere.keys
|
91
|
-
['center', 'radius']
|
92
|
-
"""
|
93
|
-
return list(self.__entries.keys())
|
94
|
-
|
95
|
-
@property
|
96
|
-
def _members(self):
|
97
|
-
return list(self.__entries.values())
|
98
|
-
|
99
|
-
@property
|
100
|
-
def _annotations(self):
|
101
|
-
return list(self.__annotations.values())
|
102
|
-
|
103
|
-
@property
|
104
|
-
def items(self):
|
105
|
-
"""Returns the items in this argument pack.
|
106
|
-
|
107
|
-
Example::
|
108
|
-
|
109
|
-
>>> vec3 = ti.types.vector(3, ti.f32)
|
110
|
-
>>> sphere_pack = ti.ArgPackType(center=vec3, radius=ti.f32)
|
111
|
-
>>> sphere = sphere_pack(center=vec3([0, 0, 0]), radius=1.0)
|
112
|
-
>>> sphere.items
|
113
|
-
dict_items([('center', 2), ('radius', 1.0)])
|
114
|
-
"""
|
115
|
-
return self.__entries.items()
|
116
|
-
|
117
|
-
def __getitem__(self, key):
|
118
|
-
ret = self.__entries[key]
|
119
|
-
return ret
|
120
|
-
|
121
|
-
def __setitem__(self, key, value):
|
122
|
-
self.__entries[key] = value
|
123
|
-
index = self._calc_element_true_index(list(self.__annotations).index(key))
|
124
|
-
self._write_to_device(self.__annotations[key], type(value), value, index)
|
125
|
-
|
126
|
-
def _set_entries(self, value):
|
127
|
-
if isinstance(value, dict):
|
128
|
-
value = ArgPack(self.__annotations, value)
|
129
|
-
for k in self.keys:
|
130
|
-
self[k] = value[k]
|
131
|
-
|
132
|
-
@staticmethod
|
133
|
-
def _make_getter(key):
|
134
|
-
def getter(self):
|
135
|
-
"""Get an entry from custom argument pack by name."""
|
136
|
-
return self[key]
|
137
|
-
|
138
|
-
return getter
|
139
|
-
|
140
|
-
@staticmethod
|
141
|
-
def _make_setter(key):
|
142
|
-
@python_scope
|
143
|
-
def setter(self, value):
|
144
|
-
self[key] = value
|
145
|
-
|
146
|
-
return setter
|
147
|
-
|
148
|
-
def _register_members(self):
|
149
|
-
# https://stackoverflow.com/questions/48448074/adding-a-property-to-an-existing-object-instance
|
150
|
-
cls = self.__class__
|
151
|
-
new_cls_name = cls.__name__ + str(cls._instance_count)
|
152
|
-
cls._instance_count += 1
|
153
|
-
properties = {k: property(cls._make_getter(k), cls._make_setter(k)) for k in self.keys}
|
154
|
-
self.__class__ = type(new_cls_name, (cls,), properties)
|
155
|
-
|
156
|
-
def __len__(self):
|
157
|
-
"""Get the number of entries in a custom argument pack."""
|
158
|
-
return len(self.__entries)
|
159
|
-
|
160
|
-
def __iter__(self):
|
161
|
-
return self.__entries.values()
|
162
|
-
|
163
|
-
def __str__(self):
|
164
|
-
"""Python scope argument pack array print support."""
|
165
|
-
if impl.inside_kernel():
|
166
|
-
item_str = ", ".join([str(k) + "=" + str(v) for k, v in self.items])
|
167
|
-
return f"<ti.ArgPack {item_str}>"
|
168
|
-
return str(self.to_dict())
|
169
|
-
|
170
|
-
def __repr__(self):
|
171
|
-
return str(self.to_dict())
|
172
|
-
|
173
|
-
def to_dict(self):
|
174
|
-
"""Converts the ArgPack to a dictionary.
|
175
|
-
|
176
|
-
Returns:
|
177
|
-
Dict: The result dictionary.
|
178
|
-
"""
|
179
|
-
res_dict = {
|
180
|
-
k: v.to_dict() if isinstance(v, ArgPack) else v.to_list() if isinstance(v, Matrix) else v
|
181
|
-
for k, v in self.__entries.items()
|
182
|
-
}
|
183
|
-
return res_dict
|
184
|
-
|
185
|
-
def _calc_element_true_index(self, old_index):
|
186
|
-
for i in range(old_index):
|
187
|
-
anno = list(self.__annotations.values())[i]
|
188
|
-
if (
|
189
|
-
isinstance(anno, sparse_matrix_builder)
|
190
|
-
or isinstance(anno, ndarray_type.NdarrayType)
|
191
|
-
or isinstance(anno, texture_type.TextureType)
|
192
|
-
or isinstance(anno, texture_type.RWTextureType)
|
193
|
-
or isinstance(anno, ndarray_type.NdarrayType)
|
194
|
-
):
|
195
|
-
old_index -= 1
|
196
|
-
return old_index
|
197
|
-
|
198
|
-
def _write_to_device(self, needed, provided, v, index):
|
199
|
-
if isinstance(needed, ArgPackType):
|
200
|
-
if not isinstance(v, ArgPack):
|
201
|
-
raise GsTaichiRuntimeTypeError.get(index, str(needed), str(provided))
|
202
|
-
self.__argpack.set_arg_nested_argpack(index, v.__argpack)
|
203
|
-
else:
|
204
|
-
# Note: do not use sth like "needed == f32". That would be slow.
|
205
|
-
if id(needed) in primitive_types.real_type_ids:
|
206
|
-
if not isinstance(v, (float, int, np.floating, np.integer)):
|
207
|
-
raise GsTaichiRuntimeTypeError.get(index, needed.to_string(), provided)
|
208
|
-
self.__argpack.set_arg_float((index,), float(v))
|
209
|
-
elif id(needed) in primitive_types.integer_type_ids:
|
210
|
-
if not isinstance(v, (int, np.integer)):
|
211
|
-
raise GsTaichiRuntimeTypeError.get(index, needed.to_string(), provided)
|
212
|
-
if is_signed(cook_dtype(needed)):
|
213
|
-
self.__argpack.set_arg_int((index,), int(v))
|
214
|
-
else:
|
215
|
-
self.__argpack.set_arg_uint((index,), int(v))
|
216
|
-
elif isinstance(needed, sparse_matrix_builder):
|
217
|
-
pass
|
218
|
-
elif isinstance(needed, ndarray_type.NdarrayType) and isinstance(v, gstaichi.lang._ndarray.Ndarray):
|
219
|
-
pass
|
220
|
-
elif isinstance(needed, texture_type.TextureType) and isinstance(v, gstaichi.lang._texture.Texture):
|
221
|
-
pass
|
222
|
-
elif isinstance(needed, texture_type.RWTextureType) and isinstance(v, gstaichi.lang._texture.Texture):
|
223
|
-
pass
|
224
|
-
elif isinstance(needed, ndarray_type.NdarrayType):
|
225
|
-
pass
|
226
|
-
elif isinstance(needed, MatrixType):
|
227
|
-
if needed.dtype in primitive_types.real_types:
|
228
|
-
|
229
|
-
def cast_func(x):
|
230
|
-
if not isinstance(x, (int, float, np.integer, np.floating)):
|
231
|
-
raise GsTaichiRuntimeTypeError.get(index, needed.dtype.to_string(), type(x))
|
232
|
-
return float(x)
|
233
|
-
|
234
|
-
elif needed.dtype in primitive_types.integer_types:
|
235
|
-
|
236
|
-
def cast_func(x):
|
237
|
-
if not isinstance(x, (int, np.integer)):
|
238
|
-
raise GsTaichiRuntimeTypeError.get(index, needed.dtype.to_string(), type(x))
|
239
|
-
return int(x)
|
240
|
-
|
241
|
-
else:
|
242
|
-
raise ValueError(f"Matrix dtype {needed.dtype} is not integer type or real type.")
|
243
|
-
|
244
|
-
if needed.ndim == 2:
|
245
|
-
v = [cast_func(v[i, j]) for i in range(needed.n) for j in range(needed.m)]
|
246
|
-
else:
|
247
|
-
v = [cast_func(v[i]) for i in range(needed.n)]
|
248
|
-
v = needed(*v)
|
249
|
-
needed.set_argpack_struct_args(v, self.__argpack, (index,))
|
250
|
-
elif isinstance(needed, StructType):
|
251
|
-
if not isinstance(v, needed):
|
252
|
-
raise GsTaichiRuntimeTypeError.get(index, str(needed), provided)
|
253
|
-
needed.set_argpack_struct_args(v, self.__argpack, (index,))
|
254
|
-
else:
|
255
|
-
raise ValueError(f"Argument type mismatch. Expecting {needed}, got {type(v)}.")
|
256
|
-
|
257
|
-
|
258
|
-
class _IntermediateArgPack(ArgPack):
|
259
|
-
"""Intermediate argument pack class for compiler internal use only.
|
260
|
-
|
261
|
-
Args:
|
262
|
-
annotations (Dict[str, Union[Expr, Matrix, Struct]]): keys and types for struct members.
|
263
|
-
entries (Dict[str, Union[Expr, Matrix, Struct]]): keys and values for struct members.
|
264
|
-
"""
|
265
|
-
|
266
|
-
def __init__(self, annotations, dtype, *args, **kwargs):
|
267
|
-
# converts dicts to argument packs
|
268
|
-
if len(args) == 1 and kwargs == {} and isinstance(args[0], dict):
|
269
|
-
self._ArgPack__entries = args[0]
|
270
|
-
elif len(args) == 0:
|
271
|
-
self._ArgPack__entries = kwargs
|
272
|
-
else:
|
273
|
-
raise GsTaichiSyntaxError(
|
274
|
-
"Custom argument packs need to be initialized using either dictionary or keyword arguments"
|
275
|
-
)
|
276
|
-
if annotations.keys() != self._ArgPack__entries.keys():
|
277
|
-
raise GsTaichiSyntaxError("ArgPack annotations keys not equals to entries keys.")
|
278
|
-
self._ArgPack__annotations = annotations
|
279
|
-
self._register_members()
|
280
|
-
self._ArgPack__dtype = dtype
|
281
|
-
self._ArgPack__argpack = impl.get_runtime().prog.create_argpack(dtype)
|
282
|
-
|
283
|
-
def __del__(self):
|
284
|
-
pass
|
285
|
-
|
286
|
-
|
287
|
-
class ArgPackType(CompoundType):
|
288
|
-
def __init__(self, **kwargs):
|
289
|
-
self.members = {}
|
290
|
-
elements = []
|
291
|
-
for k, dtype in kwargs.items():
|
292
|
-
if isinstance(dtype, StructType):
|
293
|
-
self.members[k] = dtype
|
294
|
-
elements.append([dtype.dtype, k])
|
295
|
-
elif isinstance(dtype, ArgPackType):
|
296
|
-
self.members[k] = dtype
|
297
|
-
elements.append(
|
298
|
-
[
|
299
|
-
_ti_core.DataTypeCxx(
|
300
|
-
_ti_core.get_type_factory_instance().get_struct_type_for_argpack_ptr(dtype.dtype)
|
301
|
-
),
|
302
|
-
k,
|
303
|
-
]
|
304
|
-
)
|
305
|
-
elif isinstance(dtype, MatrixType):
|
306
|
-
# Convert MatrixType to StructType
|
307
|
-
if dtype.ndim == 1:
|
308
|
-
elements_ = [(dtype.dtype, f"{k}_{i}") for i in range(dtype.n)]
|
309
|
-
else:
|
310
|
-
elements_ = [(dtype.dtype, f"{k}_{i}_{j}") for i in range(dtype.n) for j in range(dtype.m)]
|
311
|
-
self.members[k] = dtype
|
312
|
-
elements.append([_ti_core.get_type_factory_instance().get_struct_type(elements_), k])
|
313
|
-
elif isinstance(dtype, sparse_matrix_builder):
|
314
|
-
self.members[k] = dtype
|
315
|
-
elif isinstance(dtype, ndarray_type.NdarrayType):
|
316
|
-
self.members[k] = dtype
|
317
|
-
elif isinstance(dtype, texture_type.RWTextureType):
|
318
|
-
self.members[k] = dtype
|
319
|
-
elif isinstance(dtype, texture_type.TextureType):
|
320
|
-
self.members[k] = dtype
|
321
|
-
else:
|
322
|
-
dtype = cook_dtype(dtype)
|
323
|
-
self.members[k] = dtype
|
324
|
-
elements.append([dtype, k])
|
325
|
-
if len(elements) == 0:
|
326
|
-
# Use i32 as a placeholder for empty argpacks
|
327
|
-
elements.append([primitive_types.i32, k])
|
328
|
-
self.dtype = _ti_core.get_type_factory_instance().get_argpack_type(elements)
|
329
|
-
|
330
|
-
def __call__(self, *args, **kwargs):
|
331
|
-
"""Create an instance of this argument pack type."""
|
332
|
-
d = {}
|
333
|
-
items = self.members.items()
|
334
|
-
# iterate over the members of this argument pack
|
335
|
-
for index, pair in enumerate(items):
|
336
|
-
name, dtype = pair # (member name, member type))
|
337
|
-
if index < len(args): # set from args
|
338
|
-
data = args[index]
|
339
|
-
else: # set from kwargs
|
340
|
-
data = kwargs.get(name, None)
|
341
|
-
|
342
|
-
# If dtype is CompoundType and data is a scalar, it cannot be
|
343
|
-
# casted in the self.cast call later. We need an initialization here.
|
344
|
-
if isinstance(dtype, CompoundType) and not isinstance(data, (dict, ArgPack, Struct)):
|
345
|
-
data = dtype(data)
|
346
|
-
|
347
|
-
d[name] = data
|
348
|
-
|
349
|
-
entries = ArgPack(self.members, self.dtype, d)
|
350
|
-
pack = self.cast(entries)
|
351
|
-
return pack
|
352
|
-
|
353
|
-
def __instancecheck__(self, instance):
|
354
|
-
if not isinstance(instance, ArgPack):
|
355
|
-
return False
|
356
|
-
if list(self.members.keys()) != list(instance._ArgPack__entries.keys()):
|
357
|
-
return False
|
358
|
-
for k, v in self.members.items():
|
359
|
-
if isinstance(v, ArgPackType):
|
360
|
-
if not isinstance(instance._ArgPack__entries[k], v):
|
361
|
-
return False
|
362
|
-
elif instance._ArgPack__annotations[k] != v:
|
363
|
-
return False
|
364
|
-
return True
|
365
|
-
|
366
|
-
def cast(self, pack):
|
367
|
-
# sanity check members
|
368
|
-
if self.members.keys() != pack._ArgPack__entries.keys():
|
369
|
-
raise GsTaichiSyntaxError("Incompatible arguments for custom argument pack members!")
|
370
|
-
entries = {}
|
371
|
-
for k, dtype in self.members.items():
|
372
|
-
if isinstance(dtype, MatrixType):
|
373
|
-
entries[k] = dtype(pack._ArgPack__entries[k])
|
374
|
-
elif isinstance(dtype, CompoundType):
|
375
|
-
entries[k] = dtype.cast(pack._ArgPack__entries[k])
|
376
|
-
elif isinstance(dtype, ArgPackType):
|
377
|
-
entries[k] = dtype.cast(pack._ArgPack__entries[k])
|
378
|
-
elif isinstance(dtype, ndarray_type.NdarrayType):
|
379
|
-
entries[k] = pack._ArgPack__entries[k]
|
380
|
-
elif isinstance(dtype, texture_type.RWTextureType):
|
381
|
-
entries[k] = pack._ArgPack__entries[k]
|
382
|
-
elif isinstance(dtype, texture_type.TextureType):
|
383
|
-
entries[k] = pack._ArgPack__entries[k]
|
384
|
-
elif isinstance(dtype, sparse_matrix_builder):
|
385
|
-
entries[k] = pack._ArgPack__entries[k]
|
386
|
-
else:
|
387
|
-
if in_python_scope():
|
388
|
-
v = pack._ArgPack__entries[k]
|
389
|
-
entries[k] = int(v) if dtype in primitive_types.integer_types else float(v)
|
390
|
-
else:
|
391
|
-
entries[k] = ops.cast(pack._ArgPack__entries[k], dtype)
|
392
|
-
pack = ArgPack(self.members, self.dtype, entries)
|
393
|
-
return pack
|
394
|
-
|
395
|
-
def from_gstaichi_object(self, arg_load_dict: dict):
|
396
|
-
d = {}
|
397
|
-
items = self.members.items()
|
398
|
-
for index, pair in enumerate(items):
|
399
|
-
name, dtype = pair
|
400
|
-
d[name] = arg_load_dict[name]
|
401
|
-
pack = _IntermediateArgPack(self.members, self.dtype, d)
|
402
|
-
pack._ArgPack__dtype = self.dtype
|
403
|
-
return pack
|
404
|
-
|
405
|
-
def __str__(self):
|
406
|
-
"""Python scope argpack type print support."""
|
407
|
-
item_str = ", ".join([str(k) + "=" + str(v) for k, v in self.members.items()])
|
408
|
-
return f"<ti.ArgPackType {item_str}>"
|
409
|
-
|
410
|
-
|
411
|
-
__all__ = ["ArgPack"]
|
@@ -1,138 +0,0 @@
|
|
1
|
-
gstaichi/CHANGELOG.md,sha256=Tc9M_4J7QkTCepb08C1W2E0LVZH5YWkGczrhi78AnSE,446
|
2
|
-
gstaichi/__init__.py,sha256=ElfSJalp91BnNCfQX12hjt_eYFuOoNrcS4f1-JPlSm8,1043
|
3
|
-
gstaichi/__main__.py,sha256=OW87w7o1iQm9wxO2L280yT9owYxXBxpw9uFle4xNLg4,53
|
4
|
-
gstaichi/_funcs.py,sha256=u0o3F7Yq6r2dxkimThby4rvceRjUGajaLyzkPtwMJgM,23943
|
5
|
-
gstaichi/_kernels.py,sha256=3R9_Ht0q1BSku-Jslvf5eYQY2bD8vFS5ZvL-im_iLPs,14664
|
6
|
-
gstaichi/_logging.py,sha256=-4yqQ5rePskPzIbDdZSahAf4RYG_R7RNQDHau1wbcuc,3813
|
7
|
-
gstaichi/_main.py,sha256=OjkSMxIxvxJS16zcrLB0nnFznWV7un_WdcVdAAjz0_Y,18535
|
8
|
-
gstaichi/_version.py,sha256=aHLsnStkhv_L-k0JfE45bKXUIGRx8aRfAEjITzU5jVA,29
|
9
|
-
gstaichi/_version_check.py,sha256=s_t4ZEajc4Uw4RTjm2QS-gSfDsjXe32NHKDwWNFiQHw,3756
|
10
|
-
gstaichi/experimental.py,sha256=SwtoqhUcSxCSea-sT10G-GgZaTcSWUNPmTACK0MCHH4,359
|
11
|
-
gstaichi/_lib/__init__.py,sha256=rsFUVL8_2_eyK2Z4MiP6NvLIEykG1fsK8l1WZNQa3ko,74
|
12
|
-
gstaichi/_lib/utils.py,sha256=H7nEqcw_l7BGzXKEomjhovhQuHgZzQBUcXYiaS7_H5E,8090
|
13
|
-
gstaichi/_lib/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
14
|
-
gstaichi/_lib/core/gstaichi_python.cp311-win_amd64.pyd,sha256=8fuXbqPcAEcwMZM7h8y7lBLXG0LKOwmifEAapynYKc0,71110144
|
15
|
-
gstaichi/_lib/core/gstaichi_python.pyi,sha256=4ok1bHJQ9JF9veM1Ilxw_eo9jSPczdQ47eGrBozFdso,114279
|
16
|
-
gstaichi/_lib/core/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
17
|
-
gstaichi/_lib/runtime/runtime_cuda.bc,sha256=hA22GTBD0WH6F_yGSFkC0MQTiWekh4hrR3cUzP-m3zQ,155520
|
18
|
-
gstaichi/_lib/runtime/runtime_x64.bc,sha256=AmkyoH51ja6s3TbRCsuIbK0H0M1Jp5CAjBjJyAYU5pk,140112
|
19
|
-
gstaichi/_lib/runtime/slim_libdevice.10.bc,sha256=9dlDFXMV4uIAIKy-1yU7ppNV_oMdIHDR9YqOT_7sfaw,171892
|
20
|
-
gstaichi/_snode/__init__.py,sha256=ufrWH-RIsTEFT_2Io4dQiWRPTLDrC37RpXpBp38LHq8,107
|
21
|
-
gstaichi/_snode/fields_builder.py,sha256=nl272xfq6sbNbM3DHXm6y4MNM8LhhPGENFbyfjxpNVM,6950
|
22
|
-
gstaichi/_snode/snode_tree.py,sha256=MFrrz6_4MtkYP4UzFur1YwMIizyA5hXYraQukTi3QcI,1231
|
23
|
-
gstaichi/_test_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
24
|
-
gstaichi/_test_tools/load_kernel_string.py,sha256=PfYrMVzL3PfTQhpZebDxipa_lmwA8lcVDsvQ1p1bmnw,1037
|
25
|
-
gstaichi/ad/__init__.py,sha256=OZJX0DpEa8iivSWi3R_BUmmbTaUUFKYPEvCsmJaFhV4,49
|
26
|
-
gstaichi/ad/_ad.py,sha256=9la_eRa0ipYRvr32InLOuk1I9ePc0tGCf82xs_poXwQ,19742
|
27
|
-
gstaichi/algorithms/__init__.py,sha256=ueWUSLoLUkh4k-deNS3dxRi9QYNIrtwxNveYb5vaJkE,46
|
28
|
-
gstaichi/algorithms/_algorithms.py,sha256=7ZBfgVexL4mIMny1WU4JEGJz7r-hx8DwnYhPbgVRbq4,3822
|
29
|
-
gstaichi/assets/.git,sha256=_sepXJOH-4A9o4jtu-46jG2P6XHHbsvGW3642aKNQBc,43
|
30
|
-
gstaichi/assets/Go-Regular.ttf,sha256=S7gpWTE2QWxqOezcRUguBS91rDdOZFm5r2jU-6J5OWw,134988
|
31
|
-
gstaichi/assets/static/imgs/ti_gallery.png,sha256=rOeh8JlUXb-ZdkTaei3cVyJXZBWOqcJBLdndAORUdtU,263871
|
32
|
-
gstaichi/examples/minimal.py,sha256=y_VNNL6VVANEJmcs63HlcnFPPA6wDiaZ9mhkDkRR2UI,633
|
33
|
-
gstaichi/lang/__init__.py,sha256=sVuMTxF3yxCn7CfpOaOLFhnygvtVXM8yPjJA1B5Of3M,1306
|
34
|
-
gstaichi/lang/_ndarray.py,sha256=MW-Tb6o8U6qUFz_06n3LL1Y-VRTuwVMLZfWkosEu9nk,11126
|
35
|
-
gstaichi/lang/_ndrange.py,sha256=ATLSTdjdMGXcz3jCn2vkaaDGUglK5I4M9mwk4gJCLx8,5921
|
36
|
-
gstaichi/lang/_template_mapper.py,sha256=GDmuDmPIzafaNHFMhv6bZPxLIu2IEsonWnaOWTnI5F0,10313
|
37
|
-
gstaichi/lang/_texture.py,sha256=fGIPeGFZz1DO-RAUuEAiwSJIRN8o-7wgZi1URR4UFOw,6784
|
38
|
-
gstaichi/lang/_wrap_inspect.py,sha256=X1-XraGsweCstb0NJc7AG_9rqymg4yZ0u8eXFXxUIHU,7175
|
39
|
-
gstaichi/lang/any_array.py,sha256=Uq5K-QZjWgBNvYBXlL831r96MPtEPF5jFTTHrAmrhFY,3391
|
40
|
-
gstaichi/lang/argpack.py,sha256=Dzp4UnX7fR3BAfcsHXnlI2zuvvEH5GOZ8RSNZwatkso,17188
|
41
|
-
gstaichi/lang/common_ops.py,sha256=bIGmalXVnxVc5mw-k704zFwr38bR9uZx_4ieNS3PYpQ,8768
|
42
|
-
gstaichi/lang/exception.py,sha256=f-EWm56Px6TpskhCgEReqoY8meg_-4nZD9vFOA5TVic,2165
|
43
|
-
gstaichi/lang/expr.py,sha256=bSWJyNJ55Xnv7mADHxKRhwH0lB2cXnRi9EpCrHgElLY,6587
|
44
|
-
gstaichi/lang/field.py,sha256=LeI7G9QXPoKz9_vPQWw6L5TZxP8rK7AnrO4Yu6_TiHQ,14890
|
45
|
-
gstaichi/lang/impl.py,sha256=Ryz9x5i4_vswEHN1Mk3d7Ow9uF2mVRq0mKwj-YY-BPE,42729
|
46
|
-
gstaichi/lang/kernel_arguments.py,sha256=3xKeGT6NsPNtdtdqdWQj2SnWa2Q3MefoZHs9Ik_eXuQ,6564
|
47
|
-
gstaichi/lang/kernel_impl.py,sha256=MnSbJrnJLfApxSD-81gXZ21awYjSDIxMOv_FvGOwjCQ,62593
|
48
|
-
gstaichi/lang/matrix.py,sha256=rlev6uB45vSnLmpiCY8hkAtFCPJZGvpPIVfhm9JHE1s,65707
|
49
|
-
gstaichi/lang/matrix_ops.py,sha256=v89ID3thZ8irSLU9Tyf1hmEdQTjGyMHWqvfzsvnFxGo,10399
|
50
|
-
gstaichi/lang/matrix_ops_utils.py,sha256=rrrC5KjmCt1w0ZNtLWqo5ZOjZNR74iqGjuVfHvqwwxg,5435
|
51
|
-
gstaichi/lang/mesh.py,sha256=ukqJYWSf3ANPoiV4Ue-DWMPZ0y21bGrhEUseVAIJK4w,27758
|
52
|
-
gstaichi/lang/misc.py,sha256=FmOZ9MPcMzsCrZ8ZDGKHAbi2wlZZTKNiRLvjm0Cwwjs,24080
|
53
|
-
gstaichi/lang/ops.py,sha256=zKwfBLQrdnyyoHflIUe9DY3BQ2wQusfRrDLPRyAThpk,45919
|
54
|
-
gstaichi/lang/runtime_ops.py,sha256=TKlPOBMWGGg0jQZFlik4f5c1Do5cUlhEMk6r4VlOfvM,237
|
55
|
-
gstaichi/lang/shell.py,sha256=k9YPpByujyHis2Vv-oHSJowQAhhS1Iic9Oa7JKhy584,1095
|
56
|
-
gstaichi/lang/snode.py,sha256=3e6Uqr3SCDQUOhNLgZFbSsVve36ZKdCX9ebc6kU2jDA,17613
|
57
|
-
gstaichi/lang/source_builder.py,sha256=ytBdJbFzcccD2ekVvy-v8YrllNEcSM1RRMUe-FWENI0,5959
|
58
|
-
gstaichi/lang/struct.py,sha256=vijHpCZWCu3R-SDYLvrsttm_o5Jo45WchbRB2QES4cY,32024
|
59
|
-
gstaichi/lang/util.py,sha256=DidKh5GfRXnbkHSdxhwmFRRdoQVmFVjdj4NfKAZJy3c,9496
|
60
|
-
gstaichi/lang/ast/__init__.py,sha256=uPDw6vJparMHLQIaPM4zY5YfKZ7puJtiDd_z41qKYlk,216
|
61
|
-
gstaichi/lang/ast/ast_transformer.py,sha256=I3F1ti2wl0cQK73TaLTx3OKz3KwYga8XnPHhUDTdpnI,59439
|
62
|
-
gstaichi/lang/ast/ast_transformer_utils.py,sha256=cmXoJ5h-mgXEUcd_D8axlIJCs0ZfX8cJhIzKCK-E6BA,11858
|
63
|
-
gstaichi/lang/ast/checkers.py,sha256=Lckg_gHzJyXTWVLYdp2HKBJxVygXwc1E2C8D_XTsL2k,3906
|
64
|
-
gstaichi/lang/ast/symbol_resolver.py,sha256=BtTp-U36tLZwbZVHI7Cq5-6GmrnaWdqC6S7SiWD4t4Q,1829
|
65
|
-
gstaichi/lang/ast/transform.py,sha256=z28ji4mXsZ8Q9LmvaOkHu3BuE1m_opTaCMuP56ptvxQ,275
|
66
|
-
gstaichi/lang/ast/ast_transformers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
67
|
-
gstaichi/lang/ast/ast_transformers/call_transformer.py,sha256=CKY_DpjYaUUefpPLWDYsB4MXpzSx-ny1iOH1HWP-UlM,11176
|
68
|
-
gstaichi/lang/ast/ast_transformers/function_def_transformer.py,sha256=J7po65GXrp9P27AJ12RTIJgLPd8VTKoFrZ12R0wtNko,13414
|
69
|
-
gstaichi/lang/simt/__init__.py,sha256=63Z2qOmwx3hq1PdnJTCmwuKGIT9c24lFX_HgCtXMEJY,129
|
70
|
-
gstaichi/lang/simt/block.py,sha256=2L0u67bFYfTamprexNwAD_7-ICClVshiZKeFsflXS60,3733
|
71
|
-
gstaichi/lang/simt/grid.py,sha256=9ZG9nokauer_2U3pF1xs6g3vmESJW1Tc0WlprjiTPio,147
|
72
|
-
gstaichi/lang/simt/subgroup.py,sha256=1remFLCKn7lCjCu_aoJi_61AbmSCip4MrDCRvoGWvHs,3972
|
73
|
-
gstaichi/lang/simt/warp.py,sha256=7G5jvLK3LG7UtUrxWPFaTevWHKTcMMcQfswcoAZxnvs,3183
|
74
|
-
gstaichi/linalg/__init__.py,sha256=ATOotbLKPXXj4oK5eJo1mw3MpxI9G5Jl-ZOYz2ix8d0,275
|
75
|
-
gstaichi/linalg/matrixfree_cg.py,sha256=6di4ukw0Fria0YbIQD2NThN9Ug-sLL676hpwI9nPihY,10648
|
76
|
-
gstaichi/linalg/sparse_cg.py,sha256=dIib4CX7VrcmNDMQQ-GbFbEOMGbz_-qYiY9m2z7owyA,2617
|
77
|
-
gstaichi/linalg/sparse_matrix.py,sha256=S-kiQHjMbaMLOtOL0xjwulIv-4GV7traEZNYr3EVoXU,11274
|
78
|
-
gstaichi/linalg/sparse_solver.py,sha256=3xn47VgRq2VrmZE7jORWPEjwEIs4IoARZE_MMzUdsd8,5051
|
79
|
-
gstaichi/math/__init__.py,sha256=SNSKaPVXAJkxxA1DKV_SbgGL4m52Jli-w-nKPa6StNI,214
|
80
|
-
gstaichi/math/_complex.py,sha256=-xUZbUc9EZk53u7x3x9W4KLOEq-hzdWk5AHwMm_7x4E,5185
|
81
|
-
gstaichi/math/mathimpl.py,sha256=pFH_VOOeRyMYT1BBR6m017VhMKlWV0awiseasJFD8HI,22619
|
82
|
-
gstaichi/profiler/__init__.py,sha256=TK0K83FmQpSYArY8elycQujea_zCZApG9-dRHdnPUz0,213
|
83
|
-
gstaichi/profiler/kernel_metrics.py,sha256=zGSi38qKf1t1NxIx4RUFy_BNo42MlCmIQ4e7CpSf_5c,7883
|
84
|
-
gstaichi/profiler/kernel_profiler.py,sha256=xIwgVdjGitwpLOkSVUXS0ThcPmN66q7ORJKWI9w_Q1w,22862
|
85
|
-
gstaichi/profiler/memory_profiler.py,sha256=AW8ekyrdBqKV9uQJq7EdTBAx6Ytf8qblYllVY5H-6tk,358
|
86
|
-
gstaichi/profiler/scoped_profiler.py,sha256=E9XaqWJkHS9-S_qPWmH0OoAgnAaqKoTlUQBqJMuhSv4,1007
|
87
|
-
gstaichi/sparse/__init__.py,sha256=7VN50pijO_9Z498YrtApTIMR6FjZ_LQPlftUBajudMQ,47
|
88
|
-
gstaichi/sparse/_sparse_grid.py,sha256=y8hSerL3ti7xgmIsXn3jSz0uboqYux2kGD2V1GIzG7g,2509
|
89
|
-
gstaichi/tools/__init__.py,sha256=tR6azYK2JhYiPNP-r_Phi8bG6bfT_hSp6xfs8yECMiI,329
|
90
|
-
gstaichi/tools/diagnose.py,sha256=OZCQk_E5ijCXgBjSkUk3dDwenlQWXd-SLFBAgT4drHk,3565
|
91
|
-
gstaichi/tools/np2ply.py,sha256=2hJKNZvpoHCh8PBKXWBjkBCUu_q1U6L4eAmKdRBXUbg,15635
|
92
|
-
gstaichi/tools/vtk.py,sha256=ziOsTJI4AaDy1OxNxsU2pi98J3_QXqkEJwTwMRsYJoM,1070
|
93
|
-
gstaichi/types/__init__.py,sha256=mb4cL9OIiq2QosRoQIAYblE7CX_I2cH09NihtwMbh_s,621
|
94
|
-
gstaichi/types/annotations.py,sha256=UBbmQ4VAGpWyRdz3m4iBfv9ipCtxiXTvnxH3PTV78rw,1039
|
95
|
-
gstaichi/types/compound_types.py,sha256=YbWW8o9yrbSIb24nT6UPnrbU-IBkX1QUfKXiqbNSLM4,2479
|
96
|
-
gstaichi/types/enums.py,sha256=U6b2fXrIhBkYtWzz5IFmCNUndx8M-nyCP8nEUgr0l04,2099
|
97
|
-
gstaichi/types/ndarray_type.py,sha256=WX3Vz8xJ2yBnWNQko3o9qBnSbjnpX-2NftlcjrFO2x8,6967
|
98
|
-
gstaichi/types/primitive_types.py,sha256=otvV6aBEtMANfjiPaDjl2oB6_7yOsrkgwDkMgg73i_c,4273
|
99
|
-
gstaichi/types/quant.py,sha256=orvn3oskYlhDd5Hln-Bt-oe0EXsPNjfOznMOCBEf1ak,3061
|
100
|
-
gstaichi/types/texture_type.py,sha256=wWhaDNwOQwdMSnxCzXsltr3bWLmreOC9DvEVUV0vIAI,2444
|
101
|
-
gstaichi/types/utils.py,sha256=KuF5ClnmISEsT2bGp4vR8fW-haQaGFw7Rf_41aVK73w,294
|
102
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools/cmake/SPIRV-ToolsConfig.cmake,sha256=jFprL3mwRRYJ0eh52yZqmUAWD9cA7xA7hhstBQU_scY,230
|
103
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools/cmake/SPIRV-ToolsTarget-release.cmake,sha256=X438aOEvZsAeo6Suk2LfStdal8R5m3UyfUPCg51DXGM,1477
|
104
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools/cmake/SPIRV-ToolsTarget.cmake,sha256=mriRCzvolwIXT55WDaD2ouu6AQvVHXQbRdJPmj0ZtSg,4468
|
105
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffConfig.cmake,sha256=3S1hOLuDTsAwTH-F_Xn9iBdCjjOH6Kx3EjNhDXBVShw,280
|
106
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffTargets-release.cmake,sha256=6fnDD1oaU-DEP4JIq75wotq4OSPW63pe5jEcTVwEtyo,890
|
107
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools-diff/cmake/SPIRV-Tools-diffTargets.cmake,sha256=U1RmMclqSVR8vePS98vpT2RqItqnivv5tXbfM58i9V0,5068
|
108
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkConfig.cmake,sha256=HgRoCSWZQhGnNEs938xBFDSdxK6crL6VtbrQ9-DqcMY,280
|
109
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkTargets-release.cmake,sha256=cqDRYOLX02s-xo8EKyuGQwYX6uNa2Lxb363OP0tUB54,890
|
110
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools-link/cmake/SPIRV-Tools-linkTargets.cmake,sha256=nlQJ33ZSrKM5w-xi7lYlopolM5lwcX4Yyqrytlbvj5c,5028
|
111
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintConfig.cmake,sha256=E0o9wMS7mOV58CacqGpW5EOyG70WrdBKexx1AFlCyiQ,280
|
112
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintTargets-release.cmake,sha256=3QC3rN6BhZ4n5-WrR9pmu4AfH1QKFIGCCXZjPA3A8c0,890
|
113
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools-lint/cmake/SPIRV-Tools-lintTargets.cmake,sha256=X2bmbqKDvgHDUaYEjssse8Rgk_ZsETuMMS3EaX2gmo0,5068
|
114
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optConfig.cmake,sha256=CYygoz_0kxDnsT7_NbByRCuviPMS0TwwK86Qwc6tnnw,275
|
115
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optTargets-release.cmake,sha256=vSAY69UsznqGYYqEUdL255U2B3LUZl9PSexaQwmPECw,883
|
116
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools-opt/cmake/SPIRV-Tools-optTargets.cmake,sha256=5Erfqk7DZeEa2sveBBlRw8QwBrdBZ55GDdo14DdNxpI,5029
|
117
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceConfig.cmake,sha256=i2lpvjP36I_6iEh5mObgdPMz5UOHQ4wIIOcbP5NIjTk,290
|
118
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceTarget-release.cmake,sha256=D2c9eUqoh3H-ihr_1up2Ppo_2nSLoNyxmo9eWUV_pGE,904
|
119
|
-
gstaichi-0.1.25.dev0.data/data/SPIRV-Tools-reduce/cmake/SPIRV-Tools-reduceTarget.cmake,sha256=_Miasn_g_L8dG2fTiigOC-rrDc3aKgHy3IfMi7DB2b4,5077
|
120
|
-
gstaichi-0.1.25.dev0.data/data/bin/SPIRV-Tools-shared.dll,sha256=gx_JZb4EFP_EMWmCj3_gjTw_rGg8rL81X-2620dQKAQ,2042368
|
121
|
-
gstaichi-0.1.25.dev0.data/data/include/spirv-tools/instrument.hpp,sha256=92ifeZiADg0tWjsnYsVqQoH5KbIxxnz3AK-S9r0ln2A,11917
|
122
|
-
gstaichi-0.1.25.dev0.data/data/include/spirv-tools/libspirv.h,sha256=3rvQUbgMs9h3jxnC4OLRyPN-lWvqSjHgy7tS3ZkOYvI,42688
|
123
|
-
gstaichi-0.1.25.dev0.data/data/include/spirv-tools/libspirv.hpp,sha256=TMJs7spPKjYx0FlnorbOSany4R1k2bk8B4wOi_vttic,15012
|
124
|
-
gstaichi-0.1.25.dev0.data/data/include/spirv-tools/linker.hpp,sha256=SKevy72q3RRFOdqQotIb08h9NNMfAnNMKmSF7B20d0A,3691
|
125
|
-
gstaichi-0.1.25.dev0.data/data/include/spirv-tools/optimizer.hpp,sha256=5MPYUrk-hRM6tbFkCr2IUKsukO8eAPjA9_DE-ib4Lnk,50060
|
126
|
-
gstaichi-0.1.25.dev0.data/data/lib/SPIRV-Tools-diff.lib,sha256=FMVv2FklpiiJDyh_UJekkGoqJbD1-TEvPeV8aFpAC2w,4766340
|
127
|
-
gstaichi-0.1.25.dev0.data/data/lib/SPIRV-Tools-link.lib,sha256=tV9eQJsA_sR0M9DvWc0h7L9aESVPzuc_Gv9zo1BK9Lo,4074900
|
128
|
-
gstaichi-0.1.25.dev0.data/data/lib/SPIRV-Tools-lint.lib,sha256=8KIBXaokd7uNDBVeODcZ0j7g4vfA9rEPGPotkQzQttk,4723542
|
129
|
-
gstaichi-0.1.25.dev0.data/data/lib/SPIRV-Tools-opt.lib,sha256=J0xr4mLQrBG8QUkNgkOtGQFTD6raaev5G0SfVs5CJAU,153197666
|
130
|
-
gstaichi-0.1.25.dev0.data/data/lib/SPIRV-Tools-reduce.lib,sha256=RozQC59NssOA0L4Q1pjoWWccSwtrl_sg5ys5X654rAk,14806982
|
131
|
-
gstaichi-0.1.25.dev0.data/data/lib/SPIRV-Tools-shared.lib,sha256=ZlBL6f87poum38xdBy3BRRHgL5QmAPiozIrh23V0ilo,16470
|
132
|
-
gstaichi-0.1.25.dev0.data/data/lib/SPIRV-Tools.lib,sha256=a20aoXIo0xrZb-fSLt3JpTi5AKDjFnNFI1Ba41vAAgU,37167926
|
133
|
-
gstaichi-0.1.25.dev0.dist-info/licenses/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
|
134
|
-
gstaichi-0.1.25.dev0.dist-info/METADATA,sha256=lfw2swvkOUZxVNvzELtn9HDTbhIsvAWYf-k4VtWi5vg,4773
|
135
|
-
gstaichi-0.1.25.dev0.dist-info/WHEEL,sha256=JLOMsP7F5qtkAkINx5UnzbFguf8CqZeraV8o04b0I8I,101
|
136
|
-
gstaichi-0.1.25.dev0.dist-info/entry_points.txt,sha256=zCEhfa09khn5bjORszCmecpH2mDo6y5n5dlJADI6KHc,43
|
137
|
-
gstaichi-0.1.25.dev0.dist-info/top_level.txt,sha256=BoKkPzj6Sfycl5Ge5sB9QRDVZvFB5R0sxbZn4YNPb80,9
|
138
|
-
gstaichi-0.1.25.dev0.dist-info/RECORD,,
|
{gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools/cmake/SPIRV-ToolsConfig.cmake
RENAMED
File without changes
|
File without changes
|
{gstaichi-0.1.25.dev0.data → gstaichi-2.0.0.data}/data/SPIRV-Tools/cmake/SPIRV-ToolsTarget.cmake
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|