Opened 3 years ago

Closed 3 years ago

#7857 closed defect (fixed)

OpenMM binary compatibility

Reported by: Tristan Croll Owned by: Tom Goddard
Priority: normal Milestone: 1.5
Component: Build System Version:
Keywords: Cc: chimera-programmers
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Linux-5.15.0-52-generic-x86_64-with-glibc2.35
ChimeraX Version: 1.5rc202210210730 (2022-10-21 07:30:10 UTC)
Description
The version of OpenMM bundled with the Linux distribution of ChimeraX 1.5 was built with devtoolset-9, and is *not* binary compatible with the new gcc-toolset-10 build environment - if the official ChimeraX 1.5 release goes out with this I'm not sure how I'll be able to make a working ISOLDE Linux release. Sorry for not catching this earlier, but my new Linux workstation literally only arrived this morning. I could probably provide an updated build later this week (after Wednesday - big presentation to give)... if we took the opportunity to upgrade OpenMM it would lead to significantly faster simulation startup times (Peter removed a huge bottleneck in preparing the map forces - for big maps, reducing startup from 10-20 seconds to <1 second). Version 7.7 was released in December and 8.0 beta is out now... I'd suggest 7.7? 
In related news, the OpenMM team are actively working on migrating from Conda to PyPI (https://github.com/openmm/openmm/issues/3796), and I've done my best to steer them towards using the same build environment as ChimeraX. Our software engineering team is hopefully going to be able to give them some help with that... so with a bit of luck future versions will be simple 'pip install' jobs.

Last time you used ChimeraX it crashed.
Please describe steps that led to the crash here.
Fatal Python error: Segmentation fault

Thread 0x00007fed33a2b640 (most recent call first):
  File "/usr/lib/ucsf-chimerax/lib/python3.9/threading.py", line 316 in wait
  File "/usr/lib/ucsf-chimerax/lib/python3.9/threading.py", line 574 in wait
  File "/usr/lib/ucsf-chimerax/lib/python3.9/threading.py", line 1297 in run
  File "/usr/lib/ucsf-chimerax/lib/python3.9/threading.py", line 973 in _bootstrap_inner
  File "/usr/lib/ucsf-chimerax/lib/python3.9/threading.py", line 930 in _bootstrap

Current thread 0x00007fee216abb80 (most recent call first):
  File "/home/tcroll/.local/share/ChimeraX/1.5/site-packages/chimerax/isolde/openmm/custom_forces.py", line 307 in add_atoms
  File "/home/tcroll/.local/share/ChimeraX/1.5/site-packages/chimerax/isolde/openmm/openmm_interface.py", line 2562 in add_mdff_atoms
  File "/home/tcroll/.local/share/ChimeraX/1.5/site-packages/chimerax/isolde/openmm/openmm_interface.py", line 896 in _initialize_mdff
  File "/home/tcroll/.local/share/ChimeraX/1.5/site-packages/chimerax/isolde/openmm/openmm_interface.py", line 624 in __init__
  File "/home/tcroll/.local/share/ChimeraX/1.5/site-packages/chimerax/isolde/isolde.py", line 873 in start_sim
  File "/home/tcroll/.local/share/ChimeraX/1.5/site-packages/chimerax/isolde/cmd/cmd.py", line 111 in isolde_sim
  File "/usr/lib/ucsf-chimerax/lib/python3.9/site-packages/chimerax/core/commands/cli.py", line 2897 in run
  File "/usr/lib/ucsf-chimerax/lib/python3.9/site-packages/chimerax/core/commands/run.py", line 38 in run
  File "/home/tcroll/.local/share/ChimeraX/1.5/site-packages/chimerax/isolde/toolbar.py", line 17 in toolbar_command
  File "/home/tcroll/.local/share/ChimeraX/1.5/site-packages/chimerax/isolde/__init__.py", line 183 in run_provider
  File "/usr/lib/ucsf-chimerax/lib/python3.9/site-packages/chimerax/core/toolshed/__init__.py", line 1289 in run_provider
  File "/usr/lib/ucsf-chimerax/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 386 in run_provider
  File "/usr/lib/ucsf-chimerax/lib/python3.9/site-packages/chimerax/toolbar/tool.py", line 205 in callback
  File "/usr/lib/ucsf-chimerax/lib/python3.9/site-packages/chimerax/ui/gui.py", line 283 in event_loop
  File "/usr/lib/ucsf-chimerax/lib/python3.9/site-packages/chimerax/core/__main__.py", line 880 in init
  File "/usr/lib/ucsf-chimerax/lib/python3.9/site-packages/chimerax/core/__main__.py", line 1031 in 
  File "/usr/lib/ucsf-chimerax/lib/python3.9/runpy.py", line 87 in _run_code
  File "/usr/lib/ucsf-chimerax/lib/python3.9/runpy.py", line 197 in _run_module_as_main
===== Log before crash start =====
UCSF ChimeraX version: 1.5rc202210210730 (2022-10-21)  
© 2016-2022 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> isolde demo crystal_intro

> set selectionWidth 4

before.pdb title:  
Crystal structure of etub from clostridium kluyveri [more info...]  
  
Chain information for before.pdb #1  
---  
Chain | Description | UniProt  
A | predicted microcompartment protein | A5N734_CLOK5  
  
before.pdb title:  
Crystal structure of etub from clostridium kluyveri [more info...]  
  
Chain information for before.pdb  
---  
Chain | Description | UniProt  
1.2/A | predicted microcompartment protein | A5N734_CLOK5  
  

WARNING: multiple experimental reflection datasets found:  
(dataset) FOBS, SIGFOBS,  
(dataset) IOBS, SIGIOBS,  
(dataset) DANO, SIGDANO,  
(dataset) F(+), SIGF(+), F(-), SIGF(-),  
(dataset) I(+), SIGI(+), I(-), SIGI(-)  
Automatically choosing "(dataset) FOBS, SIGFOBS".  

Opened (LIVE) 2mFo-DFc as #1.1.1.2, grid size 36,36,34, pixel 0.723, shown at
level 0.0947, step 1, values float32  
Opened (LIVE) mFo-DFc as #1.1.1.3, grid size 36,36,34, pixel 0.723, shown at
level -0.0569,0.0569, step 1, values float32  
Opened (LIVE) 2mFo-DFc_sharp_29 as #1.1.1.4, grid size 36,36,34, pixel 0.723,
shown at level 0.345, step 1, values float32  
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
ISOLDE: Corrected atom nomenclature of 12 residues in model #1.2 to IUPAC-IUB
standards.  
Opened (LIVE) MDFF potential as #1.1.1.5, grid size 36,36,34, pixel 0.723,
shown at level 0.305, step 1, values float32  
Loaded crystallographic demo: PDB ID 3io0  

> isolde sim start sel


===== Log before crash end =====

Log:
UCSF ChimeraX version: 1.5rc202210210730 (2022-10-21)  
© 2016-2022 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  




OpenGL version: 3.3.0 NVIDIA 515.65.07
OpenGL renderer: NVIDIA GeForce RTX 3070/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Python: 3.9.11
Locale: en_GB.UTF-8
Qt version: PyQt6 6.3.1, Qt 6.3.1
Qt runtime version: 6.3.2
Qt platform: xcb

XDG_SESSION_TYPE=x11
DESKTOP_SESSION=ubuntu
XDG_SESSION_DESKTOP=ubuntu
XDG_CURRENT_DESKTOP=ubuntu:GNOME
DISPLAY=:1
Manufacturer: Dell Inc.
Model: XPS 8950
OS: Ubuntu 22.04 Jammy Jellyfish
Architecture: 64bit ELF
Virtual Machine: none
CPU: 20 12th Gen Intel(R) Core(TM) i7-12700
Cache Size: 25600 KB
Memory:
	               total        used        free      shared  buff/cache   available
	Mem:            31Gi       3.3Gi        19Gi       141Mi       8.0Gi        27Gi
	Swap:          2.0Gi          0B       2.0Gi

Graphics:
	0000:01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104 [GeForce RTX 3070 Lite Hash Rate] [10de:2488] (rev a1)	
	Subsystem: Dell GA104 [GeForce RTX 3070 Lite Hash Rate] [1028:c903]	
	Kernel driver in use: nvidia

Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    asttokens: 2.0.8
    Babel: 2.10.3
    backcall: 0.2.0
    blockdiag: 3.0.0
    build: 0.8.0
    certifi: 2022.9.24
    cftime: 1.6.2
    charset-normalizer: 2.1.1
    ChimeraX-AddCharge: 1.4
    ChimeraX-AddH: 2.2
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2.1
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.6
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.0.3
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.41.4
    ChimeraX-AtomicLibrary: 8.0.2
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.3
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.1.2
    ChimeraX-BondRot: 2.0.1
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.7.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.2
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.3.1
    ChimeraX-ChangeChains: 1.0.2
    ChimeraX-CheckWaters: 1.3
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.2.4
    ChimeraX-Clipper: 0.19.0.dev0
    ChimeraX-ColorActions: 1.0.3
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.2
    ChimeraX-CommandLine: 1.2.4
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.5rc202210210730
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.3.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.2
    ChimeraX-Dicom: 1.1
    ChimeraX-DistMonitor: 1.3
    ChimeraX-DockPrep: 1.0
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.2
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1
    ChimeraX-Hbonds: 2.4
    ChimeraX-Help: 1.2.1
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.1
    ChimeraX-ISOLDE: 1.5.dev0
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-Label: 1.1.7
    ChimeraX-LinuxSupport: 1.0.1
    ChimeraX-ListInfo: 1.1.1
    ChimeraX-Log: 1.1.5
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.8.2
    ChimeraX-Map: 1.1.2
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0.1
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1.1
    ChimeraX-Markers: 1.0.1
    ChimeraX-Mask: 1.0.1
    ChimeraX-MatchMaker: 2.0.9
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1
    ChimeraX-mmCIF: 2.8
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.6
    ChimeraX-ModelPanel: 1.3.6
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.1
    ChimeraX-MouseModes: 1.1.1
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.9.1
    ChimeraX-PDB: 2.6.8
    ChimeraX-PDBBio: 1.0
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0.1
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5.1
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.7.2
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.1.1
    ChimeraX-ShowSequences: 1.0.1
    ChimeraX-SideView: 1.0.1
    ChimeraX-Smiles: 2.1
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.10
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.1.3
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1.2
    ChimeraX-ToolshedUtils: 1.2.1
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.24.2
    ChimeraX-uniprot: 2.2.1
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.1.3
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.1
    ChimeraX-WebServices: 1.1.0
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.5
    cxservices: 1.2
    cycler: 0.11.0
    Cython: 0.29.32
    debugpy: 1.6.3
    decorator: 5.1.1
    distro: 1.7.0
    docutils: 0.19
    entrypoints: 0.4
    executing: 1.1.1
    filelock: 3.7.1
    fonttools: 4.38.0
    funcparserlib: 1.0.0
    grako: 3.16.5
    h5py: 3.7.0
    html2text: 2020.1.16
    idna: 3.4
    ihm: 0.33
    imagecodecs: 2022.7.31
    imagesize: 1.4.1
    importlib-metadata: 5.0.0
    ipykernel: 6.15.3
    ipython: 8.4.0
    ipython-genutils: 0.2.0
    jedi: 0.18.1
    Jinja2: 3.1.2
    jupyter-client: 7.3.4
    jupyter-core: 4.11.2
    kiwisolver: 1.4.4
    line-profiler: 3.5.1
    lxml: 4.9.1
    lz4: 4.0.2
    MarkupSafe: 2.1.1
    matplotlib: 3.5.2
    matplotlib-inline: 0.1.6
    msgpack: 1.0.4
    nest-asyncio: 1.5.6
    netCDF4: 1.6.0
    networkx: 2.8.5
    numexpr: 2.8.3
    numpy: 1.23.1
    openvr: 1.23.701
    packaging: 21.3
    ParmEd: 3.4.3
    parso: 0.8.3
    pep517: 0.13.0
    pexpect: 4.8.0
    pickleshare: 0.7.5
    Pillow: 9.2.0
    pip: 22.2.2
    pkginfo: 1.8.3
    prompt-toolkit: 3.0.31
    psutil: 5.9.1
    ptyprocess: 0.7.0
    pure-eval: 0.2.2
    pycollada: 0.7.2
    pydicom: 2.3.0
    Pygments: 2.12.0
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 3.0.9
    PyQt6-commercial: 6.3.1
    PyQt6-Qt6: 6.3.2
    PyQt6-sip: 13.4.0
    PyQt6-WebEngine-commercial: 6.3.1
    PyQt6-WebEngine-Qt6: 6.3.2
    python-dateutil: 2.8.2
    pytz: 2022.5
    pyzmq: 24.0.1
    qtconsole: 5.3.1
    QtPy: 2.2.1
    RandomWords: 0.4.0
    requests: 2.28.1
    scipy: 1.9.0
    setuptools: 65.1.1
    sfftk-rw: 0.7.2
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    Sphinx: 5.1.1
    sphinx-autodoc-typehints: 1.19.1
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 2.0.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.5
    stack-data: 0.5.1
    tables: 3.7.0
    tifffile: 2022.7.31
    tinyarray: 1.2.4
    tomli: 2.0.1
    tornado: 6.2
    traitlets: 5.3.0
    urllib3: 1.26.12
    wcwidth: 0.2.5
    webcolors: 1.12
    wheel: 0.37.1
    wheel-filename: 1.4.1
    zipp: 3.10.0

Attachments (2)

OpenMM-7.7.0-Linux.tgz (77.9 MB ) - added by Tristan Croll 3 years ago.
OpenMM 7.7 built with gcc-toolset-10
OpenMM-8.0.0-Linux.tgz (87.0 MB ) - added by Tristan Croll 3 years ago.
OpenMM 8.0.0beta build

Change History (24)

comment:1 by Eric Pettersen, 3 years ago

Cc: chimera-programmers added
Component: UnassignedBuild System
Owner: set to Greg Couch
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionOpenMM binary compatibility

comment:2 by Eric Pettersen, 3 years ago

Milestone: 1.5

comment:3 by Tom Goddard, 3 years ago

According to the git log we are currently using OpenMM 7.7.0 provided by you (Tristan) on Linux from March 31, 2022, so that is what is in ChimeraX 1.4.

https://github.com/RBVI/ChimeraX/commit/38b782486c7f5382709dfd76d2e0a316beb405b4

If you can provide us with a new OpenMM 7.7.0 build with the right compilers we can put it in before the 1.5 release. I think it is best to stick to 7.7.0 because we are just about to release, so any new OpenMM would have not been tested at all. We highly discourage that. But almost all OpenMM use is by ISOLDE so if you wanted to risk changing the version a week or two before release it is up to you. If serious flaws are discovered after release it would probably be 6 months before the next release when we could fix them.

in reply to:  4 ; comment:4 by Tristan Croll, 3 years ago

Wow - I’d totally forgotten about that! Suppose I shouldn’t be surprised,
given all the upheavals around that time. OK - will rebuild 7.7.0 in the
Rocky Linux container on Thursday.

On Mon, 24 Oct 2022 at 19:57, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

in reply to:  5 ; comment:5 by Tristan Croll, 3 years ago

How about I also build the 8.0 beta at the same time, to start playing with
it in the ChimeraX post-1.5 daily builds?

On Mon, Oct 24, 2022 at 8:14 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

in reply to:  6 ; comment:6 by goddard@…, 3 years ago

Good plan.  We can certainly put 8.0b in the daily builds.

by Tristan Croll, 3 years ago

Attachment: OpenMM-7.7.0-Linux.tgz added

OpenMM 7.7 built with gcc-toolset-10

comment:7 by Tristan Croll, 3 years ago

Sorry this took longer than expected... I landed in driver hell with Nvidia (again). Installing CUDA 11.7 from their .deb package broke my display driver, leading to a black screen on startup. Unlike in CentOS I couldn't even ctrl-alt-F3 to a text terminal to fix it - had to boot back into the Ubuntu Live USB and follow some black magic to reset things into a usable state (https://askubuntu.com/questions/1107092/ubuntu-18-04-cannot-boot-after-installing-the-nvidia-driver). Ugh. Made infinitely more frustrating by the fancy wireless keyboard that (I realised after far far too long) usually only initialises itself *after* the window for pressing F12 to choose the boot device has passed. Sigh... it's been a very long day. Still, this is working fine for me now.

comment:8 by Tristan Croll, 3 years ago

I notice the file size is a fair bit larger than the devtoolset-9 version - not sure why that is.

comment:9 by Tom Goddard, 3 years ago

Owner: changed from Greg Couch to Tom Goddard

I'll put the new Linux OpenMM into the ChimeraX release candidate and daily build today since I have been the one to update all the past OpenMM versions. I can test on a Linux system without Nvidia graphics and Tristan can test next week with Nvidia graphics.

comment:10 by Tom Goddard, 3 years ago

What version of CUDA is this Linux OpenMM built with? Our ChimeraX 1.4 OpenMM for Linux used CUDA 11.2.

The large size 97 MB instead of 17 MB is because the symbols were not stripped. I stripped them and it is down to 17 MB. But is this a debug build? Also there were no sym links from lib to plugins that were in the ChimeraX 1.4 OpenMM distribution taken from conda-forge, but I added those.

in reply to:  12 comment:11 by Tristan Croll, 3 years ago

I used CUDA 11.2 for the builds, same as before. The symlinks for the
plugins in the lib dir aren’t actually necessary - I have no idea why
they’re in the conda distribution, but everything works perfectly fine
without them (confirmed today - I removed them all from the ChimeraX
installation before dropping in the new libraries).

On Fri, 28 Oct 2022 at 20:02, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

comment:12 by Tom Goddard, 3 years ago

The attached OpenMM library did not work on my Ubuntu 20.04 machine. It could not find libOpenMM.so.7.7 for reasons that are unclear. Details in ticket #7915

comment:13 by Tom Goddard, 3 years ago

The OpenMM import problems was due to RUNPATH in the _openmm.cpython...so library that could be fixed with "chrpath -d". But then testing shows the CPU platform is not supported, ticket #7916.

comment:14 by Tom Goddard, 3 years ago

The CPU platform does work. But the usual openmm song-and-dance of setting an environment variable so it can find its plugins was not done in but #7916.

comment:15 by Tom Goddard, 3 years ago

I have added Tristan's new OpenMM (stripped and RUNPATH removed) to the develop branch and the 1.5 release candidate.

Tristan, can you test the release candidate with ISOLDE next week and let us know if it is working. You might want to test with and without an Nvidia GPU.

in reply to:  17 comment:16 by Tristan Croll, 3 years ago

Sorry about the run-around, but thanks for sorting it out. Will test early
in the week… will be difficult/impossible to find a Linux machine without
an Nvidia GPU here, but I can confirm the OpenCL platform is working.

On Sat, 29 Oct 2022 at 00:49, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

by Tristan Croll, 3 years ago

Attachment: OpenMM-8.0.0-Linux.tgz added

OpenMM 8.0.0beta build

comment:17 by Tristan Croll, 3 years ago

Here's the Linux build for OpenMM 8.0.0 beta. The RUNPATH issue should be fixed in this one.

in reply to:  20 comment:18 by goddard@…, 3 years ago

Thanks!  I will put this OpenMM into the daily build after ChimeraX 1.5 is released.  That will be in 2-4 weeks.  The reason for waiting is that we like to use the same library versions in the daily build and the release candidates so that daily build use helps locate bugs in the release candidates that can be fixed before release.

comment:19 by Tristan Croll, 3 years ago

The Nov 3 rc build works fine for me, using both the OpenCL and CUDA builds. Will finalise the ISOLDE release and get it out there in a day or two.

Regarding OpenMM 8: are you planning on updating to python 3.10 or .11 in the next round of daily builds?

A minor observation I noticed while messing with this: looks like (at least for Ubuntu 22) symlinks are being expanded into real files somewhere in the installation process, leading to spurious extra copies of libpython and libOpenMM amounting to about 180 MB between them:

cd /usr/lib/ucsf-chimerax/lib
ls -l

-rwxr-xr-x  1 root root   362216 Oct 29 00:32 libOpenMMAmoeba.so
-rwxr-xr-x  1 root root    97360 Oct 29 00:32 libOpenMMDrude.so
-rwxr-xr-x  1 root root    80720 Oct 29 00:32 libOpenMMRPMD.so
-rwxr-xr-x  1 root root  3785392 Oct 29 00:32 libOpenMM.so
-rwxr-xr-x  1 root root  3785392 Oct 29 00:32 libOpenMM.so.7.7
-rwxr-xr-x  1 root root 14985688 Nov  7 11:03 libpython3.9.so
-rwxr-xr-x  1 root root 14985688 Nov  7 11:03 libpython3.9.so.1.0
-rwxr-xr-x  1 root root    15112 Nov  7 11:03 libpython3.so
drwxr-xr-x  2 root root     4096 Nov  7 14:13 plugins
drwxr-xr-x 36 root root    20480 Nov  7 14:13 python3.9

Got curious and ran a quick script over the rest of the ChimeraX directory tree, and it looks like these are the only cases of this.

comment:20 by Greg Couch, 3 years ago

We would like to go Python 3.11, but we will wait for at least Python 3.11.1. And there's the problem that some of the binary packages ChimeraX depends on haven't ported to Python 3.11 yet. So it could be awhile.

in reply to:  23 comment:21 by Tom Goddard, 3 years ago

We haven't yet discussed whether we will update Python for ChimeraX 1.6.  That is probably a discussion for after ChimeraX 1.5 is released.

comment:22 by Tom Goddard, 3 years ago

Resolution: fixed
Status: assignedclosed

Tristan confirms that the new OpenMM is working with ISOLDE (comment 19), so closing this ticket.

I made a new ticket #7967 for the copying symlinks problem noted in comment 19.

I made a new ticket #7968 for updating daily builds to OpenMM 8.0 beta.

Note: See TracTickets for help on using tickets.