I am currently running Avogadro 1.1.1-0ubuntu7 on Ubuntu 16.0.6 LTS. Is there any way to use multiple cores while saving files? When saving a file, the system monitor indicates that only a single core (from 40 available cores) is running at 100% speed while the rest of the CPU cores idle at nearly 0%. My hope is that if Avogadro is able to use all available cores, this process of saving files will be increased. Only a single core is also used when opening PDB or CML files or copying and pasting molecules. Is there any way to speed these processes up?
The computer is running a
CPU: Intel xeon cpu E5-2640 v4 @2.40 GHz x 40
GPU: Quadro M4000/PCIe/SSE2
RAM: 32 gb
Thanks for your question!
I don’t know how you’d use multiple cores to do IO - opening and saving on most systems are limited by the speed of the resource (e.g., SSD, regular HD or network drive) not CPU. There are a few cases in opening files where multi-core could help (e.g., perception of multiple molecules) but I can’t think of a case where saving would change things.
The title says about saving - are the particular cases where saving (as opposed to opening) a molecule is actually slow? Can you give an example?
You also talk about opening, copying and pasting. In some cases these can be slow, but they’re also hard to thread.
The system is slow when saving a .pdb file to use in the future. This can take up to half an hour. When attempting to save a .lmpdat or .xyz file the system may attempt to save the file. When dealing with .pdb files over 400 kB and attempting to save a .lmpdat and .xyz file, these files will take over an hour to save before creating a file that is 293 bytes large and causing the program to crash.
Opening a .pdb file that are over 500 kB large may require a 1 and half hours before opening.
I’m not sure if there is any way to improve the speed of opening files, saving files or doing other cpu intensive tasks but any help would be welcomed.
Please point me at a relevant PDB file, but I’d also suggest updating to Avogadro 1.2 and/or the latest version of Open Babel.
Avogadro 1 has poor performance rendering large proteins (which is the main reason for the new architecture in Avo2) but I’ve never seen anything resembling performance you mention. I suspect this is some sort of bug in Open Babel. (Speaking as an OB developer.)