Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#8482 closed defect (fixed)

Update OpenMM to 8.0.0 for 1.6

Reported by: Tristan Croll Owned by: Zach Pearson
Priority: normal Milestone:
Component: Build System Version:
Keywords: Cc: chimerax-programmers
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Linux-5.15.0-58-generic-x86_64-with-glibc2.35
ChimeraX Version: 1.6.dev202301180300 (2023-01-18 03:00:03 UTC)
Description
Attaching a Linux build of OpenMM 8.8.0 against Python 3.11.2 (and CUDA 11.2), to support the ChimeraX move to Python 3.11. I'll be on holiday for the rest of the week, but can revisit next week if (e.g.) you need a different CUDA version.

OpenGL version: 3.3.0 NVIDIA 515.86.01
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.4.0, Qt 6.4.0
Qt runtime version: 6.4.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       6.8Gi       9.5Gi       317Mi        14Gi        23Gi
	Swap:          2.0Gi       2.0Mi       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.13
    appdirs: 1.4.4
    asttokens: 2.2.1
    Babel: 2.11.0
    backcall: 0.2.0
    blockdiag: 3.0.0
    build: 0.8.0
    certifi: 2022.12.7
    cftime: 1.6.2
    charset-normalizer: 2.1.1
    ChimeraX-AddCharge: 1.5.8
    ChimeraX-AddH: 2.2.3
    ChimeraX-AlignmentAlgorithms: 2.0.1
    ChimeraX-AlignmentHdrs: 3.3.1
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.8
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.0.3
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.43.5
    ChimeraX-AtomicLibrary: 10.0.1
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.3.2
    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.2
    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.2
    ChimeraX-ChangeChains: 1.0.2
    ChimeraX-CheckWaters: 1.3.1
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.2.4
    ChimeraX-Clipper: 0.20.0
    ChimeraX-ColorActions: 1.0.3
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.3
    ChimeraX-CommandLine: 1.2.5
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.6.dev202301180300
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.4.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.3
    ChimeraX-Dicom: 1.1
    ChimeraX-DistMonitor: 1.3.1
    ChimeraX-DockPrep: 1.1
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ESMFold: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.2.1
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.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.6.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.4
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0.1
    ChimeraX-MapFilter: 2.0.1
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1.1
    ChimeraX-Markers: 1.0.1
    ChimeraX-Mask: 1.0.2
    ChimeraX-MatchMaker: 2.0.11
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.11
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.8
    ChimeraX-ModelPanel: 1.3.6
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.2
    ChimeraX-MouseModes: 1.2
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.10
    ChimeraX-PDB: 2.6.12
    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-RenderByAttr: 1.0
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 3.0
    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.1
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.8.1
    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.1
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.1.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.2
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1.2
    ChimeraX-ToolshedUtils: 1.2.1
    ChimeraX-Topography: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.26
    ChimeraX-uniprot: 2.2.2
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.1.6
    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.2
    ChimeraX-WebServices: 1.1.1
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.5
    comm: 0.1.2
    contourpy: 1.0.7
    cxservices: 1.2
    cycler: 0.11.0
    Cython: 0.29.32
    debugpy: 1.6.5
    decorator: 5.1.1
    distro: 1.7.0
    docutils: 0.19
    entrypoints: 0.4
    executing: 1.2.0
    filelock: 3.7.1
    fonttools: 4.38.0
    funcparserlib: 1.0.1
    grako: 3.16.5
    h5py: 3.7.0
    html2text: 2020.1.16
    idna: 3.4
    ihm: 0.35
    imagecodecs: 2022.9.26
    imagesize: 1.4.1
    importlib-metadata: 6.0.0
    ipykernel: 6.19.2
    ipython: 8.7.0
    ipython-genutils: 0.2.0
    jedi: 0.18.2
    Jinja2: 3.1.2
    jupyter-client: 7.4.8
    jupyter-core: 5.1.3
    kiwisolver: 1.4.4
    line-profiler: 3.5.1
    lxml: 4.9.1
    lz4: 4.0.2
    MarkupSafe: 2.1.2
    matplotlib: 3.6.2
    matplotlib-inline: 0.1.6
    msgpack: 1.0.4
    nest-asyncio: 1.5.6
    netCDF4: 1.6.0
    networkx: 2.8.8
    numexpr: 2.8.4
    numpy: 1.23.5
    openvr: 1.23.701
    packaging: 23.0
    ParmEd: 3.4.3
    parso: 0.8.3
    pep517: 0.13.0
    pexpect: 4.8.0
    pickleshare: 0.7.5
    Pillow: 9.3.0
    pip: 22.2.2
    pkginfo: 1.8.3
    platformdirs: 2.6.2
    prompt-toolkit: 3.0.36
    psutil: 5.9.4
    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.4.0
    PyQt6-Qt6: 6.4.2
    PyQt6-sip: 13.4.0
    PyQt6-WebEngine-commercial: 6.4.0
    PyQt6-WebEngine-Qt6: 6.4.2
    python-dateutil: 2.8.2
    pytz: 2022.7.1
    pyzmq: 25.0.0
    qtconsole: 5.4.0
    QtPy: 2.3.0
    RandomWords: 0.4.0
    rdkit-pypi: 2022.9.2
    requests: 2.28.1
    scipy: 1.9.3
    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.3
    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.6.2
    tables: 3.7.0
    tifffile: 2022.10.10
    tinyarray: 1.2.4
    tomli: 2.0.1
    tornado: 6.2
    traitlets: 5.8.0
    urllib3: 1.26.14
    wcwidth: 0.2.6
    webcolors: 1.12
    wheel: 0.37.1
    wheel-filename: 1.4.1
    zipp: 3.11.0
