Opened 6 years ago

Closed 6 years ago

#2884 closed defect (fixed)

OpenMM: Error initializing context: clGetDeviceIDs

Reported by: petrpachl@… 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-5.5.5-200.fc31.x86_64-x86_64-with-fedora-31-Thirty_One
ChimeraX Version: 0.91 (2019-12-23)
Description
running isolde.py



Log:
UCSF ChimeraX version: 0.91 (2019-12-23)  
© 2016-2019 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open /home/petr/xray/DeoR/solv/DeoR-coot-21_refmac1.pdb

DeoR-coot-21_refmac1.pdb title:  
\--- [more info...]  
  
Chain information for DeoR-coot-21_refmac1.pdb #1  
---  
Chain | Description  
A C D | No description available  
B | No description available  
E H | No description available  
F G | No description available  
  

> style sel stick

Changed 11331 atom styles  

> hide sel atoms

> show sel cartoons

> show sel cartoons

> nucleotides sel fill

> style nucleic & sel stick

Changed 1464 atom styles  

> rainbow sel

> select clear

> color byhetero

> color sel byhetero

> rainbow sel

> color sel bychain

> color sel byhetero

> toolshed show ISOLDE

> set selectionWidth 4

DeoR-coot-21_refmac1.pdb title:  
\--- [more info...]  
  
Chain information for DeoR-coot-21_refmac1.pdb  
---  
Chain | Description  
1.1/A 1.1/C 1.1/D | No description available  
1.1/B | No description available  
1.1/E 1.1/H | No description available  
1.1/F 1.1/G | No description available  
  
Done loading forcefield  
Discarding unrecognised/unsupported data array /unknown/unknown230318/FOM W  
MTZ file either contains multiple crystal datasets or is a mini-MTZ file.
Checking...  

WARNING: This MTZ file contains data from multiple crystals. Only the data
from the first crystal will be used. If you wish to use the other data, please
split your MTZ file into individual datasets (you can do this using tools from
the PHENIX or CCP suites).  

> ui mousemode rightMode select

> select /D:39@CD

1 atom, 1 model selected  

> select /D:39@CD

1 atom, 1 model selected  

> select clear

> select clear

> select clear

> hide #1.3 models

> show #1.3 models

> hide #1.3 models

> clipper spotlight radius 11.00

> clipper spotlight radius 10.00

> addh

Summary of feedback from adding hydrogens to DeoR-coot-21_refmac1.pdb #1.1  
---  
warnings | Not adding hydrogens to /B ASP 56 CB because it is missing heavy-
atom bond partners  
Not adding hydrogens to /B ARG 220 CB because it is missing heavy-atom bond
partners  
notes | No usable SEQRES records for DeoR-coot-21_refmac1.pdb (#1.1) chain A;
guessing termini instead  
No usable SEQRES records for DeoR-coot-21_refmac1.pdb (#1.1) chain B; guessing
termini instead  
No usable SEQRES records for DeoR-coot-21_refmac1.pdb (#1.1) chain C; guessing
termini instead  
No usable SEQRES records for DeoR-coot-21_refmac1.pdb (#1.1) chain D; guessing
termini instead  
No usable SEQRES records for DeoR-coot-21_refmac1.pdb (#1.1) chain E; guessing
termini instead  
3 messages similar to the above omitted  
Chain-initial residues that are actual N termini: /A MET 1, /B ASP 2, /C MET
1, /D MET 1, /E DA 1, /F DA 1, /G DA 1, /H DA 1  
Chain-initial residues that are not actual N termini:  
Chain-final residues that are actual C termini: /E DT 18, /F DT 18, /G DT 18,
/H DT 18  
Chain-final residues that are not actual C termini: /A ASP 312, /B ASP 312, /C
ASP 312, /D ASP 312  
1201 hydrogen bonds  
/A ASP 312 is not terminus, removing H atom from 'C'  
/B ASP 312 is not terminus, removing H atom from 'C'  
/C ASP 312 is not terminus, removing H atom from 'C'  
/D ASP 312 is not terminus, removing H atom from 'C'  
10728 hydrogens added  
  

> select clear

> select clear

> show #1.1.2 target m

> select clear

> select /D:62@CA

1 atom, 1 model selected  

> select /D:62@CA

1 atom, 1 model selected  

> select #1.1

22059 atoms, 22395 bonds, 5 models selected  
Traceback (most recent call last):  
File "/home/petr/.local/share/ChimeraX/0.91/site-
packages/chimerax/isolde/isolde.py", line 2676, in _start_sim_or_toggle_pause  
self.start_sim()  
File "/home/petr/.local/share/ChimeraX/0.91/site-
packages/chimerax/isolde/isolde.py", line 2706, in start_sim  
sm.start_sim()  
File "/home/petr/.local/share/ChimeraX/0.91/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 653, in start_sim  
sh.start_sim()  
File "/home/petr/.local/share/ChimeraX/0.91/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 1555, in start_sim  
self._prepare_sim()  
File "/home/petr/.local/share/ChimeraX/0.91/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 1516, in
_prepare_sim  
integrator, platform, properties)  
File "/home/petr/programy/chimerax-0.91/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 "/home/petr/programy/chimerax-0.91/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 "/home/petr/programy/chimerax-0.91/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: 4.5 (Core Profile) Mesa 19.2.8
OpenGL renderer: Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2) 
OpenGL vendor: Intel Open Source Technology Center

Change History (4)

comment:1 by Eric Pettersen, 6 years ago

Cc: Tom Goddard added
Component: UnassignedThird Party
Owner: set to Tristan Croll
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionOpenMM: Error initializing context: clGetDeviceIDs

Reported by Petr Pachi

comment:2 by Tristan Croll, 6 years ago

This is a bug in OpenMM (which will be fixed in their next release version - see https://github.com/openmm/openmm/issues/2541). The short story is that this boils down to an ugly design decision in OpenCL. clGetDeviceIDs() returns an integer representing the number of devices available for a given platform. If the platform has no devices the logical thing to do would be to return 0, but instead it returns -1 (an error code).

As described into the link, on my Fedora 31 laptop the issue was fixed by uninstalling mesa-libOpenCL (which is only relevant to AMD GPUs - I have no idea why Fedora has it installed by default). You'll need to make sure you have an OpenCL library installed for your Intel GPU (I'm afraid you shouldn't expect great performance on that - ISOLDE's really designed for the higher-end Nvidia cards).

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

Great thanks. I presumed it won't be F1 ;)

Petr

ChimeraX píše v Pá 28. 02. 2020 v 04:29 +0000:

comment:4 by Tristan Croll, 6 years ago

Resolution: fixed
Status: assignedclosed

I'll close this as fixed - it won't truly be until OpenMM 7.5 is released and incorporated into ChimeraX, but that hopefully shouldn't be too far away now.

Note: See TracTickets for help on using tickets.