fullwave25 1.2.6.dev6__tar.gz → 1.2.6.dev7__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.2.6.dev6 → fullwave25-1.2.6.dev7}/.bumpversion.toml +1 -1
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/PKG-INFO +1 -1
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/__init__.py +1 -1
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/solver.py +20 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/pyproject.toml +1 -1
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/uv.lock +1 -1
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/.gitignore +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/.pre-commit-config.yaml +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/.python-version +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/20260120_0844.log +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/CITATION.cff +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/CLAUDE.md +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/CONTRIBUTING.md +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/LICENSE +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/Makefile +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/README.md +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/beamformer.m +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/debug_solver_bin/fullwave2_2d_2_relax_multi_gpu_cuda124 +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/debug_solver_bin/fullwave2_2d_exponential_attenuation_multi_gpu +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/debug_solver_bin/fullwave2_2d_exponential_attenuation_multi_gpu_cuda124 +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/debug_solver_bin/fullwave2_2d_exponential_attenuation_multi_gpu_cuda124_ +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/debug_solver_bin/fullwave2_3d_exponential_attenuation_multi_gpu_cuda124 +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/debug_solver_bin/fullwave2_3d_exponential_attenuation_multi_gpu_cuda124_ +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/experiments/__init__.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/experiments/exp_scatterer_diameter.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/beamformer/__init__.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/beamformer/beamformer.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/constants/__init__.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/constants/material_properties.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/grid.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/medium.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/medium_builder/__init__.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/medium_builder/domain.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/medium_builder/medium_builder.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/medium_builder/presets/__init__.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/medium_builder/presets/data/.keep +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/medium_builder/presets/data/abdominal_wall/i2365f_etfw1.mat +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/medium_builder/presets/domain_abdominal_wall.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/medium_builder/presets/domain_background.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/medium_builder/presets/domain_scatterer.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/medium_builder/presets/domain_simple.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/medium_builder/presets/domain_water_gel.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/sensor.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/__init__.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/binary_manager.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/bins/_gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_cuda118 +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/bins/_gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_cuda124 +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/bins/_gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_cuda129 +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/bins/_gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_cuda130 +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/bins/_gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_cuda118 +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/bins/_gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_cuda124 +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/bins/_gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_cuda129 +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/bins/_gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_cuda130 +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/bins/database/relaxation_params_database_num_relax=2_20260113_0957.mat +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/cuda_utils.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/input_file_writer.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/launcher.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/pml_builder.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/solver/utils.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/source.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/transducer.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/utils/__init__.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/utils/check_functions.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/utils/coordinates.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/utils/memory_tempfile.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/utils/numerical.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/utils/plot_utils.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/utils/pulse.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/utils/relaxation_parameters.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/utils/scatterer.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/utils/signal_filter.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/utils/signal_process.py +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/ruff.log +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/ruff.toml +0 -0
- {fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/signal_filter_example.png +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fullwave25
|
|
3
|
-
Version: 1.2.6.
|
|
3
|
+
Version: 1.2.6.dev7
|
|
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
|
|
@@ -60,7 +60,7 @@ try:
|
|
|
60
60
|
__version__ = version("fullwave")
|
|
61
61
|
except PackageNotFoundError:
|
|
62
62
|
# Update via bump-my-version, not manually
|
|
63
|
-
__version__ = "1.2.6-
|
|
63
|
+
__version__ = "1.2.6-dev7"
|
|
64
64
|
|
|
65
65
|
VERSION = __version__ # for convenience
|
|
66
66
|
logger.info("Fullwave version: %s", __version__)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"""solver module."""
|
|
2
2
|
|
|
3
|
+
import gc
|
|
3
4
|
import logging
|
|
4
5
|
import time
|
|
5
6
|
from pathlib import Path
|
|
@@ -594,6 +595,24 @@ class Solver:
|
|
|
594
595
|
use_gpu=use_gpu_pml,
|
|
595
596
|
)
|
|
596
597
|
|
|
598
|
+
@staticmethod
|
|
599
|
+
def _release_gpu_memory_pools() -> None:
|
|
600
|
+
"""Release all CuPy GPU memory pool blocks back to CUDA.
|
|
601
|
+
|
|
602
|
+
Call ``gc.collect()`` first so that Python releases references to
|
|
603
|
+
CuPy arrays, then drain both the device and pinned memory pools.
|
|
604
|
+
This prevents stale allocations from causing memory pressure when
|
|
605
|
+
subsequent operations allocate large GPU arrays.
|
|
606
|
+
"""
|
|
607
|
+
gc.collect()
|
|
608
|
+
try:
|
|
609
|
+
import cupy as cp # noqa: PLC0415
|
|
610
|
+
|
|
611
|
+
cp.get_default_memory_pool().free_all_blocks()
|
|
612
|
+
cp.get_default_pinned_memory_pool().free_all_blocks()
|
|
613
|
+
except ImportError:
|
|
614
|
+
pass
|
|
615
|
+
|
|
597
616
|
@staticmethod
|
|
598
617
|
def _check_input(
|
|
599
618
|
grid: fullwave.Grid,
|
|
@@ -966,6 +985,7 @@ class Solver:
|
|
|
966
985
|
"Input data generation completed in %s. Skipping simulation execution.",
|
|
967
986
|
simulation_dir,
|
|
968
987
|
)
|
|
988
|
+
self._release_gpu_memory_pools()
|
|
969
989
|
return simulation_dir
|
|
970
990
|
|
|
971
991
|
sim_result = self.fullwave_launcher.run(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "fullwave25"
|
|
3
|
-
version = "1.2.6-
|
|
3
|
+
version = "1.2.6-dev7" # 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
|
|
File without changes
|
{fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/medium_builder/presets/domain_background.py
RENAMED
|
File without changes
|
{fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/medium_builder/presets/domain_scatterer.py
RENAMED
|
File without changes
|
{fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/fullwave/medium_builder/presets/domain_simple.py
RENAMED
|
File without changes
|
{fullwave25-1.2.6.dev6 → fullwave25-1.2.6.dev7}/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
|