Opened 6 years ago

Closed 3 years ago

#3143 closed defect (fixed)

Starting simulation: Error initializing context: clGetDeviceIDs

Reported by: florejo@… 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-5.3.11-100.fc29.x86_64-x86_64-with-fedora-29-Twenty_Nine
ChimeraX Version: 0.93 (2020-04-03)
Description
Starting the MD simulation in the ISOLDE intro to cryoEM model building tutorial.

Log:
Startup Messages  
---  
warning | 'clip' is a prefix of an existing command 'clipper'  
  
UCSF ChimeraX version: 0.93 (2020-04-03)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> toolshed show ISOLDE

> set selectionWidth 4

Done loading forcefield  

> isolde demo cryo_em_intro modelOnly true startIsolde false

6out.pdb title:  
Asymmetric focused reconstruction of human norovirus gi.1 norwalk strain VLP
asymmetric unit In T=3 symmetry [more info...]  
  
Chain information for 6out.pdb #1  
---  
Chain | Description  
A B C | capsid protein VP1  
  
6out.pdb title:  
Asymmetric focused reconstruction of human norovirus gi.1 norwalk strain VLP
asymmetric unit In T=3 symmetry [more info...]  
  
Chain information for 6out.pdb  
---  
Chain | Description  
1.2/A 1.2/B 1.2/C | capsid protein VP1  
  
Loaded cryo-EM demo: PDB ID 6out, EMDB ID 20205  

> open 20205 fromDatabase emdb

Summary of feedback from opening 20205 fetched from emdb  
---  
note | Fetching compressed map 20205 from
ftp://ftp.ebi.ac.uk/pub/databases/emdb/structures/EMD-20205/map/emd_20205.map.gz  
  
Opened emd_20205.map, grid size 98,112,104, pixel 1.07,1.07,1.07, shown at
level 0.287, step 1, values float32  

> clipper associate #2 toModel #1

> select clear

> isolde start

> isolde start

> set bgColor white

> addh

Summary of feedback from adding hydrogens to 6out.pdb #1.2  
---  
notes | Termini for 6out.pdb (#1.2) chain A determined from SEQRES records  
Termini for 6out.pdb (#1.2) chain B determined from SEQRES records  
Termini for 6out.pdb (#1.2) chain C determined from SEQRES records  
Chain-initial residues that are actual N termini: /B THR 9  
Chain-initial residues that are not actual N termini: /A ASP 29, /C ASP 29  
Chain-final residues that are actual C termini: /A SER 520  
Chain-final residues that are not actual C termini: /B ALA 519, /C ALA 519  
Missing OXT added to C-terminal residue /A SER 520  
1438 hydrogen bonds  
Adding 'H' to /A ASP 29  
Adding 'H' to /C ASP 29  
/B ALA 519 is not terminus, removing H atom from 'C'  
/C ALA 519 is not terminus, removing H atom from 'C'  
11439 hydrogens added  
  

> hide HC

> isolde restrain ligands #1

QWidget::repaint: Recursive repaint detected  

> select #1

22945 atoms, 23062 bonds, 14 models selected  

> isolde sim start sel

Traceback (most recent call last):  
File "/usr/local/chimerax-0.93/lib/python3.7/site-
packages/chimerax/ui/gui.py", line 601, in customEvent  
func(*args, **kw)  
File "/usr/local/chimerax-0.93/lib/python3.7/site-
packages/chimerax/ui/widgets/htmlview.py", line 429, in defer  
cxcmd(session, topic)  
File "/usr/local/chimerax-0.93/lib/python3.7/site-
packages/chimerax/ui/widgets/htmlview.py", line 445, in cxcmd  
run(session, cmd)  
File "/usr/local/chimerax-0.93/lib/python3.7/site-
packages/chimerax/core/commands/run.py", line 31, in run  
results = command.run(text, log=log)  
File "/usr/local/chimerax-0.93/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2848, in run  
result = ci.function(session, **kw_args)  
File "/home/jonathan/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/cmd.py", line 88, in isolde_sim  
isolde.start_sim()  
File "/home/jonathan/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/isolde.py", line 2709, in start_sim  
sm.start_sim()  
File "/home/jonathan/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 667, in start_sim  
sh.start_sim()  
File "/home/jonathan/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 1570, in start_sim  
self._prepare_sim()  
File "/home/jonathan/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 1531, in
_prepare_sim  
integrator, platform, properties)  
File "/usr/local/chimerax-0.93/lib/python3.7/site-
packages/simtk/openmm/app/simulation.py", line 105, in __init__  
self.context = mm.Context(self.system, self.integrator, platform,
platformProperties)  
File "/usr/local/chimerax-0.93/lib/python3.7/site-
packages/simtk/openmm/openmm.py", line 11125, in __init__  
this = _openmm.new_Context(*args)  
Exception: Error initializing context: clGetDeviceIDs (-1)  
  
Exception: Error initializing context: clGetDeviceIDs (-1)  
  
File "/usr/local/chimerax-0.93/lib/python3.7/site-
packages/simtk/openmm/openmm.py", line 11125, in __init__  
this = _openmm.new_Context(*args)  
  
See log for complete Python traceback.  
  




OpenGL version: 3.3 (Core Profile) Mesa 18.3.6
OpenGL renderer: llvmpipe (LLVM 7.0, 256 bits)
OpenGL vendor: VMware, Inc.
Manufacturer: Supermicro
Model: SYS-7048A-T
OS: Fedora 29 
Architecture: 64bit ELF
CPU: 48 Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz
Cache Size: 30720 KB
Graphics:
	02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104 [GeForce GTX 1080] [10de:1b80] (rev a1)
	Subsystem: ASUSTeK Computer Inc. Device [1043:85aa]
	Kernel driver in use: nvidia

Change History (3)

comment:1 by Tristan Croll, 6 years ago

Platform: all
Project: ChimeraX

There *is* an underlying bug here (that will be fixed with the next OpenMM release): in the OpenCL library, the CLGetDeviceIDs function returns -1 (an error code) rather than 0 when there are no valid devices in a given platform, and that wasn't being caught and handled properly.

For some reason, Fedora ships with the Mesa OpenCL library installed by default, even when you don't have a GPU that it supports. If you uninstall mesa-libOpenCL (and make sure you have the official Nvidia driver and CUDA installed for your card) then things should work as expected (hopefully - it looks like you're working in a virtual machine? No idea how that will go with GPU computing, I'm afraid).

comment:2 by Eric Pettersen, 6 years ago

Component: UnassignedThird Party
Owner: set to Tristan Croll
Status: newassigned
Summary: ChimeraX bug report submissionStarting simulation: Error initializing context: clGetDeviceIDs

Reported by Jonathan Flores

comment:3 by Tristan Croll, 3 years ago

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