#15393 closed defect (limitation)

ISOLDE: no CUDA or OpenCL

Reported by: chimerax-bug-report@… Owned by: Tristan Croll
Priority: normal Milestone:
Component: Third Party Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Linux-6.5.0-35-generic-x86_64-with-glibc2.35
ChimeraX Version: 1.7.1 (2024-01-23 01:58:08 UTC)
Description
(Describe the actions that caused this problem to occur here)

Log:
Startup Messages  
---  
warning | Replacing fetcher for 'pdb_nmr' and format NMRSTAR from NMRSTAR
bundle with that from NMRSTAR bundle  
  
UCSF ChimeraX version: 1.7.1 (2024-01-23)  
© 2016-2023 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open /home/alex/Desktop/hk97/isolde/expan_empty/map.mrc

Opened map.mrc as #1, grid size 202,150,116, pixel 1.17,1.17,1.17, shown at
level 0.0227, step 1, values float32  

> open
> /home/alex/Desktop/hk97/isolde/expan_empty/ASU_expanded_empty_isolde_2.pdb

Chain information for ASU_expanded_empty_isolde_2.pdb #2  
---  
Chain | Description  
A B C D E F G | No description available  
  

> hide atoms

> show cartoons

> hide surfaces

> isolde start

> set selectionWidth 4

Done loading forcefield  

> isolde set simFidelityMode Medium/Medium

ISOLDE: setting sim fidelity mode to Medium/Medium  
nonbonded_cutoff_distance = 0.900000  
use_gbsa = True  
gbsa_cutoff = 1.100000  
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
Chain information for ASU_expanded_empty_isolde_2.pdb  
---  
Chain | Description  
2.2/A 2.2/B 2.2/C 2.2/D 2.2/E 2.2/F 2.2/G | No description available  
  

> clipper associate #1 toModel #2

Opened map.mrc as #2.1.1.1, grid size 202,150,116, pixel 1.17,1.17,1.17, shown
at step 1, values float32  

> isolde sim start /A-G

Launching using CUDA failed with the below message. Falling back to using
OpenCL.  
  
Error initializing CUDA: CUDA_ERROR_UNKNOWN (999) at
/home/tcroll/openmm_build_env/openmm/platforms/cuda/src/CudaContext.cpp:140  