File attachment: OpenMM-8.0.0-Linux.tgz

OpenMM-8.0.0-Linux.tgz

Attachments (1)

OpenMM-8.0.0-Linux.tgz (87.1 MB ) - added by Tristan Croll 3 years ago.
Added by email2trac

Change History (20)

by Tristan Croll, 3 years ago

Attachment: OpenMM-8.0.0-Linux.tgz added

Added by email2trac

comment:1 by Zach Pearson, 3 years ago

Cc: chimerax-programmers added
Component: UnassignedBuild System
Owner: set to Zach Pearson
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionUpdate OpenMM to 8.0.0 for 1.6

I've uploaded this to the prereqs repository, but I'm leaving the ticket open for now in case something else comes up.

comment:2 by Zach Pearson, 3 years ago

#8679 was opened to update to 8.0.0 anyway:

I saw Tom's announcement that ChimeraX 1.6 will be sticking with Python 3.9. Could we still update OpenMM from 8.0.0beta to 8.0.0 official? ChimeraX-compatible Linux build is attached. As far as I'm aware the difference in Windows and Linux should be negligible, but the Mac 8.0.0 release fixes a bug (#8568) preventing simulations from starting on some older Intel GPUs.

I don't see why not; I'll put the relevant files on Plato. Unless we think it will affect our N-week window for release candidates, I can switch the build system over.

comment:3 by Zach Pearson, 3 years ago

OK, they're up and ready to go whenever.

comment:4 by Tom Goddard, 3 years ago

It seems fine to update to OpenMM 8.0.0 for ChimeraX 1.6 unless Tristan objects. It is a bit late to be doing this a day before we are making release candidates, but if Tristan thinks it is safe then let's do it.

All platforms, Mac, Windows and Linux should be updated. I'm not quite sure why you are doing this Zach, I have done it in the past. But I certainly don't object. Requires getting the correct versions from CondaForge. There are many variants for different CUDA versions and we choose the same cuda for each platform. Tristan can advise which CUDA version.

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

Current builds are using CUDA 11.2. The *only* issue with the 8.0 beta that
I know of is the failure on older Intel GPUs in the Mac, so I’m not
enormously worried either way. Will of course be happy to give it a good
workout when it’s in a daily build.

On Tue, 21 Mar 2023 at 18:03, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

comment:6 by Zach Pearson, 3 years ago

I don't mean to take it out of your hands by force or anyting. I had gotten OpenMM 8 for the Python 3.11 branch working, so I didn't see a reason I wouldn't be able to for a 3.9 side/up-grade. With you out at a talk, and me having gained some build system experience I thought it might be helpful. Since I seam to have disappeared 8.0.0dev2 with an overeager rm, I'll make the switch.

in reply to:  8 comment:7 by goddard@…, 3 years ago

No problem.  It is a chore updating OpenMM and testing it on all platforms.  I use the tug mouse mode for testing.

comment:8 by Zach Pearson, 3 years ago

Resolution: fixed
Status: assignedclosed

I was nervous for a moment because the python3.9 Linux OpenMM in the other ticket had its source in lib/python3.11 -- but the shared objects claimed they were cp39.

I pulled the latest clipper and isolde from GitHub and built both on my Mac and my Windows machine, and the tug mode in Isolde worked in both cases.

I also built on Ubuntu 22.04 in WSL. You have to bypass WSLg's native compositor, weston, to use a third-party X server like VcXsrv that will show ChimeraX properly. It's slow, but fast enough to open ISOLDE and verify tugging works.

8.0.0 will be in tomorrow's build.

in reply to:  10 comment:9 by Tristan Croll, 3 years ago

Which version of OpenMM did you grab from Conda-Forge for the Mac builds?
From here: https://anaconda.org/conda-forge/openmm/files?version=8.0.0?
Sean Connell reports to me that he's still getting a (slightly different,
but still clearly related) error in the daily build from a couple of days
ago:

openmm.OpenMMException: Error compiling kernel: Linking globals named
'_Z8atom_addPVU3AS1mm': symbol multiply defined!

I don't have access to a Mac with an Intel GPU any more, but I asked him to
do query the OpenMM version with:

from openmm import version
version.version

He said it reports:

 8.0.0.dev-a780005

On Tue, Mar 21, 2023 at 11:37 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

comment:10 by Zach Pearson, 3 years ago

I filtered by version 8.0.0 and then picked the first one that had a py39-mac tag which for ARM was py39ha14061b_0_apple. It's unfortunate if those are still alpha builds on anaconda's website; they are mislabeled. Should we try 8.0.0dev3?

comment:11 by Tom Goddard, 3 years ago

The official OpenMM 8.0.0 releases are dated January 30, 2023 and ChimeraX 1.6 and daily builds use those

https://github.com/openmm/openmm/releases

https://anaconda.org/conda-forge/openmm/files?page=1

There are OpenMM 8.0.0dev3 builds made February 25, 2023 on conda-forge that are newer.

For 1.6 I'd suggest we stick with what we are using unless there is a strong reason for risking updating OpenMM before the ChimeraX 1.6 release which is less than 1 month away.

comment:12 by Tom Goddard, 3 years ago

The Linux OpenMM was compiled by Tristan, attached to this ticket February 13, 2023, and I am assuming it was build from the OpenMM 8.0.0 Jan 30 release source code, but I have not tried to verify that.

in reply to:  14 comment:13 by Tristan Croll, 3 years ago

The Linux version should be fine (will double-check in today's daily build
to be sure). I'm primarily worried about the Mac, since it seems users of
Macs with Intel GPUs will be unable to start any simulations. I've reopened
the ticket on the OpenMM tracker asking if they can point to a build that
definitely has this fixed.

On Thu, Mar 30, 2023 at 9:49 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

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

Didn't realize ISOLDE OpenMM simulation is completely broken on Intel Mac.  We should certainly fix that for the 1.6 release.

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

Apparently not *completely* broken - just on some (yet to be determined)
hardware/OS version combos. I confirmed with the OpenMM team that the
version you have installed is from after the bug was patched - the crash
Sean reports is something new (albeit clearly related). Peter Eastman
couldn’t reproduce it on his own Intel Mac… waiting on more details from
Sean, but it’s looking like it may be a less widespread issue than I first
thought.

On Fri, 31 Mar 2023 at 23:02, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

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

Certain Intel MacBook Pro models account for most of the ChimeraX OpenGL crashes.  I would not be surprised if OpenCL is also buggy on some specific Mac machines.

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

Actually, that last comment wasn't right -- the graphics crashes are seen on all Intel Macs and are a driver problem that seems to be related to memory management.  But visual artifacts, for example blotches with silhouette edges, afflict specific Intel MacBook Pro models.  Fortunately the new ARM Macs (M1, M2) don't have any of these OpenGL problems.

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

Turns out the offending machine was a positively ancient iMac (~2012 era,
judging by the Nvidia GTX 675MX GPU). The OpenMM team have confirmed that
the version installed in ChimeraX works for more recent Intel Macs, so I
think we should be safe leaving things as they are.

On Fri, Mar 31, 2023 at 11:19 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

comment:19 by Tom Goddard, 3 years ago

Good. Apple abandoned Nvidia graphics so long ago, it is no surprise it has trouble with OpenMM.

Note: See TracTickets for help on using tickets.