kernel-tuner 1.1.2__tar.gz → 1.1.3__tar.gz

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 (96) hide show
  1. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/PKG-INFO +1 -1
  2. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/backends/pycuda.py +4 -1
  3. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/core.py +10 -10
  4. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/pyproject.toml +1 -1
  5. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/LICENSE +0 -0
  6. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/README.md +0 -0
  7. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/__init__.py +0 -0
  8. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/accuracy.py +0 -0
  9. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/backends/__init__.py +0 -0
  10. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/backends/backend.py +0 -0
  11. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/backends/compiler.py +0 -0
  12. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/backends/cupy.py +0 -0
  13. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/backends/hip.py +0 -0
  14. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/backends/nvcuda.py +0 -0
  15. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/backends/opencl.py +0 -0
  16. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/energy/__init__.py +0 -0
  17. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/energy/energy.py +0 -0
  18. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/file_utils.py +0 -0
  19. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/hyper.py +0 -0
  20. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/integration.py +0 -0
  21. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/interface.py +0 -0
  22. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/kernelbuilder.py +0 -0
  23. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/observers/__init__.py +0 -0
  24. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/observers/compiler.py +0 -0
  25. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/observers/cupy.py +0 -0
  26. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/observers/hip.py +0 -0
  27. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/observers/ncu.py +0 -0
  28. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/observers/nvcuda.py +0 -0
  29. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/observers/nvml.py +0 -0
  30. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/observers/observer.py +0 -0
  31. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/observers/opencl.py +0 -0
  32. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/observers/pmt.py +0 -0
  33. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/observers/powersensor.py +0 -0
  34. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/observers/pycuda.py +0 -0
  35. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/observers/register.py +0 -0
  36. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/observers/tegra.py +0 -0
  37. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/runners/__init__.py +0 -0
  38. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/runners/runner.py +0 -0
  39. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/runners/sequential.py +0 -0
  40. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/runners/simulation.py +0 -0
  41. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/schema/T4/1.0.0/metadata-schema.json +0 -0
  42. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/schema/T4/1.0.0/results-schema.json +0 -0
  43. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/searchspace.py +0 -0
  44. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/__init__.py +0 -0
  45. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/basinhopping.py +0 -0
  46. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/bayes_opt.py +0 -0
  47. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/brute_force.py +0 -0
  48. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/common.py +0 -0
  49. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/diff_evo.py +0 -0
  50. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/dual_annealing.py +0 -0
  51. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/firefly_algorithm.py +0 -0
  52. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/genetic_algorithm.py +0 -0
  53. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/greedy_ils.py +0 -0
  54. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/greedy_mls.py +0 -0
  55. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/hillclimbers.py +0 -0
  56. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/minimize.py +0 -0
  57. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/mls.py +0 -0
  58. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/ordered_greedy_mls.py +0 -0
  59. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/pso.py +0 -0
  60. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/random_sample.py +0 -0
  61. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/strategies/simulated_annealing.py +0 -0
  62. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/util.py +0 -0
  63. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/utils/__init__.py +0 -0
  64. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/kernel_tuner/utils/directives.py +0 -0
  65. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/__init__.py +0 -0
  66. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/context.py +0 -0
  67. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/strategies/test_bayesian_optimization.py +0 -0
  68. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/strategies/test_common.py +0 -0
  69. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/strategies/test_genetic_algorithm.py +0 -0
  70. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/strategies/test_strategies.py +0 -0
  71. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/synthetic_fp32_cache_NVIDIA_RTX_A4000.json +0 -0
  72. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_accuracy.py +0 -0
  73. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_backend.py +0 -0
  74. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_cache_file.json +0 -0
  75. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_common.py +0 -0
  76. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_compiler_functions.py +0 -0
  77. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_core.py +0 -0
  78. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_cuda_functions.py +0 -0
  79. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_cupy_functions.py +0 -0
  80. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_energy.py +0 -0
  81. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_file_utils.py +0 -0
  82. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_hip_functions.py +0 -0
  83. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_hyper.py +0 -0
  84. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_integration.py +0 -0
  85. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_kernelbuilder.py +0 -0
  86. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_nvml_mocked.py +0 -0
  87. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_observers.py +0 -0
  88. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_opencl_functions.py +0 -0
  89. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_pycuda_functions.py +0 -0
  90. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_pycuda_mocked.py +0 -0
  91. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_runners.py +0 -0
  92. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_searchspace.py +0 -0
  93. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_toml_file.py +0 -0
  94. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/test_util_functions.py +0 -0
  95. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/utils/__init__.py +0 -0
  96. {kernel_tuner-1.1.2 → kernel_tuner-1.1.3}/test/utils/test_directives.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: kernel_tuner
3
- Version: 1.1.2
3
+ Version: 1.1.3
4
4
  Summary: An easy to use CUDA/OpenCL kernel tuner in Python
5
5
  License: Apache-2.0
6
6
  Keywords: auto-tuning,gpu,computing,pycuda,cuda,pyopencl,opencl
@@ -106,7 +106,7 @@ class PyCudaFunctions(GPUBackend):
106
106
  )
107
107
  if cc == "00":
108
108
  cc = self.context.get_device().compute_capability()
109
- self.cc = str(cc[0]) + str(cc[1])
109
+ self.cc = str(cc)
110
110
  self.iterations = iterations
111
111
  self.current_module = None
112
112
  self.func = None
@@ -180,6 +180,9 @@ class PyCudaFunctions(GPUBackend):
180
180
  # pycuda does not support bool, convert to uint8 instead
181
181
  elif isinstance(arg, np.bool_):
