musica 0.11.0__cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl → 0.11.1.0__cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.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 musica might be problematic. Click here for more details.

Binary file
lib/libmusica.a CHANGED
Binary file
lib/libyaml-cpp.a CHANGED
Binary file
musica/CMakeLists.txt CHANGED
@@ -19,9 +19,15 @@ if (APPLE)
19
19
  BUILD_WITH_INSTALL_RPATH TRUE
20
20
  )
21
21
  elseif(UNIX)
22
- # set the rpath for the shared library
22
+ set(CUDA_RPATH
23
+ "$ORIGIN/../../nvidia/cublas/lib"
24
+ "$ORIGIN/../../nvidia/cuda_runtime/lib"
25
+ )
26
+
27
+ message(STATUS "Adding RPATH for python site packages libs at ${CUDA_RPATH}")
28
+
23
29
  set_target_properties(_musica PROPERTIES
24
- INSTALL_RPATH "$ORIGIN"
30
+ INSTALL_RPATH "$ORIGIN;${CUDA_RPATH}"
25
31
  BUILD_WITH_INSTALL_RPATH TRUE
26
32
  )
27
33
  endif()
musica/_version.py CHANGED
@@ -1 +1 @@
1
- version = "0.11.0"
1
+ version = "0.11.1.0"
musica/musica.cpp CHANGED
@@ -52,17 +52,17 @@ void bind_musica(py::module_ &core)
52
52
  .def_property(
53
53
  "user_defined_rate_parameters",
54
54
  [](musica::State &state) -> std::vector<double>& {
55
- return state.GetOrderedRateConstants();
55
+ return state.GetOrderedRateParameters();
56
56
  },
57
57
  nullptr,
58
58
  "native 1D list of user-defined rate parameters, ordered by parameter and grid cell according to matrix type")
59
59
  .def("concentration_strides",
60
60
  [](musica::State &state) {
61
- return state.GetConcentrationStrides();
61
+ return state.GetConcentrationsStrides();
62
62
  })
63
63
  .def("user_defined_rate_parameter_strides",
64
64
  [](musica::State &state) {
65
- return state.GetUserDefinedRateParameterStrides();
65
+ return state.GetUserDefinedRateParametersStrides();
66
66
  });
67
67
 
68
68
  py::enum_<musica::MICMSolver>(core, "_SolverType")
@@ -77,14 +77,17 @@ void bind_musica(py::module_ &core)
77
77
  core.def("_vector_size",
78
78
  [](const musica::MICMSolver solver_type)
79
79
  {
80
- if (solver_type == musica::MICMSolver::RosenbrockStandardOrder ||
81
- solver_type == musica::MICMSolver::BackwardEulerStandardOrder) {
82
- return static_cast<std::size_t>(0);
83
- } else if (solver_type == musica::MICMSolver::Rosenbrock ||
84
- solver_type == musica::MICMSolver::BackwardEuler) {
85
- return musica::MUSICA_VECTOR_SIZE;
86
- } else {
87
- throw py::value_error("Invalid MICM solver type.");
80
+ switch (solver_type)
81
+ {
82
+ case musica::MICMSolver::Rosenbrock:
83
+ case musica::MICMSolver::BackwardEuler:
84
+ case musica::MICMSolver::CudaRosenbrock:
85
+ return musica::MUSICA_VECTOR_SIZE;
86
+ case musica::MICMSolver::RosenbrockStandardOrder:
87
+ case musica::MICMSolver::BackwardEulerStandardOrder:
88
+ return static_cast<std::size_t>(0);
89
+ default:
90
+ throw py::value_error("Invalid MICM solver type.");
88
91
  }
89
92
  },
90
93
  "Returns the vector dimension for vector-ordered solvers, 0 otherwise.");
@@ -261,7 +261,7 @@ def test_cuda_rosenbrock():
261
261
  if _is_cuda_available():
262
262
  solver = musica.MICM(
263
263
  config_path="configs/analytical",
264
- solver_type=musica.micmsolver.cuda_rosenbrock)
264
+ solver_type=musica.SolverType.cuda_rosenbrock)
265
265
  state = solver.create_state()
266
266
  TestSingleGridCell(solver, state, 200.0, 5)
