parallel-sparse-tools 0.1.0__tar.gz → 0.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.
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/PKG-INFO +2 -1
- parallel_sparse_tools-0.1.3/README.md +3 -0
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/pyproject.toml +7 -8
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/setup.py +18 -0
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/expm_multiply_parallel_core/expm_multiply_parallel_core.py +2 -2
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/expm_multiply_parallel_core/expm_multiply_parallel_wrapper.cpp +1954 -1311
- parallel_sparse_tools-0.1.3/src/parallel_sparse_tools/matvec/_oputils/oputils_impl.h +4359 -0
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/matvec/_oputils.cpp +3580 -1514
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/matvec/generate_oputils.py +185 -216
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/matvec/matvec_core.py +2 -1
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools.egg-info/PKG-INFO +2 -1
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools.egg-info/SOURCES.txt +3 -1
- parallel_sparse_tools-0.1.3/test/test_expm_multiply_parallel.py +190 -0
- parallel_sparse_tools-0.1.3/test/test_matvec.py +111 -0
- parallel-sparse-tools-0.1.0/README.md +0 -2
- parallel-sparse-tools-0.1.0/src/parallel_sparse_tools/matvec/_oputils/oputils_impl.h +0 -955
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/LICENSE +0 -0
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/setup.cfg +0 -0
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/__init__.py +0 -0
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/expm_multiply_parallel_core/__init__.py +0 -0
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/expm_multiply_parallel_core/generate_source.py +0 -0
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/expm_multiply_parallel_core/source/csr_utils.h +0 -0
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/expm_multiply_parallel_core/source/expm_multiply_parallel_impl.h +0 -0
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools/matvec/__init__.py +0 -0
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools.egg-info/dependency_links.txt +0 -0
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools.egg-info/requires.txt +0 -0
- {parallel-sparse-tools-0.1.0 → parallel_sparse_tools-0.1.3}/src/parallel_sparse_tools.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: parallel-sparse-tools
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: My package description
|
|
5
5
|
Author-email: Phillip Weinberg <weinbe58@gmail.com>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -18,5 +18,6 @@ License-File: LICENSE
|
|
|
18
18
|
Requires-Dist: numpy
|
|
19
19
|
Requires-Dist: scipy
|
|
20
20
|
|
|
21
|
+
[](https://codecov.io/gh/QuSpin/parallel-sparse-tools)
|
|
21
22
|
# parallel-sparse-tools
|
|
22
23
|
Repository for OpenMP parallelized Sparse tools
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "parallel-sparse-tools"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.3"
|
|
8
8
|
authors = [
|
|
9
9
|
{name = "Phillip Weinberg", email = "weinbe58@gmail.com"},
|
|
10
10
|
]
|
|
@@ -30,22 +30,21 @@ dependencies = [
|
|
|
30
30
|
|
|
31
31
|
[tool.cibuildwheel]
|
|
32
32
|
skip = ""
|
|
33
|
-
test-skip = ""
|
|
34
33
|
|
|
35
34
|
build-frontend = "default"
|
|
36
35
|
config-settings = {}
|
|
37
36
|
dependency-versions = "pinned"
|
|
38
37
|
environment = {}
|
|
39
38
|
environment-pass = []
|
|
40
|
-
build-verbosity =
|
|
39
|
+
build-verbosity = 1
|
|
41
40
|
|
|
42
41
|
before-all = ""
|
|
43
42
|
before-build = ""
|
|
44
43
|
repair-wheel-command = ""
|
|
45
44
|
|
|
46
|
-
test-command = ""
|
|
47
45
|
before-test = ""
|
|
48
|
-
test-
|
|
46
|
+
test-command = "pytest {project}/test"
|
|
47
|
+
test-requires = ["pytest"]
|
|
49
48
|
test-extras = []
|
|
50
49
|
|
|
51
50
|
container-engine = "docker"
|
|
@@ -67,12 +66,12 @@ musllinux-s390x-image = "musllinux_1_1"
|
|
|
67
66
|
|
|
68
67
|
|
|
69
68
|
[tool.cibuildwheel.linux]
|
|
70
|
-
archs = ["
|
|
69
|
+
archs = ["native"]
|
|
71
70
|
repair-wheel-command = "auditwheel repair -w {dest_dir} {wheel}"
|
|
72
71
|
|
|
73
72
|
[tool.cibuildwheel.macos]
|
|
74
|
-
archs = ["
|
|
73
|
+
archs = ["native"]
|
|
75
74
|
repair-wheel-command = "delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}"
|
|
76
75
|
|
|
77
76
|
[tool.cibuildwheel.windows]
|
|
78
|
-
archs = ["
|
|
77
|
+
archs = ["native"]
|
|
@@ -21,6 +21,18 @@ def extra_compile_args() -> List[str]:
|
|
|
21
21
|
else:
|
|
22
22
|
extra_compile_args = ["-fopenmp"]
|
|
23
23
|
|
|
24
|
+
if os.environ.get("COVERAGE", False):
|
|
25
|
+
if sys.platform in ["win32", "cygwin", "win64", "darwin"]:
|
|
26
|
+
raise ValueError("Coverage is not supported on Windows or macOS")
|
|
27
|
+
|
|
28
|
+
extra_compile_args += [
|
|
29
|
+
'--coverage',
|
|
30
|
+
'-fno-inline',
|
|
31
|
+
'-fno-inline-small-functions',
|
|
32
|
+
'-fno-default-inline',
|
|
33
|
+
'-O0'
|
|
34
|
+
]
|
|
35
|
+
|
|
24
36
|
return extra_compile_args
|
|
25
37
|
|
|
26
38
|
|
|
@@ -37,6 +49,12 @@ def extra_link_args() -> List[str]:
|
|
|
37
49
|
else:
|
|
38
50
|
extra_link_args = ["-fopenmp"]
|
|
39
51
|
|
|
52
|
+
if os.environ.get("COVERAGE", False):
|
|
53
|
+
if sys.platform in ["win32", "cygwin", "win64", "darwin"]:
|
|
54
|
+
raise ValueError("Coverage is not supported on Windows or macOS")
|
|
55
|
+
|
|
56
|
+
extra_link_args += ["--coverage"]
|
|
57
|
+
|
|
40
58
|
return extra_link_args
|
|
41
59
|
|
|
42
60
|
|
|
@@ -5,7 +5,7 @@ from .expm_multiply_parallel_wrapper import (
|
|
|
5
5
|
_wrapper_csr_trace,
|
|
6
6
|
_wrapper_csr_1_norm,
|
|
7
7
|
)
|
|
8
|
-
from scipy.sparse
|
|
8
|
+
from scipy.sparse import eye
|
|
9
9
|
from scipy.sparse.linalg._expm_multiply import _fragment_3_1, _exact_1_norm
|
|
10
10
|
import scipy.sparse as _sp
|
|
11
11
|
import numpy as _np
|
|
@@ -140,7 +140,7 @@ class ExpmMultiplyParallel(object):
|
|
|
140
140
|
if dtype is None:
|
|
141
141
|
self._dtype = _np.result_type(self._A.dtype, a_dtype_min, _np.float64)
|
|
142
142
|
else:
|
|
143
|
-
min_dtype = _np.result_type(A.dtype, a_dtype_min, _np.float32)
|
|
143
|
+
min_dtype = _np.result_type(self.A.dtype, a_dtype_min, _np.float32)
|
|
144
144
|
if not _np.can_cast(min_dtype, dtype):
|
|
145
145
|
raise ValueError(
|
|
146
146
|
"dtype not sufficient to represent a*A to at least float32 precision."
|