Traceback (most recent call last):  
File "/home/alex/.local/share/ChimeraX/1.7/lib/python3.11/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 1432, in start_sim  
self._prepare_sim()  
File "/home/alex/.local/share/ChimeraX/1.7/lib/python3.11/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 1377, in
_prepare_sim  
s = self._simulation = app.Simulation(self.topology, self._system,  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/openmm/app/simulation.py", line 103, in __init__  
self.context = mm.Context(self.system, self.integrator, platform,
platformProperties)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-packages/openmm/openmm.py",
line 5931, in __init__  
this = _openmm.new_Context(*args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^  
openmm.OpenMMException: Error initializing CUDA: CUDA_ERROR_UNKNOWN (999) at
/home/tcroll/openmm_build_env/openmm/platforms/cuda/src/CudaContext.cpp:140  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/toolbar/tool.py", line 205, in callback  
bundle_info.run_provider(session, name, session.toolbar,
display_name=display_name)  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/core/toolshed/info.py", line 397, in run_provider  
return api._api_caller.run_provider(api, session, name, mgr, **kw)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/core/toolshed/__init__.py", line 1302, in run_provider  
return cls._get_func(api, "run_provider")(session, name, mgr, **kw)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/home/alex/.local/share/ChimeraX/1.7/lib/python3.11/site-
packages/chimerax/isolde/__init__.py", line 183, in run_provider  
toolbar_command(session, name)  
File "/home/alex/.local/share/ChimeraX/1.7/lib/python3.11/site-
packages/chimerax/isolde/toolbar.py", line 21, in toolbar_command  
run(session, f'isolde sim start {_current_residue_sel_string(session)}')  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/core/commands/run.py", line 49, in run  
results = command.run(text, log=log, return_json=return_json)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/core/commands/cli.py", line 2908, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/home/alex/.local/share/ChimeraX/1.7/lib/python3.11/site-
packages/chimerax/isolde/cmd/cmd.py", line 122, in isolde_sim  
isolde.start_sim()  
File "/home/alex/.local/share/ChimeraX/1.7/lib/python3.11/site-
packages/chimerax/isolde/isolde.py", line 896, in start_sim  
sm.start_sim()  
File "/home/alex/.local/share/ChimeraX/1.7/lib/python3.11/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 401, in start_sim  
sh.start_sim()  
File "/home/alex/.local/share/ChimeraX/1.7/lib/python3.11/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 1437, in start_sim  
self._prepare_sim()  
File "/home/alex/.local/share/ChimeraX/1.7/lib/python3.11/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 1364, in
_prepare_sim  
platform = openmm.Platform.getPlatformByName(params.platform)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-packages/openmm/openmm.py",
line 11789, in getPlatformByName  
return _openmm.Platform_getPlatformByName(name)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
openmm.OpenMMException: There is no registered Platform called "OpenCL"  
  
openmm.OpenMMException: There is no registered Platform called "OpenCL"  
  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-packages/openmm/openmm.py",
line 11789, in getPlatformByName  
return _openmm.Platform_getPlatformByName(name)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  




OpenGL version: 4.6 (Core Profile) Mesa 23.2.1-1ubuntu3.1~22.04.2
OpenGL renderer: Mesa Intel(R) UHD Graphics 630 (CFL GT2)
OpenGL vendor: Intel

Python: 3.11.2
Locale: en_US.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: Precision 5530
OS: Ubuntu 22.04 Jammy Jellyfish
Architecture: 64bit ELF
Virtual Machine: none
CPU: 12 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
Cache Size: 9216 KB
Memory:
	               total        used        free      shared  buff/cache   available
	Mem:            31Gi        10Gi       2.9Gi       2.2Gi        17Gi        17Gi
	Swap:          2.0Gi          0B       2.0Gi

Graphics:
	00:02.0 VGA compatible controller [0300]: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630] [8086:3e9b]	
	DeviceName:  Onboard IGD	
	Subsystem: Dell CoffeeLake-H GT2 [UHD Graphics 630] [1028:087d]

Installed Packages:
    alabaster: 0.7.16
    appdirs: 1.4.4
    asttokens: 2.4.1
    Babel: 2.14.0
    backcall: 0.2.0
    beautifulsoup4: 4.11.2
    blockdiag: 3.0.0
    blosc2: 2.0.0
    build: 0.10.0
    certifi: 2023.11.17
    cftime: 1.6.3
    charset-normalizer: 3.3.2
    ChimeraX-AddCharge: 1.5.13
    ChimeraX-AddH: 2.2.5
    ChimeraX-AlignmentAlgorithms: 2.0.1
    ChimeraX-AlignmentHdrs: 3.4.1
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.12.2
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.1.1
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.49.1
    ChimeraX-AtomicLibrary: 12.1.5
    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.4
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.10.5
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.2.2
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.3.2
    ChimeraX-ChangeChains: 1.1
    ChimeraX-CheckWaters: 1.3.2
    ChimeraX-ChemGroup: 2.0.1
    ChimeraX-Clashes: 2.2.4
    ChimeraX-Clipper: 0.22.4
    ChimeraX-ColorActions: 1.0.3
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.5
    ChimeraX-CommandLine: 1.2.5
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.7.1
    ChimeraX-CoreFormats: 1.2
    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.2
    ChimeraX-DistMonitor: 1.4
    ChimeraX-DockPrep: 1.1.3
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ESMFold: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.3
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1.1
    ChimeraX-Hbonds: 2.4
    ChimeraX-Help: 1.2.2
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.1
    ChimeraX-ISOLDE: 1.7.1
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-Label: 1.1.8
    ChimeraX-LinuxSupport: 1.0.1
    ChimeraX-ListInfo: 1.2.2
    ChimeraX-Log: 1.1.6
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9.1
    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.1.2
    ChimeraX-MCopy: 1.0
    ChimeraX-MDcrds: 2.6.1
    ChimeraX-MedicalToolbar: 1.0.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.12.1
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.14
    ChimeraX-ModelPanel: 1.4
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0.3
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.2
    ChimeraX-MouseModes: 1.2
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nifti: 1.1
    ChimeraX-NRRD: 1.1
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.13.1
    ChimeraX-PDB: 2.7.3
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.4
    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.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.1
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.2
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 4.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.2
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.11
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.1.1
    ChimeraX-ShowSequences: 1.0.2
    ChimeraX-SideView: 1.0.1
    ChimeraX-Smiles: 2.1.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.12.4
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.1.2
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.2.2
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-TaskManager: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1.2
    ChimeraX-ToolshedUtils: 1.2.4
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.33.3
    ChimeraX-uniprot: 2.3
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.3.2
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-vrml: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.2
    ChimeraX-WebServices: 1.1.3
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.6
    comm: 0.2.1
    contourpy: 1.2.0
    cxservices: 1.2.2
    cycler: 0.12.1
    Cython: 0.29.33
    debugpy: 1.8.0
    decorator: 5.1.1
    distro: 1.7.0
    docutils: 0.19
    executing: 2.0.1
    filelock: 3.9.0
    fonttools: 4.47.2
    funcparserlib: 2.0.0a0
    glfw: 2.6.4
    grako: 3.16.5
    h5py: 3.10.0
    html2text: 2020.1.16
    idna: 3.6
    ihm: 0.38
    imagecodecs: 2023.9.18
    imagesize: 1.4.1
    ipykernel: 6.23.2
    ipython: 8.14.0
    ipython-genutils: 0.2.0
    ipywidgets: 8.1.1
    jedi: 0.18.2
    Jinja2: 3.1.2
    jupyter-client: 8.2.0
    jupyter-core: 5.7.1
    jupyterlab-widgets: 3.0.9
    kiwisolver: 1.4.5
    line-profiler: 4.0.2
    lxml: 4.9.2
    lz4: 4.3.2
    MarkupSafe: 2.1.4
    matplotlib: 3.7.2
    matplotlib-inline: 0.1.6
    msgpack: 1.0.4
    nest-asyncio: 1.6.0
    netCDF4: 1.6.2
    networkx: 3.1
    nibabel: 5.0.1
    nptyping: 2.5.0
    numexpr: 2.8.8
    numpy: 1.25.1
    openvr: 1.23.701
    packaging: 23.2
    ParmEd: 3.4.3
    parso: 0.8.3
    pep517: 0.13.0
    pexpect: 4.9.0
    pickleshare: 0.7.5
    pillow: 10.2.0
    pip: 23.0
    pkginfo: 1.9.6
    platformdirs: 4.1.0
    prompt-toolkit: 3.0.43
    psutil: 5.9.5
    ptyprocess: 0.7.0
    pure-eval: 0.2.2
    py-cpuinfo: 9.0.0
    pycollada: 0.7.2
    pydicom: 2.3.0
    Pygments: 2.16.1
    pynrrd: 1.0.0
    PyOpenGL: 3.1.7
    PyOpenGL-accelerate: 3.1.7
    pyopenxr: 1.0.2801
    pyparsing: 3.0.9
    pyproject-hooks: 1.0.0
    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: 2023.3.post1
    pyzmq: 25.1.2
    qtconsole: 5.4.3
    QtPy: 2.4.1
    RandomWords: 0.4.0
    requests: 2.31.0
    scipy: 1.11.1
    setuptools: 67.4.0
    sfftk-rw: 0.7.3
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    soupsieve: 2.5
    sphinx: 6.1.3
    sphinx-autodoc-typehints: 1.22
    sphinxcontrib-applehelp: 1.0.8
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.6
    sphinxcontrib-htmlhelp: 2.0.5
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.7
    sphinxcontrib-serializinghtml: 1.1.10
    stack-data: 0.6.3
    superqt: 0.5.0
    tables: 3.8.0
    tcia-utils: 1.5.1
    tifffile: 2023.7.18
    tinyarray: 1.2.4
    tomli: 2.0.1
    tornado: 6.4
    traitlets: 5.9.0
    typing-extensions: 4.9.0
    tzdata: 2023.4
    urllib3: 2.1.0
    wcwidth: 0.2.13
    webcolors: 1.12
    wheel: 0.38.4
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.9

Change History (3)

comment:1 by Eric Pettersen, 17 months ago

Component: UnassignedThird Party
Owner: set to Tristan Croll
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionISOLDE: no CUDA or OpenCL

comment:2 by Tristan Croll, 17 months ago

Something very odd about the setup of that user's system. It's a laptop with no Nvidia GPU, but it seems *somehow* they have CUDA installed (on first starting the simulation ISOLDE will only attempt to use the platforms that OpenMM has found - so the fact that it's tried to start a simulation using the CUDA platform indicates the CUDA libraries are installed). In the event that CUDA initialisation fails it assumes that OpenCL is present (which *should* always be true on a properly-configured system).

Ultimately this boils down to user error. It would be nice to find the time to catch and format errors like this into something more informative to the user, but that'll be a bit fiddly (and fragile) since they come back as text wrapped in an OpenMMException - would require parsing out all the different possible error messages to get at their root cause.

comment:3 by Tristan Croll, 17 months ago

Resolution: limitation
Status: assignedclosed
Note: See TracTickets for help on using tickets.