Skip to content

Commit 6c804ff

Browse files
committed
Merge with master
2 parents bae800e + 57d853a commit 6c804ff

File tree

4 files changed

+114
-103
lines changed

4 files changed

+114
-103
lines changed

doc/requirements.txt

Lines changed: 89 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,87 +1,89 @@
1-
alabaster==0.7.16 ; python_version >= "3.10" and python_version < "4"
2-
asttokens==3.0.0 ; python_version >= "3.10" and python_version < "4"
3-
attrs==25.3.0 ; python_version >= "3.10" and python_version < "4"
4-
babel==2.17.0 ; python_version >= "3.10" and python_version < "4"
5-
beautifulsoup4==4.13.4 ; python_version >= "3.10" and python_version < "4"
6-
bleach[css]==6.2.0 ; python_version >= "3.10" and python_version < "4"
7-
certifi==2025.6.15 ; python_version >= "3.10" and python_version < "4"
8-
cffi==1.17.1 ; python_version >= "3.10" and python_version < "4" and implementation_name == "pypy"
9-
charset-normalizer==3.4.2 ; python_version >= "3.10" and python_version < "4"
10-
colorama==0.4.6 ; python_version >= "3.10" and python_version < "4" and sys_platform == "win32"
11-
decorator==5.2.1 ; python_version >= "3.10" and python_version < "4"
12-
defusedxml==0.7.1 ; python_version >= "3.10" and python_version < "4"
13-
docutils==0.20.1 ; python_version >= "3.10" and python_version < "4"
14-
dom-toml==2.0.1 ; python_version >= "3.10" and python_version < "4"
15-
domdf-python-tools==3.10.0 ; python_version >= "3.10" and python_version < "4"
16-
exceptiongroup==1.3.0 ; python_version == "3.10"
17-
executing==2.2.0 ; python_version >= "3.10" and python_version < "4"
18-
fastjsonschema==2.21.1 ; python_version >= "3.10" and python_version < "4"
19-
idna==3.10 ; python_version >= "3.10" and python_version < "4"
20-
imagesize==1.4.1 ; python_version >= "3.10" and python_version < "4"
21-
iniconfig==2.1.0 ; python_version >= "3.10" and python_version < "4"
22-
ipython==8.37.0 ; python_version >= "3.10" and python_version < "4"
23-
jedi==0.19.2 ; python_version >= "3.10" and python_version < "4"
24-
jinja2==3.1.6 ; python_version >= "3.10" and python_version < "4"
25-
joblib==1.5.1 ; python_version >= "3.10" and python_version < "4"
26-
jsonschema-specifications==2025.4.1 ; python_version >= "3.10" and python_version < "4"
27-
jsonschema==4.24.0 ; python_version >= "3.10" and python_version < "4"
28-
jupyter-client==8.6.3 ; python_version >= "3.10" and python_version < "4"
29-
jupyter-core==5.8.1 ; python_version >= "3.10" and python_version < "4"
30-
jupyterlab-pygments==0.3.0 ; python_version >= "3.10" and python_version < "4"
31-
markupsafe==2.1.5 ; python_version >= "3.10" and python_version < "4"
32-
matplotlib-inline==0.1.7 ; python_version >= "3.10" and python_version < "4"
33-
mistune==3.1.3 ; python_version >= "3.10" and python_version < "4"
34-
natsort==8.4.0 ; python_version >= "3.10" and python_version < "4"
35-
nbclient==0.10.2 ; python_version >= "3.10" and python_version < "4"
36-
nbconvert==7.16.6 ; python_version >= "3.10" and python_version < "4"
37-
nbformat==5.10.4 ; python_version >= "3.10" and python_version < "4"
38-
nbsphinx==0.9.7 ; python_version >= "3.10" and python_version < "4"
39-
numpy==2.2.6 ; python_version >= "3.10" and python_version < "4"
40-
packaging==25.0 ; python_version >= "3.10" and python_version < "4"
41-
pandas==2.3.0 ; python_version >= "3.10" and python_version < "4"
42-
pandocfilters==1.5.1 ; python_version >= "3.10" and python_version < "4"
43-
parso==0.8.4 ; python_version >= "3.10" and python_version < "4"
44-
pexpect==4.9.0 ; python_version >= "3.10" and python_version < "4" and sys_platform != "win32" and sys_platform != "emscripten"
45-
platformdirs==4.3.8 ; python_version >= "3.10" and python_version < "4"
46-
pluggy==1.6.0 ; python_version >= "3.10" and python_version < "4"
47-
prompt-toolkit==3.0.51 ; python_version >= "3.10" and python_version < "4"
48-
ptyprocess==0.7.0 ; python_version >= "3.10" and python_version < "4" and sys_platform != "win32" and sys_platform != "emscripten"
49-
pure-eval==0.2.3 ; python_version >= "3.10" and python_version < "4"
50-
pycparser==2.22 ; python_version >= "3.10" and python_version < "4" and implementation_name == "pypy"
51-
pygments==2.19.1 ; python_version >= "3.10" and python_version < "4"
52-
pytest==8.4.0 ; python_version >= "3.10" and python_version < "4"
53-
python-constraint2==2.2.3 ; python_version >= "3.10" and python_version < "4"
54-
python-dateutil==2.9.0.post0 ; python_version >= "3.10" and python_version < "4"
55-
pytz==2025.2 ; python_version >= "3.10" and python_version < "4"
56-
pywin32==310 ; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.10" and python_version < "4"
57-
pyzmq==27.0.0 ; python_version >= "3.10" and python_version < "4"
58-
referencing==0.36.2 ; python_version >= "3.10" and python_version < "4"
59-
requests==2.32.4 ; python_version >= "3.10" and python_version < "4"
60-
rpds-py==0.25.1 ; python_version >= "3.10" and python_version < "4"
61-
scikit-learn==1.7.0 ; python_version >= "3.10" and python_version < "4"
62-
scipy==1.15.3 ; python_version >= "3.10" and python_version < "4"
63-
six==1.17.0 ; python_version >= "3.10" and python_version < "4"
64-
snowballstemmer==3.0.1 ; python_version >= "3.10" and python_version < "4"
65-
soupsieve==2.7 ; python_version >= "3.10" and python_version < "4"
66-
sphinx-pyproject==0.3.0 ; python_version >= "3.10" and python_version < "4"
67-
sphinx-rtd-theme==2.0.0 ; python_version >= "3.10" and python_version < "4"
68-
sphinx==7.4.7 ; python_version >= "3.10" and python_version < "4"
69-
sphinxcontrib-applehelp==2.0.0 ; python_version >= "3.10" and python_version < "4"
70-
sphinxcontrib-devhelp==2.0.0 ; python_version >= "3.10" and python_version < "4"
71-
sphinxcontrib-htmlhelp==2.1.0 ; python_version >= "3.10" and python_version < "4"
72-
sphinxcontrib-jquery==4.1 ; python_version >= "3.10" and python_version < "4"
73-
sphinxcontrib-jsmath==1.0.1 ; python_version >= "3.10" and python_version < "4"
74-
sphinxcontrib-qthelp==2.0.0 ; python_version >= "3.10" and python_version < "4"
75-
sphinxcontrib-serializinghtml==2.0.0 ; python_version >= "3.10" and python_version < "4"
76-
stack-data==0.6.3 ; python_version >= "3.10" and python_version < "4"
77-
threadpoolctl==3.6.0 ; python_version >= "3.10" and python_version < "4"
78-
tinycss2==1.4.0 ; python_version >= "3.10" and python_version < "4"
79-
tomli==2.2.1 ; python_version >= "3.10" and python_version < "4"
80-
tornado==6.5.1 ; python_version >= "3.10" and python_version < "4"
81-
traitlets==5.14.3 ; python_version >= "3.10" and python_version < "4"
82-
typing-extensions==4.14.0 ; python_version >= "3.10" and python_version < "4"
83-
tzdata==2025.2 ; python_version >= "3.10" and python_version < "4"
84-
urllib3==2.4.0 ; python_version >= "3.10" and python_version < "4"
85-
wcwidth==0.2.13 ; python_version >= "3.10" and python_version < "4"
86-
webencodings==0.5.1 ; python_version >= "3.10" and python_version < "4"
87-
xmltodict==0.14.2 ; python_version >= "3.10" and python_version < "4"
1+
alabaster==0.7.16 ; python_version >= "3.9" and python_version < "3.15"
2+
asttokens==3.0.0 ; python_version >= "3.9" and python_version < "3.15"
3+
attrs==25.1.0 ; python_version >= "3.9" and python_version < "3.15"
4+
babel==2.17.0 ; python_version >= "3.9" and python_version < "3.15"
5+
beautifulsoup4==4.13.3 ; python_version >= "3.9" and python_version < "3.15"
6+
bleach[css]==6.2.0 ; python_version >= "3.9" and python_version < "3.15"
7+
certifi==2025.1.31 ; python_version >= "3.9" and python_version < "3.15"
8+
cffi==1.17.1 ; python_version >= "3.9" and python_version < "3.15" and implementation_name == "pypy"
9+
charset-normalizer==3.4.1 ; python_version >= "3.9" and python_version < "3.15"
10+
colorama==0.4.6 ; python_version >= "3.9" and python_version < "3.15" and sys_platform == "win32"
11+
decorator==5.2.1 ; python_version >= "3.9" and python_version < "3.15"
12+
defusedxml==0.7.1 ; python_version >= "3.9" and python_version < "3.15"
13+
docutils==0.20.1 ; python_version >= "3.9" and python_version < "3.15"
14+
dom-toml==2.0.1 ; python_version >= "3.9" and python_version < "3.15"
15+
domdf-python-tools==3.10.0 ; python_version >= "3.9" and python_version < "3.15"
16+
exceptiongroup==1.2.2 ; python_version >= "3.9" and python_version < "3.11"
17+
executing==2.2.0 ; python_version >= "3.9" and python_version < "3.15"
18+
fastjsonschema==2.21.1 ; python_version >= "3.9" and python_version < "3.15"
19+
idna==3.10 ; python_version >= "3.9" and python_version < "3.15"
20+
imagesize==1.4.1 ; python_version >= "3.9" and python_version < "3.15"
21+
importlib-metadata==8.6.1 ; python_version >= "3.9" and python_version < "3.10"
22+
iniconfig==2.0.0 ; python_version >= "3.9" and python_version < "3.15"
23+
ipython==8.18.1 ; python_version >= "3.9" and python_version < "3.15"
24+
jedi==0.19.2 ; python_version >= "3.9" and python_version < "3.15"
25+
jinja2==3.1.6 ; python_version >= "3.9" and python_version < "3.15"
26+
joblib==1.4.2 ; python_version >= "3.9" and python_version < "3.15"
27+
jsonschema-specifications==2024.10.1 ; python_version >= "3.9" and python_version < "3.15"
28+
jsonschema==4.23.0 ; python_version >= "3.9" and python_version < "3.15"
29+
jupyter-client==8.6.3 ; python_version >= "3.9" and python_version < "3.15"
30+
jupyter-core==5.7.2 ; python_version >= "3.9" and python_version < "3.15"
31+
jupyterlab-pygments==0.3.0 ; python_version >= "3.9" and python_version < "3.15"
32+
markupsafe==2.1.5 ; python_version >= "3.9" and python_version < "3.15"
33+
matplotlib-inline==0.1.7 ; python_version >= "3.9" and python_version < "3.15"
34+
mistune==3.1.2 ; python_version >= "3.9" and python_version < "3.15"
35+
natsort==8.4.0 ; python_version >= "3.9" and python_version < "3.15"
36+
nbclient==0.10.2 ; python_version >= "3.9" and python_version < "3.15"
37+
nbconvert==7.16.6 ; python_version >= "3.9" and python_version < "3.15"
38+
nbformat==5.10.4 ; python_version >= "3.9" and python_version < "3.15"
39+
nbsphinx==0.9.7 ; python_version >= "3.9" and python_version < "3.15"
40+
numpy==1.26.4 ; python_version >= "3.9" and python_version < "3.15"
41+
packaging==24.2 ; python_version >= "3.9" and python_version < "3.15"
42+
pandas==2.2.3 ; python_version >= "3.9" and python_version < "3.15"
43+
pandocfilters==1.5.1 ; python_version >= "3.9" and python_version < "3.15"
44+
parso==0.8.4 ; python_version >= "3.9" and python_version < "3.15"
45+
pexpect==4.9.0 ; python_version >= "3.9" and python_version < "3.15" and sys_platform != "win32"
46+
platformdirs==4.3.6 ; python_version >= "3.9" and python_version < "3.15"
47+
pluggy==1.5.0 ; python_version >= "3.9" and python_version < "3.15"
48+
prompt-toolkit==3.0.50 ; python_version >= "3.9" and python_version < "3.15"
49+
ptyprocess==0.7.0 ; python_version >= "3.9" and python_version < "3.15" and sys_platform != "win32"
50+
pure-eval==0.2.3 ; python_version >= "3.9" and python_version < "3.15"
51+
pycparser==2.22 ; python_version >= "3.9" and python_version < "3.15" and implementation_name == "pypy"
52+
pygments==2.19.1 ; python_version >= "3.9" and python_version < "3.15"
53+
pytest==8.3.5 ; python_version >= "3.9" and python_version < "3.15"
54+
python-constraint2==2.1.0 ; python_version >= "3.9" and python_version < "3.15"
55+
python-dateutil==2.9.0.post0 ; python_version >= "3.9" and python_version < "3.15"
56+
pytz==2025.1 ; python_version >= "3.9" and python_version < "3.15"
57+
pywin32==308 ; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.9" and python_version < "3.15"
58+
pyzmq==26.2.1 ; python_version >= "3.9" and python_version < "3.15"
59+
referencing==0.36.2 ; python_version >= "3.9" and python_version < "3.15"
60+
requests==2.32.4 ; python_version >= "3.9" and python_version < "3.15"
61+
rpds-py==0.23.1 ; python_version >= "3.9" and python_version < "3.15"
62+
scikit-learn==1.6.1 ; python_version >= "3.9" and python_version < "3.15"
63+
scipy==1.13.1 ; python_version >= "3.9" and python_version < "3.15"
64+
six==1.17.0 ; python_version >= "3.9" and python_version < "3.15"
65+
snowballstemmer==2.2.0 ; python_version >= "3.9" and python_version < "3.15"
66+
soupsieve==2.6 ; python_version >= "3.9" and python_version < "3.15"
67+
sphinx-pyproject==0.3.0 ; python_version >= "3.9" and python_version < "3.15"
68+
sphinx-rtd-theme==2.0.0 ; python_version >= "3.9" and python_version < "3.15"
69+
sphinx==7.4.7 ; python_version >= "3.9" and python_version < "3.15"
70+
sphinxcontrib-applehelp==2.0.0 ; python_version >= "3.9" and python_version < "3.15"
71+
sphinxcontrib-devhelp==2.0.0 ; python_version >= "3.9" and python_version < "3.15"
72+
sphinxcontrib-htmlhelp==2.1.0 ; python_version >= "3.9" and python_version < "3.15"
73+
sphinxcontrib-jquery==4.1 ; python_version >= "3.9" and python_version < "3.15"
74+
sphinxcontrib-jsmath==1.0.1 ; python_version >= "3.9" and python_version < "3.15"
75+
sphinxcontrib-qthelp==2.0.0 ; python_version >= "3.9" and python_version < "3.15"
76+
sphinxcontrib-serializinghtml==2.0.0 ; python_version >= "3.9" and python_version < "3.15"
77+
stack-data==0.6.3 ; python_version >= "3.9" and python_version < "3.15"
78+
threadpoolctl==3.5.0 ; python_version >= "3.9" and python_version < "3.15"
79+
tinycss2==1.4.0 ; python_version >= "3.9" and python_version < "3.15"
80+
tomli==2.2.1 ; python_version >= "3.9" and python_version < "3.15"
81+
tornado==6.5.1 ; python_version >= "3.9" and python_version < "3.15"
82+
traitlets==5.14.3 ; python_version >= "3.9" and python_version < "3.15"
83+
typing-extensions==4.12.2 ; python_version >= "3.9" and python_version < "3.15"
84+
tzdata==2025.1 ; python_version >= "3.9" and python_version < "3.15"
85+
urllib3==2.5.0 ; python_version >= "3.9" and python_version < "3.15"
86+
wcwidth==0.2.13 ; python_version >= "3.9" and python_version < "3.15"
87+
webencodings==0.5.1 ; python_version >= "3.9" and python_version < "3.15"
88+
xmltodict==0.14.2 ; python_version >= "3.9" and python_version < "3.15"
89+
zipp==3.21.0 ; python_version >= "3.9" and python_version < "3.10"

