fullwave25 1.3.2.dev5__tar.gz → 1.3.2.dev6__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.
Files changed (79) hide show
  1. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/.bumpversion.toml +1 -1
  2. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/PKG-INFO +1 -1
  3. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/__init__.py +1 -1
  4. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/solver.py +9 -2
  5. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/pyproject.toml +1 -1
  6. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/uv.lock +1 -1
  7. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/.gitignore +0 -0
  8. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/.pre-commit-config.yaml +0 -0
  9. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/.python-version +0 -0
  10. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/CITATION.cff +0 -0
  11. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/CONTRIBUTING.md +0 -0
  12. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/LICENSE +0 -0
  13. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/Makefile +0 -0
  14. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/README.md +0 -0
  15. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/attenuation.png +0 -0
  16. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/beamformer.m +0 -0
  17. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/debug_solver_bin/fullwave2_2d_2_relax_multi_gpu_cuda124 +0 -0
  18. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/debug_solver_bin/fullwave2_2d_exponential_attenuation_multi_gpu +0 -0
  19. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/debug_solver_bin/fullwave2_2d_exponential_attenuation_multi_gpu_cuda124 +0 -0
  20. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/debug_solver_bin/fullwave2_2d_exponential_attenuation_multi_gpu_cuda124_ +0 -0
  21. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/debug_solver_bin/fullwave2_3d_exponential_attenuation_multi_gpu_cuda124 +0 -0
  22. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/debug_solver_bin/fullwave2_3d_exponential_attenuation_multi_gpu_cuda124_ +0 -0
  23. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/experiments/__init__.py +0 -0
  24. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/experiments/exp_scatterer_diameter.py +0 -0
  25. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/beamformer/__init__.py +0 -0
  26. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/beamformer/beamformer.py +0 -0
  27. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/constants/__init__.py +0 -0
  28. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/constants/material_properties.py +0 -0
  29. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/grid.py +0 -0
  30. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/medium.py +0 -0
  31. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/medium_builder/__init__.py +0 -0
  32. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/medium_builder/domain.py +0 -0
  33. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/medium_builder/medium_builder.py +0 -0
  34. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/medium_builder/presets/__init__.py +0 -0
  35. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/medium_builder/presets/data/.keep +0 -0
  36. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/medium_builder/presets/data/abdominal_wall/i2365f_etfw1.mat +0 -0
  37. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/medium_builder/presets/domain_abdominal_wall.py +0 -0
  38. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/medium_builder/presets/domain_background.py +0 -0
  39. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/medium_builder/presets/domain_scatterer.py +0 -0
  40. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/medium_builder/presets/domain_simple.py +0 -0
  41. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/medium_builder/presets/domain_water_gel.py +0 -0
  42. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/sensor.py +0 -0
  43. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/__init__.py +0 -0
  44. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/binary_manager.py +0 -0
  45. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/bins/_gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_cuda118 +0 -0
  46. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/bins/_gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_cuda124 +0 -0
  47. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/bins/_gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_cuda129 +0 -0
  48. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/bins/_gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_cuda130 +0 -0
  49. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/bins/_gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_cuda118 +0 -0
  50. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/bins/_gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_cuda124 +0 -0
  51. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/bins/_gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_cuda129 +0 -0
  52. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/bins/_gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_cuda130 +0 -0
  53. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/bins/database/relaxation_params_database_num_relax=3_20260828_1513.mat +0 -0
  54. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/bins/database/relaxation_params_database_num_relax=3_20260828_1513_invalid_cells.json +0 -0
  55. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/bins/database/relaxation_params_database_num_relax=4_20260828_1456.mat +0 -0
  56. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/bins/database/relaxation_params_database_num_relax=4_20260828_1456_invalid_cells.json +0 -0
  57. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/cuda_utils.py +0 -0
  58. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/input_file_writer.py +0 -0
  59. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/launcher.py +0 -0
  60. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/pml_builder.py +0 -0
  61. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/shipped_database.py +0 -0
  62. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/source_type.py +0 -0
  63. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/solver/utils.py +0 -0
  64. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/source.py +0 -0
  65. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/transducer.py +0 -0
  66. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/transmit.py +0 -0
  67. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/utils/__init__.py +0 -0
  68. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/utils/check_functions.py +0 -0
  69. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/utils/coordinates.py +0 -0
  70. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/utils/memory_tempfile.py +0 -0
  71. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/utils/numerical.py +0 -0
  72. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/utils/plot_utils.py +0 -0
  73. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/utils/pulse.py +0 -0
  74. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/utils/relaxation_parameters.py +0 -0
  75. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/utils/scatterer.py +0 -0
  76. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/utils/signal_filter.py +0 -0
  77. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/fullwave/utils/signal_process.py +0 -0
  78. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/ruff.toml +0 -0
  79. {fullwave25-1.3.2.dev5 → fullwave25-1.3.2.dev6}/signal_filter_example.png +0 -0
@@ -1,5 +1,5 @@
1
1
  [tool.bumpversion]
2
- current_version = "1.3.2-dev5"
2
+ current_version = "1.3.2-dev6"
3
3
  parse = """(?x)
4
4
  (?P<major>0|[1-9]\\d*)\\.
5
5
  (?P<minor>0|[1-9]\\d*)\\.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: fullwave25
3
- Version: 1.3.2.dev5
3
+ Version: 1.3.2-dev6
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-dev5"
69
+ __version__ = "1.3.2-dev6"
70
70
 
71
71
  VERSION = __version__ # for convenience
72
72
  logger.info("Fullwave version: %s", __version__)
@@ -754,15 +754,22 @@ class Solver:
754
754
  CuPy arrays, then drain both the device and pinned memory pools.
755
755
  This prevents stale allocations from causing memory pressure when
756
756
  subsequent operations allocate large GPU arrays.
757
+
758
+ The release is best effort. It does nothing when CuPy is absent, and
759
+ it does nothing when CuPy is present without a usable CUDA driver,
760
+ which is the case on a machine with no GPU.
757
761
  """
758
762
  gc.collect()
759
763
  try:
760
764
  import cupy as cp # noqa: PLC0415
765
+ except ImportError:
766
+ return
761
767
 
768
+ try:
762
769
  cp.get_default_memory_pool().free_all_blocks()
763
770
  cp.get_default_pinned_memory_pool().free_all_blocks()
764
- except ImportError:
765
- pass
771
+ except cp.cuda.runtime.CUDARuntimeError as error:
772
+ logger.debug("GPU memory pools were not released: %s", error)
766
773
 
767
774
  @staticmethod
768
775
  def _check_input(
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "fullwave25"
3
- version = "1.3.2-dev5" # Update via bump-my-version, not manually
3
+ version = "1.3.2-dev6" # 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"
@@ -761,7 +761,7 @@ wheels = [
761
761
 
762
762
  [[package]]
763
763
  name = "fullwave25"
764
- version = "1.3.2.dev5"
764
+ version = "1.3.2.dev6"
765
765
  source = { editable = "." }
766
766
  dependencies = [
767
767
  { name = "cupy-cuda12x" },
File without changes