182
182
  gpu_args.append(arg.astype(np.uint8))
183
+ # pycuda does not support 16-bit formats, view them as uint16
184
+ elif isinstance(arg, np.generic) and str(arg.dtype) in ("float16", "bfloat16"):
185
+ gpu_args.append(arg.view(np.uint16))
183
186
  # if not an array, just pass argument along
184
187
  else:
185
188
  gpu_args.append(arg)
@@ -122,7 +122,7 @@ class KernelSource(object):
122
122
  The files beyond the first are considered additional files that may also contain tunable parameters
123
123
 
124
124
  For each file beyond the first this function creates a temporary file with
125
- preprocessors statements inserted. Occurences of the original filenames in the
125
+ preprocessors statements inserted. Occurrences of the original filenames in the
126
126
  first file are replaced with their temporary counterparts.
127
127
 
128
128
  :param kernel_name: A string specifying the kernel name.
@@ -180,7 +180,7 @@ class KernelSource(object):
180
180
  temp_file = util.get_temp_filename(suffix="." + f.split(".")[-1])
181
181
  temp_files[f] = temp_file
182
182
  util.write_file(temp_file, ks)
183
- # replace occurences of the additional file's name in the first kernel_string with the name of the temp file
183
+ # replace occurrences of the additional file's name in the first kernel_string with the name of the temp file
184
184
  kernel_string = kernel_string.replace(f, temp_file)
185
185
 
186
186
  return name, kernel_string, temp_files
@@ -511,7 +511,7 @@ class DeviceInterface(object):
511
511
  # run the kernel
512
512
  check = self.run_kernel(func, gpu_args, instance)
513
513
  if not check:
514
- return # runtime failure occured that should be ignored, skip correctness check
514
+ return # runtime failure occurred that should be ignored, skip correctness check
515
515
 
516
516
  # retrieve gpu results to host memory
517
517
  result_host = []
@@ -595,7 +595,7 @@ class DeviceInterface(object):
595
595
  if kernel_options.texmem_args is not None:
596
596
  self.dev.copy_texture_memory_args(kernel_options.texmem_args)
597
597
 
598
- # stop compilation stopwatch and convert to miliseconds
598
+ # stop compilation stopwatch and convert to milliseconds
599
599
  last_compilation_time = 1000 * (time.perf_counter() - start_compilation)
600
600
 
601
601
  # test kernel for correctness
@@ -628,7 +628,7 @@ class DeviceInterface(object):
628
628
  )
629
629
  raise e
630
630
 
631
- # clean up any temporary files, if no error occured
631
+ # clean up any temporary files, if no error occurred
632
632
  instance.delete_temp_files()
633
633
 
634
634
  result["compile_time"] = last_compilation_time or 0
@@ -815,9 +815,9 @@ def _default_verify_function(instance, answer, result_host, atol, verbose):
815
815
  if isinstance(answer[i], (np.ndarray, cp.ndarray)) and isinstance(
816
816
  arg, (np.ndarray, cp.ndarray)
817
817
  ):
818
- if answer[i].dtype != arg.dtype:
818
+ if not np.can_cast(arg.dtype, answer[i].dtype):
819
819
  raise TypeError(
820
- f"Element {i} of the expected results list is not of the same dtype as the kernel output: "
820
+ f"Element {i} of the expected results list has a dtype that is not compatible with the dtype of the kernel output: "
821
821
  + str(answer[i].dtype)
822
822
  + " != "
823
823
  + str(arg.dtype)
@@ -905,7 +905,7 @@ def _default_verify_function(instance, answer, result_host, atol, verbose):
905
905
  + " detected during correctness check"
906
906
  )
907
907
  print(
908
- "this error occured when checking value of the %oth kernel argument"
908
+ "this error occurred when checking value of the %oth kernel argument"
909
909
  % (i,)
910
910
  )
911
911
  print(
@@ -934,7 +934,7 @@ def split_argument_list(argument_list):
934
934
  match = re.match(regex, arg, re.S)
935
935
  if not match:
936
936
  raise ValueError("error parsing templated kernel argument list")
937
- type_list.append(re.sub(r"\s+", " ", match.group(1).strip(), re.S))
937
+ type_list.append(re.sub(r"\s+", " ", match.group(1).strip(), flags=re.S))
938
938
  name_list.append(match.group(2).strip())
939
939
  return type_list, name_list
940
940
 
@@ -956,7 +956,7 @@ def apply_template_typenames(type_list, templated_typenames):
956
956
  # if the templated typename occurs as a token in the string, meaning that it is enclosed in
957
957
  # beginning of string or whitespace, and end of string, whitespace or star
958
958
  regex = r"(^|\s+)(" + k + r")($|\s+|\*)"
959
- sub = re.sub(regex, replace_typename_token, arg_type, re.S)
959
+ sub = re.sub(regex, replace_typename_token, arg_type, flags=re.S)
960
960
  type_list[i] = sub
961
961
 
962
962
 
@@ -6,7 +6,7 @@ build-backend = "poetry.core.masonry.api"
6
6
  name = "kernel_tuner"
7
7
  packages = [{ include = "kernel_tuner", from = "." }]
8
8
  description = "An easy to use CUDA/OpenCL kernel tuner in Python"
9
- version = "1.1.2" # adhere to PEP440 versioning: https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/#id55
9
+ version = "1.1.3" # adhere to PEP440 versioning: https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/#id55
10
10
  license = "Apache-2.0"
11
11
  authors = [
12
12
  "Ben van Werkhoven <b.vanwerkhoven@esciencecenter.nl>",
File without changes
File without changes