Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#6999 closed defect (limitation)

OpenMMException: Error uploading array TabulatedFunction

Reported by: ddanneck@… Owned by: Tristan Croll
Priority: normal Milestone:
Component: Third Party Version:
Keywords: Cc: Tom Goddard
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Linux-4.15.0-180-generic-x86_64-with-glibc2.23
ChimeraX Version: 1.3 (2021-12-08 23:08:33 UTC)
Description
Running the ISOLDE tutorial "Intro to crystallographic model building"

Log:
UCSF ChimeraX version: 1.3 (2021-12-08)  
© 2016-2021 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> isolde tutorial

> open 1a0m structureFactors true

Summary of feedback from opening 1a0m fetched from pdb  
---  
warning | No free flags detected in this dataset! Automatically generated a
new random set with 459 free from 9265 observed reflections. You should save
your data to a new MTZ file and use this for any future rebuilding/refinement.  
notes | Resolution: 1.0944213038232693  
  
Opened (LIVE) 2mFo-DFc as #1.1.1.2, grid size 72,72,74, pixel
0.347,0.347,0.326, shown at level 2.38, step 1, values float32  
Opened (LIVE) mFo-DFc as #1.1.1.3, grid size 72,72,74, pixel
0.347,0.347,0.326, shown at level -0.301,0.301, step 1, values float32  
Opened (LIVE) 2mFo-DFc_smooth_27 as #1.1.1.4, grid size 72,72,74, pixel
0.347,0.347,0.326, shown at level 0.832, step 1, values float32  
1a0m title:  
1.1 angstrom crystal structure of A-conotoxin [TYR15]-epi [more info...]  
  
Chain information for 1a0m  
---  
Chain | Description | UniProt  
1.2/A 1.2/B | α-conotoxin [TYR15]-epi | CXA1_CONEP  
  
Non-standard residues in 1a0m #1.2  
---  
NH2 — amino group  
  

> save /home/dennis/Desktop/1a0m.mtz #1

Writing data to: '/*/*/[FOBS, SIGFOBS]'  

> clipper spotlight radius 15

> cview #1.3

No displayed objects specified.  

> clipper isolate #1/A&protein

> clipper spotlight

> isolde start

> set selectionWidth 4

Removed all altlocs in #1.2 and reset associated occupancies to 1.  
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...  
ISOLDE: Corrected atom nomenclature of 1 residues in model #1.2 to IUPAC-IUB
standards.  
Opened (LIVE) MDFF potential as #1.1.1.5, grid size 90,90,92, pixel
0.347,0.347,0.326, shown at level 0.92, step 1, values float32  
Done loading forcefield  

> isolde restrain ligands #1

> addh

