From: John Stone (
Date: Thu Sep 22 2016 - 16:09:01 CDT

  I did some testing and I've just made some changes to the VMD
startup that should help clarify what part of startup is most costly
for different machine configurations.

On my favoriate test machine, about half of the VMD 1.9.3 startup time
is associated with JIT (just in time) compilation of
VMD's OptiX ray tracing shaders for the attached GPUs.

VMD generates 256 different optimized shaders at startup, and then uses
the fastest shader(s) for the particular VMD scene settings the user
activates using a big lookup table. This approach gives VMD 1.9.3 up to
a ~2x speed gain for interactive ray tracing of large scenes in OptiX,
compared to VMD 1.9.2.

I've changed VMD the startup messages so they now report the startup
phase associated with JIT compilation of the RT shaders. The JIT time
is larger if you have a machine with many GPUs in it. My favorite test
machine has 3 GPUs, so the VMD RT shader JIT time on that machine is
something like 4-5 seconds.

To allow people to launch VMD much more rapidly in cases where the
RT engines are not needed, I've added two new environment variables
that will force-disable the RT engines, and eliminate the startup
cost associated with the JIT compiles. You can now set VMDNOOPTIX and
VMDNOOSPRAY to disable two of the hardware-optimized RT engines in VMD
to prevent them from impacting startup time. All of the stuff I described
above is specific to OptiX, but there will eventually be some similar
magic going on for the Intel OSPRay RT engine on x86/KNL hardware,
and so I've put in the same solution for both.

This leaves startup costs associated with Tcl scripts, but I think that
except in cases I already listed where I/O performance is compromised,
or in the noteworthy case when launching VMD in parallel on
big supercomputers with hundreds of VMD instances, these are not as
likely to impede startup performance much for an average user.

Here's an example of the new startup console messages showing the
point at which the RT shaders are getting JIT-compiled:
Info) VMD for LINUXAMD64, version 1.9.3beta3 (September 22, 2016)
Info) Email questions and bug reports to
Info) Please include this reference in published work using VMD:
Info) Humphrey, W., Dalke, A. and Schulten, K., `VMD - Visual
Info) Molecular Dynamics', J. Molec. Graphics 1996, 14.1, 33-38.
Info) -------------------------------------------------------------
Info) Multithreading available, 32 CPUs detected.
Info) Free system memory: 58GB (92%)
Info) Creating CUDA device pool and initializing hardware...
Info) Detected 3 available CUDA accelerators:
Info) [0] GeForce GTX 980 16 SM_5.2 @ 1.22 GHz, 4.0GB RAM, KTO, AE2, ZCP
Info) [1] GeForce GTX 980 16 SM_5.2 @ 1.22 GHz, 4.0GB RAM, KTO, AE2, ZCP
Info) [2] GeForce GTX 980 16 SM_5.2 @ 1.22 GHz, 4.0GB RAM, AE2, ZCP
Info) OpenGL renderer: GeForce GTX 980/PCIe/SSE2
Info) Full GLSL rendering mode is available.
Info) Textures: 2-D (16384x16384), 3-D (2048x2048x2048), Multitexture (4)
Info) Detected 3 available TachyonL/OptiX ray tracing accelerators
Info) Compiling 256 OptiX shaders on 3 target GPUs...
Info) Dynamically loaded 2 plugins in directory:
Info) /Projects/vmd/pub/linux64/lib/vmdtest/plugins/LINUXAMD64/molfile

  John Stone

On Wed, Sep 21, 2016 at 06:05:37PM +0100, Hannes Loeffler wrote:
> On Wed, 21 Sep 2016 17:17:28 +0200
> Vlad Cojocaru <> wrote:
> > The startup (and actually also quit) slow times comparing to 1.9.2
> > version are quite noticeable on my machine (VMD compiled on local
> > SATA hard drive and running on the same computer (so, no particularly
> > slow file system involved).
> I have found the same with 1.9.3beta1 and load off of an SSD... Maybe
> 5-10 seconds for startup and about 2 for shutdown. All clearly
> noticable.

NIH Center for Macromolecular Modeling and Bioinformatics
Beckman Institute for Advanced Science and Technology
University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801           Phone: 217-244-3349