kernel_tuner/strategies/common.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from time import perf_counter
44

55
import numpy as np
6+
import numbers
67

78
from kernel_tuner import util
89
from kernel_tuner.searchspace import Searchspace
@@ -111,8 +112,15 @@ def __call__(self, x, check_restrictions=True):
111112
self.runner.last_strategy_start_time = perf_counter()
112113

113114
# get numerical return value, taking optimization direction into account
114-
return_value = result[self.tuning_options.objective] or sys.float_info.max
115-
return_value = return_value if not self.tuning_options.objective_higher_is_better else -return_value
115+
return_value = result[self.tuning_options.objective]
116+
117+
if isinstance(return_value, numbers.Number):
118+
if self.tuning_options.objective_higher_is_better:
119+
# flip the sign if higher means better
120+
return_value = -return_value
121+
else:
122+
# this is not a valid configuration, just return max
123+
return_value = sys.float_info.max
116124

117125
return return_value
118126

kernel_tuner/strategies/firefly_algorithm.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def __init__(self, bounds):
9494
"""Create Firefly at random position within bounds."""
9595
super().__init__(bounds)
9696
self.bounds = bounds
97-
self.intensity = 1 / self.score
97+
self.intensity = -self.score
9898

9999
def distance_to(self, other):
100100
"""Return Euclidian distance between self and other Firefly."""
@@ -103,10 +103,7 @@ def distance_to(self, other):
103103
def compute_intensity(self, fun):
104104
"""Evaluate cost function and compute intensity at this position."""
105105
self.evaluate(fun)
106-
if self.score == sys.float_info.max:
107-
self.intensity = -sys.float_info.max
108-
else:
109-
self.intensity = 1 / self.score
106+
self.intensity = -self.score
110107

