Skip to content

Commit ebe872d

Browse files
merged
2 parents 1d916bd + 57d853a commit ebe872d

File tree

4 files changed

+111
-110
lines changed

4 files changed

+111
-110
lines changed

doc/requirements.txt

Lines changed: 89 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,89 @@
1-
--extra-index-url https://test.pypi.org/simple
2-
3-
alabaster==0.7.16 ; python_version >= "3.10" and python_version < "4"
4-
asttokens==3.0.0 ; python_version >= "3.10" and python_version < "4"
5-
attrs==25.3.0 ; python_version >= "3.10" and python_version < "4"
6-
babel==2.17.0 ; python_version >= "3.10" and python_version < "4"
7-
beautifulsoup4==4.13.3 ; python_version >= "3.10" and python_version < "4"
8-
bleach==6.2.0 ; python_version >= "3.10" and python_version < "4"
9-
certifi==2025.1.31 ; python_version >= "3.10" and python_version < "4"
10-
cffi==1.17.1 ; python_version >= "3.10" and python_version < "4" and implementation_name == "pypy"
11-
charset-normalizer==3.4.1 ; python_version >= "3.10" and python_version < "4"
12-
colorama==0.4.6 ; python_version >= "3.10" and python_version < "4" and sys_platform == "win32"
13-
decorator==5.2.1 ; python_version >= "3.10" and python_version < "4"
14-
defusedxml==0.7.1 ; python_version >= "3.10" and python_version < "4"
15-
docutils==0.20.1 ; python_version >= "3.10" and python_version < "4"
16-
dom-toml==2.0.1 ; python_version >= "3.10" and python_version < "4"
17-
domdf-python-tools==3.10.0 ; python_version >= "3.10" and python_version < "4"
18-
exceptiongroup==1.2.2 ; python_version == "3.10"
19-
executing==2.2.0 ; python_version >= "3.10" and python_version < "4"
20-
fastjsonschema==2.21.1 ; python_version >= "3.10" and python_version < "4"
21-
hip-python==6.3.3.540.31 ; python_version >= "3.10" and python_version < "4"
22-
idna==3.10 ; python_version >= "3.10" and python_version < "4"
23-
imagesize==1.4.1 ; python_version >= "3.10" and python_version < "4"
24-
iniconfig==2.1.0 ; python_version >= "3.10" and python_version < "4"
25-
ipython-pygments-lexers==1.1.1 ; python_version >= "3.11" and python_version < "4"
26-
ipython==8.34.0 ; python_version == "3.10"
27-
ipython==9.0.2 ; python_version >= "3.11" and python_version < "4"
28-
jedi==0.19.2 ; python_version >= "3.10" and python_version < "4"
29-
jinja2==3.1.6 ; python_version >= "3.10" and python_version < "4"
30-
joblib==1.4.2 ; python_version >= "3.10" and python_version < "4"
31-
jsonschema-specifications==2024.10.1 ; python_version >= "3.10" and python_version < "4"
32-
jsonschema==4.23.0 ; python_version >= "3.10" and python_version < "4"
33-
jupyter-client==8.6.3 ; python_version >= "3.10" and python_version < "4"
34-
jupyter-core==5.7.2 ; python_version >= "3.10" and python_version < "4"
35-
jupyterlab-pygments==0.3.0 ; python_version >= "3.10" and python_version < "4"
36-
markupsafe==2.1.5 ; python_version >= "3.10" and python_version < "4"
37-
matplotlib-inline==0.1.7 ; python_version >= "3.10" and python_version < "4"
38-
mistune==3.1.3 ; python_version >= "3.10" and python_version < "4"
39-
natsort==8.4.0 ; python_version >= "3.10" and python_version < "4"
40-
nbclient==0.10.2 ; python_version >= "3.10" and python_version < "4"
41-
nbconvert==7.16.6 ; python_version >= "3.10" and python_version < "4"
42-
nbformat==5.10.4 ; python_version >= "3.10" and python_version < "4"
43-
nbsphinx==0.9.7 ; python_version >= "3.10" and python_version < "4"
44-
numpy==1.26.4 ; python_version >= "3.10" and python_version < "4"
45-
packaging==24.2 ; python_version >= "3.10" and python_version < "4"
46-
pandas==2.2.3 ; python_version >= "3.10" and python_version < "4"
47-
pandocfilters==1.5.1 ; python_version >= "3.10" and python_version < "4"
48-
parso==0.8.4 ; python_version >= "3.10" and python_version < "4"
49-
pexpect==4.9.0 ; python_version >= "3.10" and python_version < "4" and sys_platform != "win32" and sys_platform != "emscripten"
50-
platformdirs==4.3.7 ; python_version >= "3.10" and python_version < "4"
51-
pluggy==1.5.0 ; python_version >= "3.10" and python_version < "4"
52-
prompt-toolkit==3.0.50 ; python_version >= "3.10" and python_version < "4"
53-
ptyprocess==0.7.0 ; python_version >= "3.10" and python_version < "4" and (os_name != "nt" or sys_platform != "win32" and sys_platform != "emscripten")
54-
pure-eval==0.2.3 ; python_version >= "3.10" and python_version < "4"
55-
pycparser==2.22 ; python_version >= "3.10" and python_version < "4" and implementation_name == "pypy"
56-
pygments==2.19.1 ; python_version >= "3.10" and python_version < "4"
57-
pytest==8.3.5 ; python_version >= "3.10" and python_version < "4"
58-
python-constraint2==2.2.2 ; python_version >= "3.10" and python_version < "4"
59-
python-dateutil==2.9.0.post0 ; python_version >= "3.10" and python_version < "4"
60-
pytz==2025.2 ; python_version >= "3.10" and python_version < "4"
61-
pywin32==310 ; python_version >= "3.10" and python_version < "4" and sys_platform == "win32" and platform_python_implementation != "PyPy"
62-
pyzmq==26.3.0 ; python_version >= "3.10" and python_version < "4"
63-
referencing==0.36.2 ; python_version >= "3.10" and python_version < "4"
64-
requests==2.32.3 ; python_version >= "3.10" and python_version < "4"
65-
rpds-py==0.24.0 ; python_version >= "3.10" and python_version < "4"
66-
scikit-learn==1.6.1 ; python_version >= "3.10" and python_version < "4"
67-
scipy==1.15.2 ; python_version >= "3.10" and python_version < "4"
68-
six==1.17.0 ; python_version >= "3.10" and python_version < "4"
69-
snowballstemmer==2.2.0 ; python_version >= "3.10" and python_version < "4"
70-
soupsieve==2.6 ; python_version >= "3.10" and python_version < "4"
71-
sphinx-pyproject==0.3.0 ; python_version >= "3.10" and python_version < "4"
72-
sphinx-rtd-theme==2.0.0 ; python_version >= "3.10" and python_version < "4"
73-
sphinx==7.4.7 ; python_version >= "3.10" and python_version < "4"
74-
sphinxcontrib-applehelp==2.0.0 ; python_version >= "3.10" and python_version < "4"
75-
sphinxcontrib-devhelp==2.0.0 ; python_version >= "3.10" and python_version < "4"
76-
sphinxcontrib-htmlhelp==2.1.0 ; python_version >= "3.10" and python_version < "4"
77-
sphinxcontrib-jquery==4.1 ; python_version >= "3.10" and python_version < "4"
78-
sphinxcontrib-jsmath==1.0.1 ; python_version >= "3.10" and python_version < "4"
79-
sphinxcontrib-qthelp==2.0.0 ; python_version >= "3.10" and python_version < "4"
80-
sphinxcontrib-serializinghtml==2.0.0 ; python_version >= "3.10" and python_version < "4"
81-
stack-data==0.6.3 ; python_version >= "3.10" and python_version < "4"
82-
threadpoolctl==3.6.0 ; python_version >= "3.10" and python_version < "4"
83-
tinycss2==1.4.0 ; python_version >= "3.10" and python_version < "4"
84-
tomli==2.2.1 ; python_version >= "3.10" and python_version < "4"
85-
tornado==6.4.2 ; python_version >= "3.10" and python_version < "4"
86-
traitlets==5.14.3 ; python_version >= "3.10" and python_version < "4"
87-
typing-extensions==4.13.1 ; python_version >= "3.10" and python_version < "4"
88-
tzdata==2025.2 ; python_version >= "3.10" and python_version < "4"
89-
urllib3==2.3.0 ; python_version >= "3.10" and python_version < "4"
90-
wcwidth==0.2.13 ; python_version >= "3.10" and python_version < "4"
91-
webencodings==0.5.1 ; python_version >= "3.10" and python_version < "4"
92-
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: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import numpy as np
99
from scipy.spatial import distance
10+
import numbers
1011

