Parallel capabilities of ChimeraX

Dear All, In the ChimeraX article (doi: 10.1002/pro.3235) it is written: "ChimeraX is built using standard software toolkits that utilize advanced Graphics Processing Unit (GPU) capabilities and the parallel computing capabilities of modern hardware. " However, when I run ChimeraX on Windows10, Windows11, or Linux, it only grabs one thread and does not use the GPU at all (neither the built-in one not the NVIDIA one). Am I doing something wrong? Best regards Sasha

Our parallelization expert is on vacation, but I'll try to answer your question. You're probably not doing anything wrong. Make sure you have installed a graphics driver. And if you have Nvidia graphics, then make sure you are using a driver from Nvidia. The open-source driver on Linux is not good enough for ChimeraX. ChimeraX definitely uses the GPU. You wouldn't be able to see a molecule without it. How much of the GPU is used depends what your data is and your choice of visualization techniques. Look at larger systems, volume data, interactive shadows, etc. to stress your GPU more. If you're not noticing that your GPU is being used, then that means we've done a good job of using it efficiently. But I believe your comment is more about parallel computation. I suspect what line from the article was alluding to, is the fact that ChimeraX comes with OpenMM. And OpenMM does parallel molecular mechanics computation on the GPU. ChimeraX internally uses OpenMM to tug atoms and for AlphaFold support. I expect we will use it more in the future (for example Boltz structure prediction). And the ISOLE bundle from the ChimeraX toolshed makes extensive use of OpenMM. There may be others. ChimeraX also comes with scipy that supports parallelization. And other ChimeraX extensions pull in toolkits, like pytorch, that make extensive use of parallelization. However, as you noted, CPU parallelization is not used much. But that is changing. 8 core CPUS are becoming more common, so I expect that we will be writing more parallel code in the future . For example, the recent Boltz support falls back nicely to the CPU. But writing parallel code is hard, so there needs to be a big benefit. HTH, Greg On 6/12/25 02:43, Alexandra Zahradnikova via ChimeraX-users wrote:
Dear All, In the ChimeraX article (doi: 10.1002/pro.3235) it is written: "ChimeraX is built using standard software toolkits that utilize advanced Graphics Processing Unit (GPU) capabilities and the parallel computing capabilities of modern hardware. " However, when I run ChimeraX on Windows10, Windows11, or Linux, it only grabs one thread and does not use the GPU at all (neither the built-in one not the NVIDIA one). Am I doing something wrong? Best regards Sasha
_______________________________________________ ChimeraX-users mailing list -- chimerax-users@cgl.ucsf.edu To unsubscribe send an email to chimerax-users-leave@cgl.ucsf.edu Archives: https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/

Hi Sasha, Adding to what Greg said, ChimeraX uses the GPU for rendering the molecules, it uses the GPU for OpenMM interactive molecular dynamics with the ISOLDE plugin, it uses the GPU for Boltz machine learning structure prediction. But most of the 100 other ChimeraX capabilities don't use the GPU. ChimeraX uses parallel processing on the CPU for molecular surface calculation. But it does not use multiple CPU threads for most of its capabilities. Almost all of the ChimeraX capabilities are very fast interactive calculations that only need a single CPU core. It is an interactive visualization program that is not intended to run long calculations (tens of minutes to hours to days) where complex GPU and parallel CPU code is used for speed. In summary, ChimeraX uses GPU and parallel CPU only for select operations that are known to take a long time (tens of seconds to minutes). Tom
On Jun 12, 2025, at 5:41 PM, Greg Couch via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
Our parallelization expert is on vacation, but I'll try to answer your question.
You're probably not doing anything wrong. Make sure you have installed a graphics driver. And if you have Nvidia graphics, then make sure you are using a driver from Nvidia. The open-source driver on Linux is not good enough for ChimeraX.
ChimeraX definitely uses the GPU. You wouldn't be able to see a molecule without it. How much of the GPU is used depends what your data is and your choice of visualization techniques. Look at larger systems, volume data, interactive shadows, etc. to stress your GPU more. If you're not noticing that your GPU is being used, then that means we've done a good job of using it efficiently.
But I believe your comment is more about parallel computation. I suspect what line from the article was alluding to, is the fact that ChimeraX comes with OpenMM. And OpenMM does parallel molecular mechanics computation on the GPU. ChimeraX internally uses OpenMM to tug atoms and for AlphaFold support. I expect we will use it more in the future (for example Boltz structure prediction). And the ISOLE bundle from the ChimeraX toolshed makes extensive use of OpenMM. There may be others.
ChimeraX also comes with scipy that supports parallelization. And other ChimeraX extensions pull in toolkits, like pytorch, that make extensive use of parallelization.
However, as you noted, CPU parallelization is not used much. But that is changing. 8 core CPUS are becoming more common, so I expect that we will be writing more parallel code in the future . For example, the recent Boltz support falls back nicely to the CPU. But writing parallel code is hard, so there needs to be a big benefit.
HTH,
Greg
On 6/12/25 02:43, Alexandra Zahradnikova via ChimeraX-users wrote:
Dear All, In the ChimeraX article (doi: 10.1002/pro.3235) it is written: "ChimeraX is built using standard software toolkits that utilize advanced Graphics Processing Unit (GPU) capabilities and the parallel computing capabilities of modern hardware. " However, when I run ChimeraX on Windows10, Windows11, or Linux, it only grabs one thread and does not use the GPU at all (neither the built-in one not the NVIDIA one). Am I doing something wrong? Best regards Sasha
_______________________________________________ ChimeraX-users mailing list -- chimerax-users@cgl.ucsf.edu To unsubscribe send an email to chimerax-users-leave@cgl.ucsf.edu Archives: https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/
ChimeraX-users mailing list -- chimerax-users@cgl.ucsf.edu To unsubscribe send an email to chimerax-users-leave@cgl.ucsf.edu Archives: https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/
participants (3)
-
Alexandra Zahradnikova
-
Greg Couch
-
Tom Goddard