111108
def move_towards(self, other, beta, alpha):
112109
"""Move firefly towards another given beta and alpha values."""

kernel_tuner/strategies/simulated_annealing.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -90,20 +90,24 @@ def tune(searchspace: Searchspace, runner, tuning_options):
9090

9191
def acceptance_prob(old_cost, new_cost, T, tuning_options):
9292
"""Annealing equation, with modifications to work towards a lower value."""
93-
error_val = sys.float_info.max if not tuning_options.objective_higher_is_better else -sys.float_info.max
93+
error_val = sys.float_info.max
94+
res = 0.0
9495
# if start pos is not valid, always move
9596
if old_cost == error_val:
96-
return 1.0
97+
res = 1.0
9798
# if we have found a valid ps before, never move to nonvalid pos
98-
if new_cost == error_val:
99-
return 0.0
99+
elif new_cost == error_val:
100+
res = 0.0
100101
# always move if new cost is better
101-
if new_cost < old_cost:
102-
return 1.0
102+
elif new_cost < old_cost:
103+
res = 1.0
103104
# maybe move if old cost is better than new cost depending on T and random value
104-
if tuning_options.objective_higher_is_better:
105-
return np.exp(((new_cost-old_cost)/new_cost)/T)
106-
return np.exp(((old_cost-new_cost)/old_cost)/T)
105+
else:
106+
if tuning_options.objective_higher_is_better:
107+
res = np.exp(((new_cost-old_cost)/new_cost)/T)
108+
else:
109+
res = np.exp(((old_cost-new_cost)/old_cost)/T)
110+
return res
107111

108112

109113
def neighbor(pos, searchspace: Searchspace):

0 commit comments

Comments
 (0)