pyopencl 2025.2.5__cp311-cp311-macosx_10_14_x86_64.whl → 2025.2.7__cp311-cp311-macosx_10_14_x86_64.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.

Potentially problematic release.


This version of pyopencl might be problematic. Click here for more details.

Binary file
pyopencl/_cl.pyi CHANGED
@@ -20,7 +20,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
20
  THE SOFTWARE.
21
21
  """
22
22
 
23
- from collections.abc import Callable, Sequence
23
+ from collections.abc import Callable, Hashable, Sequence
24
24
  from enum import IntEnum, auto
25
25
  from typing import TYPE_CHECKING, Generic, Literal, overload
26
26
 
@@ -591,12 +591,12 @@ class kernel_arg_type_qualifier(IntEnum): # noqa: N801
591
591
  to_string = classmethod(pyopencl._monkeypatch.to_string)
592
592
 
593
593
  class kernel_work_group_info(IntEnum): # noqa: N801
594
- WORK_GROUP_SIZE = auto()
595
- COMPILE_WORK_GROUP_SIZE = auto()
596
- LOCAL_MEM_SIZE = auto()
597
- PREFERRED_WORK_GROUP_SIZE_MULTIPLE = auto()
598
- PRIVATE_MEM_SIZE = auto()
599
- GLOBAL_WORK_SIZE = auto()
594
+ WORK_GROUP_SIZE = 0x11B0
595
+ COMPILE_WORK_GROUP_SIZE = 0x11B1
596
+ LOCAL_MEM_SIZE = 0x11B2
597
+ PREFERRED_WORK_GROUP_SIZE_MULTIPLE = 0x11B3
598
+ PRIVATE_MEM_SIZE = 0x11B4
599
+ GLOBAL_WORK_SIZE = 0x11B5
600
600
  to_string = classmethod(pyopencl._monkeypatch.to_string)
601
601
 
602
602
  class kernel_sub_group_info(IntEnum): # noqa: N801
@@ -837,6 +837,9 @@ class Device:
837
837
 
838
838
  __repr__ = pyopencl._monkeypatch.device_repr
839
839
 
840
+ @property
841
+ def hashable_model_and_version_identifier(self) -> Hashable: ...
842
+
840
843
  type: device_type
841
844
  vendor_id: int
842
845
  max_compute_units: int
pyopencl/_monkeypatch.py CHANGED
@@ -27,9 +27,11 @@ from sys import intern
27
27
  from typing import (
28
28
  TYPE_CHECKING,
29
29
  Any,
30
+ Literal,
30
31
  TextIO,
31
32
  TypeVar,
32
33
  cast,
34
+ overload,
33
35
  )
34
36
  from warnings import warn
35
37
 
@@ -221,7 +223,7 @@ kernel_old_get_info = _cl.Kernel.get_info
221
223
  kernel_old_get_work_group_info = _cl.Kernel.get_work_group_info
222
224
 
223
225
 
224
- def kernel_set_arg_types(self: _cl.Kernel, arg_types):
226
+ def kernel_set_arg_types(self: _cl.Kernel, arg_types) -> None:
225
227
  arg_types = tuple(arg_types)
226
228
 
227
229
  # {{{ arg counting bug handling
@@ -259,7 +261,42 @@ def kernel_set_arg_types(self: _cl.Kernel, arg_types):
259
261
  devs=self.context.devices))
260
262
 
261
263
 
262
- def kernel_get_work_group_info(self: _cl.Kernel, param: int, device: _cl.Device):
264
+ @overload
265
+ def kernel_get_work_group_info(
266
+ self: _cl.Kernel,
267
+ param: Literal[
268
+ _cl.kernel_work_group_info.WORK_GROUP_SIZE,
269
+ _cl.kernel_work_group_info.PREFERRED_WORK_GROUP_SIZE_MULTIPLE,
270
+ _cl.kernel_work_group_info.LOCAL_MEM_SIZE,
271
+ _cl.kernel_work_group_info.PRIVATE_MEM_SIZE,
272
+ ],
273
+ device: _cl.Device
274
+ ) -> int: ...
275
+
276
+ @overload
277
+ def kernel_get_work_group_info(
278
+ self: _cl.Kernel,
279
+ param: Literal[
280
+ _cl.kernel_work_group_info.COMPILE_WORK_GROUP_SIZE,
281
+ _cl.kernel_work_group_info.GLOBAL_WORK_SIZE,
282
+ ],
283
+ device: _cl.Device
284
+ ) -> Sequence[int]: ...
285
+
286
+
287
+ @overload
288
+ def kernel_get_work_group_info(
289
+ self: _cl.Kernel,
290
+ param: int,
291
+ device: _cl.Device
292
+ ) -> object: ...
293
+
294
+
295
+ def kernel_get_work_group_info(
296
+ self: _cl.Kernel,
297
+ param: int,
298
+ device: _cl.Device
299
+ ) -> object:
263
300
  try:
264
301
  wg_info_cache = self._wg_info_cache
265
302
  except AttributeError:
@@ -411,9 +448,7 @@ def image_init(self: _cl.Image,
411
448
  else:
412
449
  raise ValueError("images cannot have more than three dimensions")
413
450
 
414
- desc = _cl.ImageDescriptor() \
415
- # pylint: disable=possibly-used-before-assignment
416
-
451
+ desc = _cl.ImageDescriptor()
417
452
  desc.image_type = image_type
418
453
  desc.shape = shape # also sets desc.array_size
419
454
 
pyopencl/algorithm.py CHANGED
@@ -1235,7 +1235,7 @@ class ListOfListsBuilder:
1235
1235
  queue, (n_objects + 1,), index_dtype, allocator=allocator)
1236
1236
  info_record.compressed_indices[0] = 0
1237
1237
 
1238
- compress_events[name] = compress_kernel( # pylint: disable=possibly-used-before-assignment
1238
+ compress_events[name] = compress_kernel(
1239
1239
  info_record.starts,
1240
1240
  compressed_counts,
1241
1241
  info_record.nonempty_indices,