musica 0.11.1__cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl → 0.11.1.0__cp39-cp39-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.1"
1
+ version = "0.11.1.0"
musica/musica.cpp CHANGED
@@ -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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: musica
3
- Version: 0.11.1
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,18 +1,18 @@
1
- _musica.cpython-39-i386-linux-gnu.so,sha256=2DqiDZ4s3TRQdEB-n05QggFdiEzfWtYrajc8EmKs_po,3398072
2
- lib/libmusica.a,sha256=J8H9K3zBm5eA1-GbHQ1GDbB3XVvsXeMyLx6hmsUVnEo,1875674
3
- lib/libyaml-cpp.a,sha256=erxKJlBggApVIrLV9DkFD2iwn8nT2XfUH0-OWu-80tE,960542
4
- musica/CMakeLists.txt,sha256=vuK0ci_vLTkUGpDA4SrN1EKkUbOOnpggAws3WrWrazk,970
1
+ _musica.cpython-39-i386-linux-gnu.so,sha256=HNCuVxqxJzoAe8U74GmnUfTy-XCY9bDiUr-zHidZjso,3393976
2
+ lib/libmusica.a,sha256=PU9nSG34eSsTZTSgHAfG4-gmP2MPGUCfb0c237NOIn4,1870922
3
+ lib/libyaml-cpp.a,sha256=wHOPd8F9-JJycmerWMfcsoM84BQbKnskeRLeZMfoi2s,960542
4
+ musica/CMakeLists.txt,sha256=FJkD0MaB1qUNDpyCsjELAW4wpuSslfzyo-YCJwLkIp4,1128
5
5
  musica/binding.cpp,sha256=zDD_TQ7icS_lNG7iUAp23VG7_odbptGJbtRdYjalsdc,656
6
- musica/musica.cpp,sha256=c0omzM-ebumZ-1L2OZ98VW9Wfo4dq2ShxOs2f-Pnn3w,8369
6
+ musica/musica.cpp,sha256=BBRtL9_Q62ia_vhmpTqpnHHGimPBpCR5YVth8x0i0h4,8399
7
7
  musica/__init__.py,sha256=CW7SVuK4kO8bYg8wB56YGun-NBRmBqWQO379qP21Yvo,82
8
8
  musica/types.py,sha256=WQYTDT3aZQVvCyXmaEGuBYqtdx3IZk1Ao5bcmPUGzXM,14895
9
- musica/_version.py,sha256=SUcnFm7j3J3uMo-4MTj_VQdFouf2G1ZrvcI2NbsXESc,19
9
+ musica/_version.py,sha256=suv06oJaea_7HQaaHK99o4t0k3p-d4OKHaDzvMpoHOU,21
10
10
  musica/mechanism_configuration.cpp,sha256=E7GGeftgQGL303nsk2C7pwYpPiMAQcuxdbadohHb1QM,27100
11
11
  musica/mechanism_configuration.py,sha256=pma248L_jjQecsxL9zIn-S4KxXNlSL1NL4LB4fN5jV0,58011
12
12
  musica/test/test_chapman.py,sha256=Wm0wLy6E1Zm8p6cLaICQO9tSy_szMkYn9E7MPCtobno,3070
13
13
  musica/test/test_parser.py,sha256=VhOPNrcDnFGgk2v_iMoLNq5JBP22VbkHTHLk3N09d3s,24292
14
14
  musica/test/tuvx.py,sha256=rWvBcG6cgLJylqkf8M0MFMKT2AkyoaZlGdaKjVSbCR8,116
15
- musica/test/test_analytical.py,sha256=qYhuFoJhQ6cr3fvcmEJkF0hD8M_4rLUDGEzc57H1SEA,13775
15
+ musica/test/test_analytical.py,sha256=5rIlpy5bzpTfZNv8wAND8O5KA8Wvh3Bm64pTRRlSHgc,13775
16
16
  musica/test/examples/v1/full_configuration.yaml,sha256=s9Go7AQv9OFQ7zVb1k4wmDj2vpHYzVCTRqi8JZTHlUM,5235
17
17
  musica/test/examples/v1/full_configuration.json,sha256=7AqPhTHodSjtV8LOPoUsA9MtCu_Xc28RVOlhNGPI9GQ,8807
18
18
  musica/test/examples/v0/species.json,sha256=xKTcwh9QV9sRjLPK9GvGEnatBrRPbP857NmPG0bCXqU,565
@@ -21,9 +21,10 @@ musica/test/examples/v0/config.yaml,sha256=GgA18mP8ZCzOdY-AlAePK48M05PJFPeWCk-If
21
21
  musica/test/examples/v0/reactions.json,sha256=7WJhItBPtGu89vLcPMK6izW8BvwUAIjfzqwjtDmfPPg,4188
22
22
  musica/test/examples/v0/reactions.yaml,sha256=uEuQOz5i7vGyn0G7KsmdWv23V2Gn0QUmexrK030CFlo,2266
23
23
  musica/test/examples/v0/config.json,sha256=7s6g5jxH2GiEiRcZmO13IJ5k4walg1C9t-dQr9o45U4,79
24
- musica/tools/prepare_build_environment_linux.sh,sha256=WrKAVAZrFwIq_MEXX2pqdBCMPTXvYoPrvMxGBhWlhi0,801
24
+ musica/tools/repair_wheel_gpu.sh,sha256=PHWls1cS9QOElQDIgSMOh7TkHB8UNylZbls9zSjSus0,917
25
+ musica/tools/prepare_build_environment_linux.sh,sha256=9rkT0bTVmu9QQqhS6eGRX1HXMQZLfkUGakkC3i5VKec,1466
25
26
  musica/tools/prepare_build_environment_windows.sh,sha256=zMY_RIerqfMC1VlfpZ2KjjDWfBUOvvx8oRNk_jJhmII,826
26
- musica-0.11.1.dist-info/WHEEL,sha256=wWXs7nJCrz8rMjJF5Bb72XjEcz93N-RsX-jWJ1tAy2U,148
27
- musica-0.11.1.dist-info/METADATA,sha256=JRV9nXqgBkcKv9C4HS2Nqkl6Lz_N7Fn7h5VyQymqr1o,20686
28
- musica-0.11.1.dist-info/RECORD,,
29
- musica-0.11.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
27
+ musica-0.11.1.0.dist-info/WHEEL,sha256=ErHUB7C7ibwP9mW2O3N1pI6BcJR-lMwFCn14CCnaQg8,148
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: cp39-cp39-manylinux_2_17_i686
5
5
  Tag: cp39-cp39-manylinux2014_i686