From: John Stone (
Date: Tue Apr 04 2017 - 15:30:20 CDT

  Here is a trivial example that you can use as a template to build
up your own parallel rendering scripts in the MPI-enabled VMD builds.
The "parallel" commands work both in conventional desktop builds of VMD
as well as with MPI-enabled builds, allowing you to use the same script
in both scenarios. You can therefore debug/test on a single node or your
laptop as a starting point, and then run it on a handful of nodes with
an MPI build, and when your script is bug-free, you could then run it
at scale. I have used the MPI-enabled builds of VMD on up to a
a couple thousand nodes of a large supercomputer. The scalability depends
greatly on how much I/O you're having VMD do vs. the rendering workload.

Here's a minimalistic prototypical example script that would
interoperate with the VMD movie maker plugin and/or the ViewChangeRender

proc render_one_frame { frameno userdata } {
  # retrieve user data rendering workers
  set formatstr [lindex $userdata 0]
  set dir [lindex $userdata 1]
  set renderer [lindex $userdata 2]

  # Set frame, triggering user-defined movie
  # callbacks to update the molecular scene
  # prior to rendering of the frame
  set ::MovieMaker::userframe $frameno

  # Regenerate molecular geometry if not up to date
  display update

  # generate output filename, and render the frame
  set fname [format $formatstr $frameno]
  render $renderer $dir$fname

proc render_movie { dir formatstr framecount renderer } {
  set userdata {}
  lappend userdata $formatstr
  lappend userdata $dir
  lappend userdata $renderer

  set lastframe [expr $framecount - 1]
  parallel for 0 $lastframe render_one_frame $userdata

  John Stone

On Tue, Apr 04, 2017 at 12:04:45PM +0200, Andrea Spitaleri wrote:
> Hi John,
> could you kindly provide us a script example how to run
> vmd_rendering_MPI on supercomputers?
> Thanks
> andrea
> On 03/04/2017 16:45, John Stone wrote:
> >Hi,
> > Only the _external_ CPU Tachyon renderer can write the scene geometry to a
> >".dat" file. All of the "internal" Tachyon variants write images only, and
> >they do not write (nor can they read) scene geometry to/from .dat files.
> >You would normally use it like this (just one example):
> > render TachyonLOptiXInternal /some/directory/my/image.tga
> >
> >The OptiX-based GPU-accelerated variant of Tachyon is not (presently)
> >included in the standalone binary, so for the time being you cannot run
> >it except from within VMD itself. That being said, you can of course
> >run VMD in text mode for long batch mode renderings. This is in fact how
> >we use VMD to render long movies in parallel on supercomputers, using the
> >MPI-enabled versions of VMD.
> >
> >Cheers,
> > John Stone
> >
> >
> >On Mon, Apr 03, 2017 at 09:16:44AM +0000, Amit Gupta wrote:
> >>Hi,
> >>render list helped. Now i can render images using tk console command 'render TachyonLoptiXInternal filename'. However when i try getting .dat file it gives error:
> >>Info) Rendering current scene to 'abc.dat' ...
> >>ERROR) Unrecognized image file extension, writing Targa file.
> >>while :
> >>'render Tachyon filename.dat' works perfectly.
> >>Also can i not invoke OptiX rendering through shell? as in directly using /usr/local/lib/vmd/tachyon_LINUXAMD64 binary
> >>________________________________________
> >>From: <> on behalf of Andrea Spitaleri <>
> >>Sent: Monday, April 3, 2017 1:06:37 PM
> >>To:
> >>Subject: Re: vmd-l: Accessing tachyon optix from commandline and dat file generation
> >>
> >>Hi,
> >>
> >>in tk console try render list. It will give you back a list of render
> >>available methods. Have look to here too:
> >>
> >>
> >>
> >>best
> >>
> >>and
> >>
> >>
> >>On 03/04/2017 08:41, Amit Gupta wrote:
> >>>1. I want to get .dat file to generate images of arbitrary resolution. But in VMD (Linux) I can only see option for that in normal tachyon. i.e. TachyonL-Optix gives images directly. is there anyway to use Tachyon with GPU to generate .dat files? Using OSPray? I have seen VMD site claiming it can run on massively parallel supercomputers, is that done using only mpi?
> >>>
> >>>2. How to tell tachyon to use optix renderer for generating images using GPU from command line? i.e. what is GPU equivalent of tachyon -res xxx yyy ?
> >>>
> >>--
> >>Andrea Spitaleri PhD
> >>Computational mOdelling of NanosCalE and bioPhysical sysTems - CONCEPT Lab
> >>Via Morego 30, 16163 - Genova, Italy
> >>
> >>cell: +39 3485188790
> >>
> >>ORCID:
> >>
> --
> Andrea Spitaleri PhD
> Computational mOdelling of NanosCalE and bioPhysical sysTems - CONCEPT Lab
> Via Morego 30, 16163 - Genova, Italy
> cell: +39 3485188790

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