Skip to content

Commit 332f923

Browse files
authored
fix(eon,mlmm): papercuts (#242)
* fix(eon-pet-neb): update for rgpycrumbs v1.5.x CLI changes - Rename --ase-rotation to --rotation (v1.5.0) - Add --strip-renderer xyzrender, --strip-dividers, --show-legend - Add --project-path for reaction valley coordinates - Increase figsize to 7x7 and zoom-ratio to 0.4 - Bump rgpycrumbs>=1.5.1, chemparseplot>=1.5.2 - Add strict=True to zip() * chore(ml-mm): add missing dependency * fix(ml-mm): add openmpi dep for MPI gromacs-metatomic variant * fix(ml-mm): switch to nompi variant (MPI variant segfaults on CI runner) * fix(ml-mm): use mpirun for mdrun (bare gmx_mpi segfaults on CI) * fix(ml-mm): pin CUDA MPI variant (non-CUDA MPI segfaults on CI) * fix(ml-mm): use nompi variant (non-CUDA MPI segfaults, feedstock fix incoming) * fix(ml-mm): add libopenblas for nompi gromacs-metatomic variant The nompi variant dynamically links against libopenblas.so.0 but the feedstock does not declare it as a run dependency. MKL gets pulled in via pytorch-cpu, so libopenblas is never installed unless explicit. * fix(ml-mm): drop pip torch pin (conda libtorch 2.9 vs pip torch 2.7 = segfault) The noxfile DEPENCENCIES_UPDATES adds pytorch-cpu 2.9.1 from conda when libtorch is detected. The pip torch>=2.7,<2.8 pin then overwrites it with torch 2.7.1+cpu, causing an ABI mismatch with the C++ libtorch 2.9.1 that gromacs-metatomic links against. Result: SIGSEGV in mdrun. Removing the pip torch pin lets conda's pytorch-cpu provide the matching torch version. * fix(ml-mm): pin CPU libtorch variant, revert to MPI gromacs The conda solver started picking libtorch gpu_cuda130 (565 MB) instead of cpu_generic (58 MB) around 2026-03-23, breaking ml-mm on CI runners with missing libopenblas.so.0. Adding `libtorch =*=cpu*` constrains the solver to the CPU variant which pulls in libopenblas automatically. Reverts the nompi/gmx changes since the MPI variant with gmx_mpi works correctly with CPU libtorch (confirmed via act on cosmolab).
1 parent 24cc2be commit 332f923

File tree

3 files changed

+16
-9
lines changed

3 files changed

+16
-9
lines changed

examples/eon-pet-neb/environment.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ dependencies:
1515
- matplotlib
1616
- metatrain>=2026.2.1,<2027
1717
- requests
18-
- rgpycrumbs>=1.4.1,<2
19-
- chemparseplot>=1.4.2,<2
18+
- rgpycrumbs>=1.5.1,<2
19+
- chemparseplot>=1.5.2,<2

examples/eon-pet-neb/eon-pet-neb.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@
199199

200200
output_files = [output_dir / f"{num:02d}.con" for num in range(TOTAL_IMGS)]
201201

202-
for outfile, img in zip(output_files, images):
202+
for outfile, img in zip(output_files, images, strict=True):
203203
aseio.write(outfile, img)
204204

205205
print(f"Wrote {len(output_files)} IDPP images to '{output_dir}/'.")
@@ -404,20 +404,24 @@ def run_neb_plot(
404404
con_file,
405405
"--output-file",
406406
output_file,
407-
"--ase-rotation",
407+
"--rotation",
408408
rotation,
409409
"--facecolor",
410410
"white",
411411
"--figsize",
412-
"5.37",
413-
"5.37",
412+
"7",
413+
"7",
414414
"--fontsize-base",
415415
"16",
416416
"--show-pts",
417417
"--zoom-ratio",
418-
"0.25",
418+
"0.4",
419419
"--plot-structures",
420420
"crit_points",
421+
"--strip-renderer",
422+
"xyzrender",
423+
"--strip-dividers",
424+
"--show-legend",
421425
]
422426

423427
if title:
@@ -443,6 +447,7 @@ def run_neb_plot(
443447
"all",
444448
"--surface-type",
445449
"grad_imq",
450+
"--project-path",
446451
]
447452
)
448453
else:
@@ -465,7 +470,7 @@ def run_neb_plot(
465470

466471
# Display the result
467472
img = mpimg.imread("1D_oxad.png")
468-
plt.figure(figsize=(5.37, 5.37))
473+
plt.figure(figsize=(8, 8))
469474
plt.imshow(img)
470475
plt.axis("off")
471476
plt.show()
@@ -484,7 +489,7 @@ def run_neb_plot(
484489

485490
# Display the result
486491
img = mpimg.imread("2D_oxad.png")
487-
plt.figure(figsize=(5.37, 5.37))
492+
plt.figure(figsize=(8, 8))
488493
plt.imshow(img)
489494
plt.axis("off")
490495
plt.show()

examples/ml-mm/environment.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ channels:
44
dependencies:
55
- chemiscope
66
- metatensor::gromacs-metatomic=*=mpi_*
7+
- libtorch =*=cpu*
8+
- pytorch-cpu
79
- matplotlib
810
- mdanalysis
911
- python=3.12

0 commit comments

Comments
 (0)