da4ml 0.1.1__py3-none-any.whl → 0.1.2__py3-none-any.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 da4ml might be problematic. Click here for more details.
- da4ml/_version.py +2 -2
- da4ml/cmvm/cmvm.py +26 -26
- {da4ml-0.1.1.dist-info → da4ml-0.1.2.dist-info}/METADATA +3 -2
- {da4ml-0.1.1.dist-info → da4ml-0.1.2.dist-info}/RECORD +7 -7
- {da4ml-0.1.1.dist-info → da4ml-0.1.2.dist-info}/WHEEL +1 -1
- {da4ml-0.1.1.dist-info → da4ml-0.1.2.dist-info/licenses}/LICENSE +0 -0
- {da4ml-0.1.1.dist-info → da4ml-0.1.2.dist-info}/top_level.txt +0 -0
da4ml/_version.py
CHANGED
da4ml/cmvm/cmvm.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import heapq
|
|
2
|
+
from collections.abc import Sequence
|
|
2
3
|
from math import ceil
|
|
3
4
|
|
|
4
5
|
import numpy as np
|
|
@@ -100,11 +101,11 @@ def init_var(
|
|
|
100
101
|
|
|
101
102
|
@njit
|
|
102
103
|
def init_vars(
|
|
103
|
-
ks:
|
|
104
|
-
bs:
|
|
105
|
-
is_:
|
|
106
|
-
symmetrics:
|
|
107
|
-
depths:
|
|
104
|
+
ks: tuple[bool, ...],
|
|
105
|
+
bs: tuple[int, ...],
|
|
106
|
+
is_: tuple[int, ...],
|
|
107
|
+
symmetrics: tuple[bool, ...],
|
|
108
|
+
depths: tuple[int, ...],
|
|
108
109
|
):
|
|
109
110
|
n = len(ks)
|
|
110
111
|
vars_ = []
|
|
@@ -116,11 +117,11 @@ def init_vars(
|
|
|
116
117
|
@njit
|
|
117
118
|
def init_state(
|
|
118
119
|
kernel: np.ndarray,
|
|
119
|
-
signs:
|
|
120
|
-
bits:
|
|
121
|
-
int_bits:
|
|
122
|
-
symmetrics:
|
|
123
|
-
depths:
|
|
120
|
+
signs: tuple[bool, ...],
|
|
121
|
+
bits: tuple[int, ...],
|
|
122
|
+
int_bits: tuple[int, ...],
|
|
123
|
+
symmetrics: tuple[bool, ...],
|
|
124
|
+
depths: tuple[int, ...],
|
|
124
125
|
):
|
|
125
126
|
assert kernel.ndim == 2
|
|
126
127
|
assert len(signs) == len(bits) == len(int_bits) == len(symmetrics) == len(depths) == kernel.shape[0]
|
|
@@ -261,11 +262,11 @@ def cmvm_cse(state: DAState, progress=None, beams: int = 1, dc=None):
|
|
|
261
262
|
@njit
|
|
262
263
|
def compile_kernel_mono(
|
|
263
264
|
kernel: np.ndarray,
|
|
264
|
-
signs:
|
|
265
|
-
bits:
|
|
266
|
-
int_bits:
|
|
267
|
-
symmetrics:
|
|
268
|
-
depths:
|
|
265
|
+
signs: tuple[bool, ...],
|
|
266
|
+
bits: tuple[int, ...],
|
|
267
|
+
int_bits: tuple[int, ...],
|
|
268
|
+
symmetrics: tuple[bool, ...],
|
|
269
|
+
depths: tuple[int, ...],
|
|
269
270
|
n_beams: int = 1,
|
|
270
271
|
dc: int | None = None,
|
|
271
272
|
):
|
|
@@ -274,14 +275,13 @@ def compile_kernel_mono(
|
|
|
274
275
|
return _state
|
|
275
276
|
|
|
276
277
|
|
|
277
|
-
# @njit(cache=True)
|
|
278
278
|
def compile_kernel(
|
|
279
279
|
kernel: np.ndarray,
|
|
280
|
-
signs:
|
|
281
|
-
bits:
|
|
282
|
-
int_bits:
|
|
283
|
-
symmetrics:
|
|
284
|
-
depths:
|
|
280
|
+
signs: Sequence[bool],
|
|
281
|
+
bits: Sequence[int],
|
|
282
|
+
int_bits: Sequence[int],
|
|
283
|
+
symmetrics: Sequence[bool],
|
|
284
|
+
depths: Sequence[int],
|
|
285
285
|
n_beams: int = 1,
|
|
286
286
|
dc: int | None = None,
|
|
287
287
|
n_inp_max: int = -1,
|
|
@@ -315,11 +315,11 @@ def compile_kernel(
|
|
|
315
315
|
|
|
316
316
|
# unify input type to prevent recompilation
|
|
317
317
|
_kernel = np.ascontiguousarray(_kernel)
|
|
318
|
-
_signs =
|
|
319
|
-
_bits =
|
|
320
|
-
_int_bits =
|
|
321
|
-
_symmetrics =
|
|
322
|
-
_depths =
|
|
318
|
+
_signs = tuple(bool(v) for v in _signs)
|
|
319
|
+
_bits = tuple(int(v) for v in _bits)
|
|
320
|
+
_int_bits = tuple(int(v) for v in _int_bits)
|
|
321
|
+
_symmetrics = tuple(bool(v) for v in _symmetrics)
|
|
322
|
+
_depths = tuple(int(v) for v in _depths)
|
|
323
323
|
try:
|
|
324
324
|
states[i][j] = compile_kernel_mono(_kernel, _signs, _bits, _int_bits, _symmetrics, _depths, n_beams, dc)
|
|
325
325
|
except AssertionError:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: da4ml
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Digital Arithmetic for Machine Learning
|
|
5
5
|
Author-email: Chang Sun <chsun@cern.ch>
|
|
6
6
|
License: GNU Lesser General Public License v3 (LGPLv3)
|
|
@@ -19,6 +19,7 @@ Description-Content-Type: text/markdown
|
|
|
19
19
|
License-File: LICENSE
|
|
20
20
|
Requires-Dist: llvmlite>=0.43
|
|
21
21
|
Requires-Dist: numba>=0.60
|
|
22
|
+
Dynamic: license-file
|
|
22
23
|
|
|
23
24
|
# da4ml: Distributed Arithmetic for Machine Learning
|
|
24
25
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
da4ml/__init__.py,sha256=kkpf91aU4n9MMsX63Me90mo_0JSQyU3N-vhgTIrjkT0,437
|
|
2
|
-
da4ml/_version.py,sha256=
|
|
2
|
+
da4ml/_version.py,sha256=bSmADqydH8nBu-J4lG8UVuR7hnU_zcwhnSav2oQ0W0A,511
|
|
3
3
|
da4ml/cmvm/__init__.py,sha256=UUnJxtZGQpqVWKT_djuPr7CqyiWlUrmKoyAvH7f4-q8,848
|
|
4
4
|
da4ml/cmvm/api.py,sha256=G7YZ1n32EaYzsahSUwB-0vvRZt1Q11idShhn735vDCM,3461
|
|
5
5
|
da4ml/cmvm/balanced_reduction.py,sha256=fDKaRIY4WkRo3s5dGWeWmylDgjMD-hr1-tpdwu7EL6Y,1533
|
|
6
|
-
da4ml/cmvm/cmvm.py,sha256=
|
|
6
|
+
da4ml/cmvm/cmvm.py,sha256=4RN6sKLNxybHZcBoUkw4MBluLZoEhAArutt8BE5NCNE,10689
|
|
7
7
|
da4ml/cmvm/codegen.py,sha256=w_1xR36Oxwb-1XivFwjQ_n2uRw-abjwzjOhwARg_93k,6088
|
|
8
8
|
da4ml/cmvm/csd.py,sha256=k-9k0CigqnvyrgtXzBvKLZ32FdwWUE_EhAlXkK6Mlxk,1988
|
|
9
9
|
da4ml/cmvm/fixed_variable.py,sha256=APPT2EN7hOwjHIaD5JdOpd7riGUpmtXUJ6QaAnE1cjw,5753
|
|
@@ -11,8 +11,8 @@ da4ml/cmvm/graph_compile.py,sha256=bODuY7DAi-9L-ZleAzK0szZDrEH4Ljq2ocINUHXD588,3
|
|
|
11
11
|
da4ml/cmvm/nb_fixed_precision.py,sha256=M2bnflNNOGLgUsI0QGlF2noT5ZJD-2bU2dZ3lw8GZvM,2457
|
|
12
12
|
da4ml/cmvm/scoring.py,sha256=EUREpoyQHUe-vpRat_JjRD73uQhD0dOhnG2D3opazwQ,1375
|
|
13
13
|
da4ml/cmvm/utils.py,sha256=Svp82TOtpNOtKfXlCkijq7DBSbMEqyWoY2PAYVhXXQY,288
|
|
14
|
-
da4ml-0.1.
|
|
15
|
-
da4ml-0.1.
|
|
16
|
-
da4ml-0.1.
|
|
17
|
-
da4ml-0.1.
|
|
18
|
-
da4ml-0.1.
|
|
14
|
+
da4ml-0.1.2.dist-info/licenses/LICENSE,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
|
|
15
|
+
da4ml-0.1.2.dist-info/METADATA,sha256=YirD1SJdRbYNKdbY68TWtacjfs-bUrcWIbQBdoIIaYw,5507
|
|
16
|
+
da4ml-0.1.2.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
|
17
|
+
da4ml-0.1.2.dist-info/top_level.txt,sha256=N0tnKVwRqFiffFdeAzCgFq71hUNySh5-ITbNd6-R58Q,6
|
|
18
|
+
da4ml-0.1.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|