Summary of feedback from adding hydrogens to 1a0m #1.2  
---  
warning | Not adding hydrogens to /A ARG 7 CB because it is missing heavy-atom
bond partners  
notes | Termini for 1a0m (#1.2) chain A determined from SEQRES records  
Termini for 1a0m (#1.2) chain B determined from SEQRES records  
Chain-initial residues that are actual N termini: /A GLY 1, /B GLY 1  
Chain-initial residues that are not actual N termini:  
Chain-final residues that are actual C termini: /A NH2 17, /B NH2 17  
Chain-final residues that are not actual C termini:  
107 hydrogen bonds  
271 hydrogens added  
  

> addh

Summary of feedback from adding hydrogens to 1a0m #1.2  
---  
warning | Not adding hydrogens to /A ARG 7 CB because it is missing heavy-atom
bond partners  
notes | Termini for 1a0m (#1.2) chain A determined from SEQRES records  
Termini for 1a0m (#1.2) chain B determined from SEQRES records  
Chain-initial residues that are actual N termini: /A GLY 1, /B GLY 1  
Chain-initial residues that are not actual N termini:  
Chain-final residues that are actual C termini: /A NH2 17, /B NH2 17  
Chain-final residues that are not actual C termini:  
64 hydrogen bonds  
0 hydrogens added  
  

> hide HC

> select #1

547 atoms, 513 bonds, 76 residues, 26 models selected  

> isolde sim start sel

Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/ui/widgets/htmlview.py", line 333, in interceptRequest  
self._callback(info)  
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/ui/widgets/htmlview.py", line 92, in _intercept  
return interceptor(request_info, *args)  
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/help_viewer/tool.py", line 319, in intercept  
chimerax_intercept(request_info, *args, session=self.session,  
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/ui/widgets/htmlview.py", line 468, in chimerax_intercept  
session.ui.thread_safe(defer, session, qurl.url(no_formatting), from_dir)  
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-packages/chimerax/ui/gui.py",
line 382, in thread_safe  
func(*args, **kw)  
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/ui/widgets/htmlview.py", line 459, in defer  
cxcmd(session, topic)  
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/ui/widgets/htmlview.py", line 477, in cxcmd  
run(session, cmd)  
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/core/commands/run.py", line 36, in run  
results = command.run(text, log=log, return_json=return_json)  
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/core/commands/cli.py", line 2856, in run  
result = ci.function(session, **kw_args)  
File "/home/dennis/.local/share/ChimeraX/1.3/site-
packages/chimerax/isolde/cmd/cmd.py", line 103, in isolde_sim  
isolde.start_sim()  
File "/home/dennis/.local/share/ChimeraX/1.3/site-
packages/chimerax/isolde/isolde.py", line 2804, in start_sim  
sm.start_sim()  
File "/home/dennis/.local/share/ChimeraX/1.3/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 677, in start_sim  
sh.start_sim()  
File "/home/dennis/.local/share/ChimeraX/1.3/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 1606, in start_sim  
self._prepare_sim()  
File "/home/dennis/.local/share/ChimeraX/1.3/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 1564, in
_prepare_sim  
s = self._simulation = app.Simulation(self.topology, self._system,  
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/openmm/app/simulation.py", line 105, in __init__  
self.context = mm.Context(self.system, self.integrator, platform,
platformProperties)  
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-packages/openmm/openmm.py",
line 5210, in __init__  
this = _openmm.new_Context(*args)  
openmm.OpenMMException: Error uploading array TabulatedFunction:
clEnqueueWriteBuffer (-4)  
  
openmm.OpenMMException: Error uploading array TabulatedFunction:
clEnqueueWriteBuffer (-4)  
  
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-packages/openmm/openmm.py",
line 5210, in __init__  
this = _openmm.new_Context(*args)  
  
See log for complete Python traceback.  
  




OpenGL version: 3.3.0 NVIDIA 384.130
OpenGL renderer: GeForce GTX 550 Ti/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: To Be Filled By O.E.M.
Model: To Be Filled By O.E.M.
OS: Ubuntu 16.04 xenial
Architecture: 64bit ELF
Virutal Machine: none
CPU: 4 Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
Cache Size: 6144 KB
Memory:
	              total        used        free      shared  buff/cache   available
	Mem:           7.8G        4.6G        655M        164M        2.5G        2.6G
	Swap:          975M         12M        963M

Graphics:
	01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF116 [GeForce GTX 550 Ti] [10de:1244] (rev a1)	
	Subsystem: CardExpert Technology GF116 [GeForce GTX 550 Ti] [10b0:0401]	
	Kernel driver in use: nvidia
Locale: ('en_US', 'UTF-8')
PyQt5 5.15.2, Qt 5.15.2
Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    Babel: 2.9.1
    backcall: 0.2.0
    blockdiag: 2.0.1
    certifi: 2021.10.8
    cftime: 1.5.1.1
    charset-normalizer: 2.0.9
    ChimeraX-AddCharge: 1.2.2
    ChimeraX-AddH: 2.1.11
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.2.3
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.0.1
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.31
    ChimeraX-AtomicLibrary: 4.2
    ChimeraX-AtomSearch: 2.0
    ChimeraX-AtomSearchLibrary: 1.0
    ChimeraX-AxesPlanes: 2.0
    ChimeraX-BasicActions: 1.1
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.0
    ChimeraX-BondRot: 2.0
    ChimeraX-BugReporter: 1.0
    ChimeraX-BuildStructure: 2.6.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.1
    ChimeraX-ButtonPanel: 1.0
    ChimeraX-CageBuilder: 1.0
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.2
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.2.2
    ChimeraX-Clipper: 0.17.0
    ChimeraX-ColorActions: 1.0
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5
    ChimeraX-CommandLine: 1.1.5
    ChimeraX-ConnectStructure: 2.0
    ChimeraX-Contacts: 1.0
    ChimeraX-Core: 1.3
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.3.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0
    ChimeraX-DataFormats: 1.2.2
    ChimeraX-Dicom: 1.0
    ChimeraX-DistMonitor: 1.1.5
    ChimeraX-DistUI: 1.0
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0
    ChimeraX-FunctionKey: 1.0
    ChimeraX-Geometry: 1.1
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1
    ChimeraX-Hbonds: 2.1.2
    ChimeraX-Help: 1.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.3
    ChimeraX-ItemsInspection: 1.0
    ChimeraX-Label: 1.1
    ChimeraX-LinuxSupport: 1.0
    ChimeraX-ListInfo: 1.1.1
    ChimeraX-Log: 1.1.4
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.8.1
    ChimeraX-Map: 1.1
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1
    ChimeraX-Markers: 1.0
    ChimeraX-Mask: 1.0
    ChimeraX-MatchMaker: 2.0.4
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.1
    ChimeraX-Meeting: 1.0
    ChimeraX-MLP: 1.1
    ChimeraX-mmCIF: 2.4
    ChimeraX-MMTF: 2.1
    ChimeraX-Modeller: 1.2.6
    ChimeraX-ModelPanel: 1.2.1
    ChimeraX-ModelSeries: 1.0
    ChimeraX-Mol2: 2.0
    ChimeraX-Morph: 1.0
    ChimeraX-MouseModes: 1.1
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0.2
    ChimeraX-OpenCommand: 1.7
    ChimeraX-PDB: 2.6.5
    ChimeraX-PDBBio: 1.0
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.0.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-ResidueFit: 1.0
    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
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.4.6
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0
    ChimeraX-Shortcuts: 1.1
    ChimeraX-ShowAttr: 1.0
    ChimeraX-ShowSequences: 1.0
    ChimeraX-SideView: 1.0
    ChimeraX-Smiles: 2.1
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.6.1
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-Struts: 1.0
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0
    ChimeraX-SwapRes: 2.1
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1
    ChimeraX-ToolshedUtils: 1.2
    ChimeraX-Tug: 1.0
    ChimeraX-UI: 1.13.7
    ChimeraX-uniprot: 2.2
    ChimeraX-UnitCell: 1.0
    ChimeraX-ViewDockX: 1.0.1
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0
    ChimeraX-WebServices: 1.0
    ChimeraX-Zone: 1.0
    colorama: 0.4.4
    cxservices: 1.1
    cycler: 0.11.0
    Cython: 0.29.24
    decorator: 5.1.0
    distro: 1.6.0
    docutils: 0.17.1
    filelock: 3.0.12
    funcparserlib: 0.3.6
    grako: 3.16.5
    h5py: 3.6.0
    html2text: 2020.1.16
    idna: 3.3
    ihm: 0.21
    imagecodecs: 2021.4.28
    imagesize: 1.3.0
    ipykernel: 5.5.5
    ipython: 7.23.1
    ipython-genutils: 0.2.0
    jedi: 0.18.0
    Jinja2: 3.0.1
    jupyter-client: 6.1.12
    jupyter-core: 4.9.1
    kiwisolver: 1.3.2
    line-profiler: 3.3.0
    lxml: 4.6.3
    lz4: 3.1.3
    MarkupSafe: 2.0.1
    matplotlib: 3.4.3
    matplotlib-inline: 0.1.3
    msgpack: 1.0.2
    netCDF4: 1.5.7
    networkx: 2.6.3
    numexpr: 2.8.0
    numpy: 1.21.2
    openvr: 1.16.801
    packaging: 21.3
    ParmEd: 3.2.0
    parso: 0.8.3
    pexpect: 4.8.0
    pickleshare: 0.7.5
    Pillow: 8.3.2
    pip: 21.2.4
    pkginfo: 1.7.1
    prompt-toolkit: 3.0.23
    psutil: 5.8.0
    ptyprocess: 0.7.0
    pycollada: 0.7.1
    pydicom: 2.1.2
    Pygments: 2.10.0
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 3.0.6
    PyQt5-commercial: 5.15.2
    PyQt5-sip: 12.8.1
    PyQtWebEngine-commercial: 5.15.2
    python-dateutil: 2.8.2
    pytz: 2021.3
    pyzmq: 22.3.0
    qtconsole: 5.1.1
    QtPy: 1.11.3
    RandomWords: 0.3.0
    requests: 2.26.0
    scipy: 1.7.1
    setuptools: 57.5.0
    sfftk-rw: 0.7.1
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    Sphinx: 4.2.0
    sphinx-autodoc-typehints: 1.12.0
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 2.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
    suds-jurko: 0.6
    tables: 3.6.1
    tifffile: 2021.4.8
    tinyarray: 1.2.3
    tornado: 6.1
    traitlets: 5.1.1
    urllib3: 1.26.7
    wcwidth: 0.2.5
    webcolors: 1.11.1
    wheel: 0.37.0
    wheel-filename: 1.3.0

Change History (4)

comment:1 by pett, 3 years ago

Cc: Tom Goddard added
Component: UnassignedThird Party
Owner: set to Tristan Croll
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionOpenMMException: Error uploading array TabulatedFunction

Reported by D. Dannecker

comment:2 by Tristan Croll, 3 years ago

Resolution: limitation
Status: assignedclosed

Hi Dennis,
I'm afraid the problem here is that your hardware is simply too old/low-end to work with ISOLDE. ISOLDE relies heavily on GPU-accelerated simulations, which require uploading both the electron density map and the model to your GPU's memory (which of course also has to hold all the information needed to render the display). The GTX 550 you're using is an 11 year old card with just 1GB of RAM, which simply isn't enough for these purposes. The -4 error code you're getting (see https://streamhpc.com/blog/2013-04-28/opencl-error-codes/) corresponds to CL_MEM_OBJECT _ALLOCATION_FAILURE.

Sorry for the bad news. For what it's worth, ISOLDE *does* run reasonably on the types of lower-end GPUs which are able to share the system memory, but for best results I generally recommend the minimum to be the NVidia GTX 1060.
Best,
Tristan

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

  Hello Dr. Croll,

thank you very much for investigating the reported error message.
I actually had a notion that the error might be of such a nature,  
regarding my hardware.
I nonetheless reported it because the first Tutorial "Introduction to  
crystallographic model rebuilding in ISOLDE" worked quite smoothly.

Alright, I shall update my hardware then, even though the GPUs these  
days are notorious for being quite pricey.

Thanks again and best regards,
Dennis

Quoting ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>:

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

No problem! For what it’s worth, I still get very nice performance in ISOLDE from my old GTX 1070 - so if price is a serious issue, something from that generation would do the job nicely for you.

Note: See TracTickets for help on using tickets.