267
267
  else:
@@ -3,9 +3,29 @@
3
3
  set -e
4
4
  set -x
5
5
 
6
- # Cuda can only be installed on x86_64 architecture.
7
- if [ "$(uname -m)" == "x86_64" ]; then
8
- # Install CUDA 12.2:
6
+ # Update the mirror list to use vault.centos.org
7
+ sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo
8
+ sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo
9
+ sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo
10
+
11
+ sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
12
+ sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
13
+
14
+ yum install -y zip tree
15
+
16
+ # Use CIBW_ARCHS or CIBW_ARCH if set, else fallback to uname -m
17
+ if [ -n "$CIBW_ARCHS" ]; then
18
+ target_arch="$CIBW_ARCHS"
19
+ elif [ -n "$CIBW_ARCH" ]; then
20
+ target_arch="$CIBW_ARCH"
21
+ else
22
+ target_arch="$(uname -m)"
23
+ fi
24
+
25
+ echo "Detected target_arch: $target_arch"
26
+
27
+ if [ "$target_arch" = "x86_64" ]; then
28
+ # Install CUDA 12.2 for x86_64:
9
29
  yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
10
30
  # error mirrorlist.centos.org doesn't exists anymore.
11
31
  sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ auditwheel repair --exclude libcublas --exclude libcublasLt --exclude libcudart -w "$2" "$1"
