fullwave25 1.3.2.dev3__tar.gz → 1.3.2.dev5__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.
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/.bumpversion.toml +1 -1
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/PKG-INFO +1 -1
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/__init__.py +1 -1
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/solver.py +19 -6
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/pyproject.toml +1 -1
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/uv.lock +1 -1
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/.gitignore +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/.pre-commit-config.yaml +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/.python-version +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/CITATION.cff +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/CONTRIBUTING.md +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/LICENSE +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/Makefile +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/README.md +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/attenuation.png +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/beamformer.m +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/debug_solver_bin/fullwave2_2d_2_relax_multi_gpu_cuda124 +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/debug_solver_bin/fullwave2_2d_exponential_attenuation_multi_gpu +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/debug_solver_bin/fullwave2_2d_exponential_attenuation_multi_gpu_cuda124 +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/debug_solver_bin/fullwave2_2d_exponential_attenuation_multi_gpu_cuda124_ +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/debug_solver_bin/fullwave2_3d_exponential_attenuation_multi_gpu_cuda124 +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/debug_solver_bin/fullwave2_3d_exponential_attenuation_multi_gpu_cuda124_ +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/experiments/__init__.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/experiments/exp_scatterer_diameter.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/beamformer/__init__.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/beamformer/beamformer.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/constants/__init__.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/constants/material_properties.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/grid.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/medium.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/medium_builder/__init__.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/medium_builder/domain.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/medium_builder/medium_builder.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/medium_builder/presets/__init__.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/medium_builder/presets/data/.keep +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/medium_builder/presets/data/abdominal_wall/i2365f_etfw1.mat +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/medium_builder/presets/domain_abdominal_wall.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/medium_builder/presets/domain_background.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/medium_builder/presets/domain_scatterer.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/medium_builder/presets/domain_simple.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/medium_builder/presets/domain_water_gel.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/sensor.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/__init__.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/binary_manager.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/bins/_gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_cuda118 +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/bins/_gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_cuda124 +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/bins/_gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_cuda129 +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/bins/_gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_cuda130 +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/bins/_gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_cuda118 +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/bins/_gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_cuda124 +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/bins/_gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_cuda129 +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/bins/_gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_cuda130 +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/bins/database/relaxation_params_database_num_relax=3_20260828_1513.mat +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/bins/database/relaxation_params_database_num_relax=3_20260828_1513_invalid_cells.json +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/bins/database/relaxation_params_database_num_relax=4_20260828_1456.mat +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/bins/database/relaxation_params_database_num_relax=4_20260828_1456_invalid_cells.json +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/cuda_utils.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/input_file_writer.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/launcher.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/pml_builder.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/shipped_database.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/source_type.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/solver/utils.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/source.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/transducer.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/transmit.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/utils/__init__.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/utils/check_functions.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/utils/coordinates.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/utils/memory_tempfile.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/utils/numerical.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/utils/plot_utils.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/utils/pulse.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/utils/relaxation_parameters.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/utils/scatterer.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/utils/signal_filter.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/utils/signal_process.py +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/ruff.toml +0 -0
- {fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/signal_filter_example.png +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: fullwave25
|
|
3
|
-
Version: 1.3.2.
|
|
3
|
+
Version: 1.3.2.dev5
|
|
4
4
|
Summary: Fullwave 2.5: Ultrasound wave propagation simulation with heterogeneous power law attenuation modelling capabilities
|
|
5
5
|
Author: Masashi Sode, Gianmarco Pinton
|
|
6
6
|
Maintainer: Masashi Sode
|
|
@@ -66,7 +66,7 @@ try:
|
|
|
66
66
|
__version__ = version("fullwave")
|
|
67
67
|
except PackageNotFoundError:
|
|
68
68
|
# Update via bump-my-version, not manually
|
|
69
|
-
__version__ = "1.3.2-
|
|
69
|
+
__version__ = "1.3.2-dev5"
|
|
70
70
|
|
|
71
71
|
VERSION = __version__ # for convenience
|
|
72
72
|
logger.info("Fullwave version: %s", __version__)
|
|
@@ -42,6 +42,7 @@ COMPATIBLE_CUDA_ARCHITECTURES = [
|
|
|
42
42
|
"sm_90", # Hopper: H100, H200
|
|
43
43
|
"sm_100", # Blackwell: RTX 50 series
|
|
44
44
|
"sm_101", # Blackwell: RTX 50 series
|
|
45
|
+
"sm_103", # Blackwell
|
|
45
46
|
"sm_120", # Blackwell: RTX 50 series
|
|
46
47
|
"sm_121", # Blackwell: RTX 50 series
|
|
47
48
|
]
|
|
@@ -96,6 +97,7 @@ COMPATIBLE_CUDA_VERSIONS_ARCHITECTURES_set = {
|
|
|
96
97
|
(12.9, "sm_90"),
|
|
97
98
|
(12.9, "sm_100"),
|
|
98
99
|
(12.9, "sm_101"),
|
|
100
|
+
(12.9, "sm_103"),
|
|
99
101
|
(12.9, "sm_120"),
|
|
100
102
|
(12.9, "sm_121"),
|
|
101
103
|
# ---
|
|
@@ -142,7 +144,10 @@ def _make_cuda_version_option(*, cuda_arch: str, use_gpu: bool = True) -> tuple[
|
|
|
142
144
|
|
|
143
145
|
The driver reports the newest CUDA version it supports, and it also runs a binary
|
|
144
146
|
built with an older CUDA version. The choice is therefore the newest CUDA version
|
|
145
|
-
with a build for the architecture that is not newer than the driver.
|
|
147
|
+
with a build for the architecture that is not newer than the driver. Where no such
|
|
148
|
+
build exists, the choice is the oldest build of the driver's CUDA major version,
|
|
149
|
+
which runs through CUDA minor version compatibility. A Blackwell GPU on a CUDA 12.8
|
|
150
|
+
driver takes this path, because its first build is CUDA 12.9.
|
|
146
151
|
|
|
147
152
|
Parameters
|
|
148
153
|
----------
|
|
@@ -160,8 +165,8 @@ def _make_cuda_version_option(*, cuda_arch: str, use_gpu: bool = True) -> tuple[
|
|
|
160
165
|
Raises
|
|
161
166
|
------
|
|
162
167
|
ValueError
|
|
163
|
-
If the driver version cannot be read, or
|
|
164
|
-
|
|
168
|
+
If the driver version cannot be read, or the architecture has no build as
|
|
169
|
+
old as the driver and none of the driver's CUDA major version.
|
|
165
170
|
|
|
166
171
|
"""
|
|
167
172
|
cuda_version: float = retrieve_cuda_version()
|
|
@@ -179,8 +184,15 @@ def _make_cuda_version_option(*, cuda_arch: str, use_gpu: bool = True) -> tuple[
|
|
|
179
184
|
for version, arch in COMPATIBLE_CUDA_VERSIONS_ARCHITECTURES_set
|
|
180
185
|
if arch == cuda_arch
|
|
181
186
|
)
|
|
182
|
-
|
|
183
|
-
|
|
187
|
+
older_versions = [version for version in built_versions if version <= cuda_version]
|
|
188
|
+
same_major_versions = [
|
|
189
|
+
version for version in built_versions if int(version) == int(cuda_version)
|
|
190
|
+
]
|
|
191
|
+
if older_versions:
|
|
192
|
+
closest_version = older_versions[-1]
|
|
193
|
+
elif same_major_versions:
|
|
194
|
+
closest_version = same_major_versions[0]
|
|
195
|
+
else:
|
|
184
196
|
error_msg = (
|
|
185
197
|
f"No binary for architecture {cuda_arch} runs on a driver that supports "
|
|
186
198
|
f"CUDA {cuda_version}. The binaries for this architecture are built with "
|
|
@@ -188,13 +200,14 @@ def _make_cuda_version_option(*, cuda_arch: str, use_gpu: bool = True) -> tuple[
|
|
|
188
200
|
)
|
|
189
201
|
logger.error(error_msg)
|
|
190
202
|
raise ValueError(error_msg)
|
|
191
|
-
closest_version = runnable_versions[-1]
|
|
192
203
|
if closest_version != cuda_version:
|
|
193
204
|
message = (
|
|
194
205
|
f"Warning: CUDA version {cuda_version} of the driver has no binary for "
|
|
195
206
|
f"architecture {cuda_arch}. "
|
|
196
207
|
f"Using the closest compatible version {closest_version} instead."
|
|
197
208
|
)
|
|
209
|
+
if closest_version > cuda_version:
|
|
210
|
+
message += " It runs through CUDA minor version compatibility."
|
|
198
211
|
logger.warning(message)
|
|
199
212
|
cuda_version = closest_version
|
|
200
213
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "fullwave25"
|
|
3
|
-
version = "1.3.2-
|
|
3
|
+
version = "1.3.2-dev5" # Update via bump-my-version, not manually
|
|
4
4
|
description = "Fullwave 2.5: Ultrasound wave propagation simulation with heterogeneous power law attenuation modelling capabilities"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/medium_builder/presets/domain_background.py
RENAMED
|
File without changes
|
{fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/medium_builder/presets/domain_scatterer.py
RENAMED
|
File without changes
|
{fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/medium_builder/presets/domain_simple.py
RENAMED
|
File without changes
|
{fullwave25-1.3.2.dev3 → fullwave25-1.3.2.dev5}/fullwave/medium_builder/presets/domain_water_gel.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|