1112
from kernel_tuner import util
1213
from kernel_tuner.searchspace import Searchspace
@@ -176,12 +177,14 @@ def __call__(self, x, check_restrictions=True):
176177
self.runner.last_strategy_start_time = perf_counter()
177178

178179
# get numerical return value, taking optimization direction into account
179-
if self.return_invalid:
180-
return_value = result[self.tuning_options.objective]
181-
else:
182-
return_value = result[self.tuning_options.objective] or sys.float_info.max
180+
return_value = result[self.tuning_options.objective]
183181
if not isinstance(return_value, util.ErrorConfig):
182+
# this is a valid configuration, so invert value in case of maximization
184183
return_value = -return_value if self.tuning_options.objective_higher_is_better else return_value
184+
else:
185+
# this is not a valid configuration, replace with float max if needed
186+
if not self.return_invalid:
187+
return_value = sys.float_info.max
185188

186189
# include raw data in return if requested
187190
if self.return_raw is not None:

kernel_tuner/strategies/firefly_algorithm.py

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

101101
def distance_to(self, other):
102102
"""Return Euclidian distance between self and other Firefly."""
@@ -105,10 +105,7 @@ def distance_to(self, other):
105105
def compute_intensity(self, fun):
106106
"""Evaluate cost function and compute intensity at this position."""
107107
self.evaluate(fun)
108-
if self.score == sys.float_info.max:
109-
self.intensity = -sys.float_info.max
110-
else:
111-
self.intensity = 1 / self.score
108+
self.intensity = -self.score
112109

113110
def move_towards(self, other, beta, alpha):
114111
"""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
@@ -92,20 +92,24 @@ def tune(searchspace: Searchspace, runner, tuning_options):
9292

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

110114

111115
def neighbor(pos, searchspace: Searchspace, constraint_aware=True):

0 commit comments

Comments
 (0)