5
+
6
+ for whl in "$2"/*.whl; do
7
+ tmpdir=$(mktemp -d)
8
+ unzip -q "$whl" -d "$tmpdir"
9
+ tree "$tmpdir"
10
+ echo "Before patchelf:"
11
+ readelf -d "$tmpdir"/_musica*.so
12
+ patchelf --remove-rpath "$tmpdir"/_musica*.so
13
+ patchelf --set-rpath "\$ORIGIN:\$ORIGIN/../../nvidia/cublas/lib:\$ORIGIN/../../nvidia/cuda_runtime/lib" --force-rpath "$tmpdir"/_musica*.so
14
+ # Remove bundled CUDA libraries
15
+ rm -f "$tmpdir"/musica.libs/libcudart-*.so*
16
+ rm -f "$tmpdir"/musica.libs/libcublas-*.so*
17
+ rm -f "$tmpdir"/musica.libs/libcublasLt-*.so*
18
+ echo "After patchelf:"
19
+ readelf -d "$tmpdir"/_musica*.so
20
+ # Repack the wheel with correct structure
21
+ (cd "$tmpdir" && zip -qr "${whl%.whl}.patched.whl" .)
22
+ rm -rf "$tmpdir"
23
+ # Replace the original wheel with the patched one
24
+ mv "${whl%.whl}.patched.whl" "$whl"
25
+ done
musica/types.py CHANGED
@@ -124,7 +124,7 @@ class State():
124
124
 
125
125
  Parameters
126
126
  ----------
127
- concentrations : Dict[str, Union[Union[float, int ], List[Union[float, int]]]]
127
+ concentrations : Dict[str, Union[Union[float, int], List[Union[float, int]]]]
128
128
  Dictionary of species names and their concentrations.
129
129
  """
130
130
  for name, value in concentrations.items():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: musica
3
- Version: 0.11.0
3
+ Version: 0.11.1.0
4
4
  Summary: MUSICA is a Python library for performing computational simulations in atmospheric chemistry.
5
5
  Author-Email: Matthew Dawsom <mattdawson@ucar.edu>, Jiwon Gim <jiwongim@ucar.edu>, David Fillmore <fillmore@ucar.edu>, Kyle Shores <kshores@ucar.edu>, Montek Thind <mthind@ucar.edu>
6
6
  Maintainer-Email: ACOM MUSICA Developers <musica-support@ucar.edu>
@@ -210,6 +210,9 @@ Project-URL: homepage, https://wiki.ucar.edu/display/MUSICA/MUSICA+Home
210
210
  Provides-Extra: test
211
211
  Requires-Dist: numpy; extra == "test"
212
212
  Requires-Dist: pytest; extra == "test"
213
+ Provides-Extra: gpu
214
+ Requires-Dist: nvidia-cublas-cu12; extra == "gpu"
215
+ Requires-Dist: nvidia-cuda-runtime-cu12; extra == "gpu"
213
216
  Description-Content-Type: text/markdown
214
217
 
215
218
  # MUSICA
@@ -1,29 +1,30 @@
1
- _musica.cpython-310-i386-linux-gnu.so,sha256=E_2i1BUTNtw2pVODnI6FUpikvuDI8v9DX5wUb6EYsIU,3389912
2
- lib/libmusica.a,sha256=8xeJCiEezrHpmK7f0P77SM4_apDCBRi4qxus6C9PUOQ,1865736
3
- lib/libyaml-cpp.a,sha256=XH0JdYRrCnrdygOrK3fmpttI3JXF2hdO8kz6fXg8Bt0,960542
4
- musica-0.11.0.dist-info/WHEEL,sha256=GmnKieOUdYS3z1v7zduwUqFXcqpuKiOxo6VBVWPcQwk,152
5
- musica-0.11.0.dist-info/METADATA,sha256=NGs_5sOK9qucIxXFSPVme7bJvv3cNTvubCI4j4vlCsk,20686
6
- musica-0.11.0.dist-info/RECORD,,
7
- musica-0.11.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
8
- musica/mechanism_configuration.py,sha256=pma248L_jjQecsxL9zIn-S4KxXNlSL1NL4LB4fN5jV0,58011
9
- musica/types.py,sha256=wwFsfX2FyXmBf-ToqenL1euwToWPjM31iTl3afIAa5s,14896
1
+ _musica.cpython-310-i386-linux-gnu.so,sha256=K0zvGPnr6vZYvjAQL5rZRnoejbJbFCLTVzLV4whQn_c,3389912
2
+ lib/libmusica.a,sha256=6ulNl29tOa9CWcG0768xbPtWrUKVMZq0IAy0bFdDZOA,1870922
3
+ lib/libyaml-cpp.a,sha256=rduE8Wr5mQ2hgLOJlk1Bu6GzTg2ecY1WcYQi6PRDI7s,960542
4
+ musica/CMakeLists.txt,sha256=FJkD0MaB1qUNDpyCsjELAW4wpuSslfzyo-YCJwLkIp4,1128
5
+ musica/binding.cpp,sha256=zDD_TQ7icS_lNG7iUAp23VG7_odbptGJbtRdYjalsdc,656
6
+ musica/musica.cpp,sha256=BBRtL9_Q62ia_vhmpTqpnHHGimPBpCR5YVth8x0i0h4,8399
10
7
  musica/__init__.py,sha256=CW7SVuK4kO8bYg8wB56YGun-NBRmBqWQO379qP21Yvo,82
11
- musica/CMakeLists.txt,sha256=vuK0ci_vLTkUGpDA4SrN1EKkUbOOnpggAws3WrWrazk,970
12
- musica/musica.cpp,sha256=AjoBDd0qExr63CtVQlaYeHXvG4BFpZPvhv1DOf69Weo,8366
8
+ musica/types.py,sha256=WQYTDT3aZQVvCyXmaEGuBYqtdx3IZk1Ao5bcmPUGzXM,14895
9
+ musica/_version.py,sha256=suv06oJaea_7HQaaHK99o4t0k3p-d4OKHaDzvMpoHOU,21
13
10
  musica/mechanism_configuration.cpp,sha256=E7GGeftgQGL303nsk2C7pwYpPiMAQcuxdbadohHb1QM,27100
14
- musica/_version.py,sha256=dRrvxj3J72feH1jJTMOOTBdWRMp_uivh7mhwD2v-fMg,19
15
- musica/binding.cpp,sha256=zDD_TQ7icS_lNG7iUAp23VG7_odbptGJbtRdYjalsdc,656
11
+ musica/mechanism_configuration.py,sha256=pma248L_jjQecsxL9zIn-S4KxXNlSL1NL4LB4fN5jV0,58011
16
12
  musica/test/test_chapman.py,sha256=Wm0wLy6E1Zm8p6cLaICQO9tSy_szMkYn9E7MPCtobno,3070
17
- musica/test/tuvx.py,sha256=rWvBcG6cgLJylqkf8M0MFMKT2AkyoaZlGdaKjVSbCR8,116
18
13
  musica/test/test_parser.py,sha256=VhOPNrcDnFGgk2v_iMoLNq5JBP22VbkHTHLk3N09d3s,24292
19
- musica/test/test_analytical.py,sha256=qYhuFoJhQ6cr3fvcmEJkF0hD8M_4rLUDGEzc57H1SEA,13775
20
- musica/test/examples/v1/full_configuration.json,sha256=7AqPhTHodSjtV8LOPoUsA9MtCu_Xc28RVOlhNGPI9GQ,8807
14
+ musica/test/tuvx.py,sha256=rWvBcG6cgLJylqkf8M0MFMKT2AkyoaZlGdaKjVSbCR8,116
15
+ musica/test/test_analytical.py,sha256=5rIlpy5bzpTfZNv8wAND8O5KA8Wvh3Bm64pTRRlSHgc,13775
21
16
  musica/test/examples/v1/full_configuration.yaml,sha256=s9Go7AQv9OFQ7zVb1k4wmDj2vpHYzVCTRqi8JZTHlUM,5235
22
- musica/test/examples/v0/config.yaml,sha256=GgA18mP8ZCzOdY-AlAePK48M05PJFPeWCk-IfrPN_VE,44
23
- musica/test/examples/v0/config.json,sha256=7s6g5jxH2GiEiRcZmO13IJ5k4walg1C9t-dQr9o45U4,79
17
+ musica/test/examples/v1/full_configuration.json,sha256=7AqPhTHodSjtV8LOPoUsA9MtCu_Xc28RVOlhNGPI9GQ,8807
18
+ musica/test/examples/v0/species.json,sha256=xKTcwh9QV9sRjLPK9GvGEnatBrRPbP857NmPG0bCXqU,565
24
19
  musica/test/examples/v0/species.yaml,sha256=vUYTs7bp2AYVWHDgXBFxnCkmqdO6ysJ_ulOQTAoKa1M,283
20
+ musica/test/examples/v0/config.yaml,sha256=GgA18mP8ZCzOdY-AlAePK48M05PJFPeWCk-IfrPN_VE,44
25
21
  musica/test/examples/v0/reactions.json,sha256=7WJhItBPtGu89vLcPMK6izW8BvwUAIjfzqwjtDmfPPg,4188
26
22
  musica/test/examples/v0/reactions.yaml,sha256=uEuQOz5i7vGyn0G7KsmdWv23V2Gn0QUmexrK030CFlo,2266
27
- musica/test/examples/v0/species.json,sha256=xKTcwh9QV9sRjLPK9GvGEnatBrRPbP857NmPG0bCXqU,565
23
+ musica/test/examples/v0/config.json,sha256=7s6g5jxH2GiEiRcZmO13IJ5k4walg1C9t-dQr9o45U4,79
24
+ musica/tools/repair_wheel_gpu.sh,sha256=PHWls1cS9QOElQDIgSMOh7TkHB8UNylZbls9zSjSus0,917
25
+ musica/tools/prepare_build_environment_linux.sh,sha256=9rkT0bTVmu9QQqhS6eGRX1HXMQZLfkUGakkC3i5VKec,1466
28
26
  musica/tools/prepare_build_environment_windows.sh,sha256=zMY_RIerqfMC1VlfpZ2KjjDWfBUOvvx8oRNk_jJhmII,826
29
- musica/tools/prepare_build_environment_linux.sh,sha256=WrKAVAZrFwIq_MEXX2pqdBCMPTXvYoPrvMxGBhWlhi0,801
27
+ musica-0.11.1.0.dist-info/WHEEL,sha256=C9MHKU4XQOsPtqB8Fc9BpKOwJ2BaQTX-QpGVMm9jNwY,152
28
+ musica-0.11.1.0.dist-info/METADATA,sha256=TBJI5PEajWEcPSut2_1k4J6NL2tA9EH-iPLwgCRecHo,20814
29
+ musica-0.11.1.0.dist-info/RECORD,,
30
+ musica-0.11.1.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: scikit-build-core 0.11.2
2
+ Generator: scikit-build-core 0.11.3
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp310-cp310-manylinux_2_17_i686
5
5
  Tag: cp310-cp310-manylinux2014_i686