Skip to content

Solaris Make Badly Formed Macro Assignment Sheet

VMD 1.8.7 Development

VMD Development Status

  • VMD 1.8.7 released (August 1, 2009)
    • ILS computations will use CUDA except when expressly disabled.
    • fix behavior of solvate for pathnames containing spaces.
    • made autoionize gui properly handle spaces in filenames when building ionize command.
    • Fix the problem with nonexisting occupancies for MCSCF optimized orbitals.
    • Added disabled code to tag the highest occupied MO in the GUI chooser. This can't be enabled yet as there are a number of cases that arise that a simple single-timestep lookup mechanism can't handle properly. Leaving this disabled for release, and we'll enable it later.
    • Corrections to QMTimestep code fixing "animate dup" and related functionality, and correcting the code that reports the highest occupied molecular orbital.
    • Updated programmer's guide docs to list the VMD 1.8.7 CVS tag
    • fixed c++ism in gamessplugin
    • Enable CUDA-accelerated ILS calculation by default rather than only when an environment variable is set.
    • Added docs for VMDNOCUDA environment variable
    • Added new chapter to user's guide that discusses a little bit about how VMD uses multi-core CPUs, and GPU acceleration of analysis tasks, etc.
    • Added user guide docs for the FieldLines, Polyhedra, PaperChain, Twister, and Orbital representations.
    • Force regen of wavefunction types, spins, excitations, and orbitals when the user hits the default button.
    • Force Orbital GUI choosers to default to existing wavefunction types and spins when a rep is first created. When the code that loops testing available types and spins runs, we record the first available type and spin, and use it when initializing the chooser.
    • readcharmmpar: updated parameter file to latest charmm version including CMAP terms
    • gamessplugin: Deny service gracefully if user tris to load a PC GAMESS file.
    • gamessplugin: Fix parsing of SURFACE scan calculations. Now all logfiles from 2000 that Axel provided can be loaded.
    • multiseq: slight revisions to the status bar changes (for modified bases) that I made last week. When talking to Elijah I thought up a way to make it show the 3 letter codes for all question marks (including things like HOH for water) so now that is being displayed.
    • Cleanup and modularize the way multiple sets of wavefunctions are parsed. Complete the MCSCF parsing scheme so that all wavefunctions are read. Silence some of the debuggin chatter and make remaining output more readable.
    • Change a few search strings to be able to read GAMESS logfiles from 2000.
    • changed orbidx parameter to orbid for clarity in reading the code
    • renamed DrawMolItem::orbid to DrawMolItem::gridorbid to clarify that it's associated with the computed grid.
    • switch solaris builds to cupertino due to another machine failure
    • Fixed C++isms in gamessplugin
    • Fixed range check for get_orbital_index_from_id()
    • Use orbital ID consistently instead of orbital label.
    • Updates to orbital indexing logic
    • Don't accept orbital ID of zero
    • Call get_orbital_index_from_id() to convert from monotonically increasing 1-based orbital IDs to the internal orbital indices used in a given timestep.
    • fixed handling of 1-based orbital ID parameter
    • Removed old orbital GUI selector code
    • gamessplugin: Fixed a bunch of problems with reading charges. Eliminated per-molecule charges (ESP) even though some of them are per-molecule in GAMESS. Instead we have a number of charge sets with a type associated type per timestep. These can either be empty or populated. Actually we will need at some point another level in our data structures: each timestep can have N electronic configurations. Each configuration can have an optional wavefunction associated and other optional properties like charge sets.
    • Repositioned orbital rep controls based on user feedback (AK)
    • Added comments about Orbital GUI update logic, and fixed the behavior of the orbital GUI when the "apply changes automatically" control is unchecked.
    • Added lots of comments to the excitation and orbital chooser regeneration routines, since they contain lots of indexing and mapping calculations that convert between 1-based QM data and 0-based GUI elements in many places.
    • Enabled new orbital list subset control, so that complex electronic structures with hundreds of orbitals don't overwhelm the GUI choosers. The user can change the orbital index range of interest and select from the list of +-10 orbitals from the "list center".
    • Correct size of copied memory in memcpy (float->double).
    • ilstools: Allow automatic recentering of the molecule and re-wrapping of the solvent. Upgraded version number.
    • ILS: Silence ILS debugging output for the release.
    • protect csh version of the vmd launch script to look for rlwrap on any other platform than LINUX and LINUXAMD64, as others, particularly AIX seem to have issues.
    • topotools: preserve information about atom masses in more cases, particularly for extended CGCMM style of lammps data files.
    • symmetry: Added code to handle the case where we have a Cn pointgroup but no central atom and no unique axes of inertia.
    • hoomdplugin: avoid null-pointer dereference.
    • timeline: documentation additions, changes
    • timeline: gui fixes (appearance)
    • hoomdplugin: make units scale factor handling more consistent. allocate storage for velocities so they are not only parsed but also handed on to VMD.
    • hoomdplugin: need to initialize massscale to 1.0 and not 0.0 for mass tags without the units attribute.
    • jsplugin: Changed string table allocations to use calloc so that unused string table memory is always cleared to zeros. This makes it possible to do binary compares on files that contain identical payload data but were written on different hosts, or at different times.
    • jsplugin: fixed another endian swapping buglet
    • jsplugin: Fix bug in the length of the swap4() calls for some of the string table length parameters when reading an opposite-endian file.
    • set Isosurface rep text command parameter types for easier interpretation of saved state files
    • set Orbital rep output precision and types for easier interpretation
    • Align horizontal position of the orbital chooser with the excitation chooser
    • Set default orbital isovalue to 0.05
    • Added options to impose given symmetry elements on the structure. It will wrap the atoms around these elements and average the coordinates of the atoms and its images. Added option -idealsel that allows to specify a second selection. The symmetry search will be performed on the regular selection but then the found symmetry elements will be imposed on the second selection an the search is repeated with that second selection. This allows for example to perform the symmetry guess on a selection without hydrogens which point in random directions for rotable groups but still get the ideal coordinates and unique atoms for the entire structure (in this case the idealsel selection). idealsel must be a superset of sel.
    • make orbital indices active/inactive in the GUI depending on whether they exist in any loaded frame for the selected wavefunction type, spin, and excitation.
    • Added function to query if a certain orbital ID exists in any frame in the given wavefunction.
    • reactivate orbitallist control in all cases
    • Dynamically regenerate the list of excitations when the user selects a different wavefunction type
    • replaced failed sundemo build box with asuncion, which is freshly reinstalled
    • don't used pinned memory for atom position/charge data in the multi-GPU Coulomb kernel until future drivers have completely cured race conditions with cudaMallocHost()/cudaFreeHost() in multi-GPU codes.
    • topolammps: adding full support for atom style dpd and partial support for style hybrid.
    • lammpsplugin: sorting the atom index map is very useful to optimize for the common case that we don't need a hashtable, however, that destroys the map for the less common case that we actually need it. With the imminent release we have to stick to to always using the hashtable.
    • fix bug when trying to save a selection from Molecule. commented out code that cannot work anymore. the behavior now is consistent.
    • add documentation for the "imd copyunitcell" hack.
    • need to use atom index maps when merging selections to molecules.
    • Applied Simon's patch that adds C2, C2' and C_2 to the list of names that are considered for the first atom after the oxygen.
    • Added new "imd copyunitcell" command to cause the IMD code to copy the previous timestep's unit cell information rather than leaving it uninitialized. This is helpful for demos that want to show the periodic cell, until such time as we update the IMD protocol to actually send/receive unit cell information.
    • add documentation for measure inertia and measure symmetry.
    • Moved two #defines back into MeasureSymmetry.h. (Oops) Updated Usage message for measure symmetry.
    • For "measure inertia" and "measure symmetry" allow syntax for options with and without leading dash (e.g. -nobonds vs. nobonds). without dash is compliant with the syntax of most of the otehr VMD commands but since there are scripts in use already that use tha dash syntax I simply allow both.
    • multiplot: update docs for 4.x
    • multiplot: now accepts parameters -xmin -xmax -ymin -ymax to specify the plot range manually.
    • symmetrytool: Set the working molecule to the first molecule with numframes greater than 0 when the current molecule gets deleted by the user. Improved behaviour of the molecule selector/updater. List molecule ID and name instead of just the ID.
    • topotools: bond types need to be canonicalized on retyping.
    • topotools: we have to canonicalize dihedral- and impropertypes based on the types of atoms 1 and 4, if the types of 2 and 3 are identical.
    • molfileplugin: copy dihedral and impropertype names, so they can be written out.
    • fix off-by-one error in the tcl interface to dihedrals and impropers.
    • symmetry: Added an outer loop that goes through increasing tolerance values up to the user specified maximum. If several different point groups are found the one with the highest symetry is chosen. The algorithm is now very very robust. If there is any symmetry within the max. tolerance level it will find it correctly. No false positives or bad number of found symmetry elements anymore. This is the beauty of a self-consistent algorithm. Corrected the number of allowed arguments for measure symmetry.
    • Only delete GLU quadric objects if display initialization was entirely successfull and they were actually created at init time.
    • Fixed missing initialization of vmdcollab pointer to NULL
    • symmetry: Fix problem with endless loop into which one could get in certain rare circumstances. It was in the code that finds the connected set of unique coordinates. Reassign the bonds topology and bondsum vectors in each iteration. This helps detecting cases where symmetry is falsely detected for C1 molecules (when the tolerance parameter is chosen high). In such casesidealized structures are generated that are recognized as similar to the original coordinates due to the high tolerance. Only the messed up bond orientations indicate that there is no symmetry.
    • multiseq: add the pdf manual and change the main multiseq html page to reference it
    • cgtools: added in a check to see if bead definitions have been loaded before trying to apply them. Should help in debugging incorrect tool usage from the command line.
    • POV-Ray renderings now take account of the shadow rendering state
    • Removed support for old POV-Ray versions lower than 3.5.
    • symmetry: Check bond equivalence only for bonds with both atoms within the selection.
    • multiseq: For modified bases, the status bar now displays the modified 3 letter residue code. The sequence window still shows a '?' (much more difficult to change), but a user can now click on a modified base residue and see what the 3 letter code is, as zls had asked about.
    • Show non-unique axes of inertia in half size and in grey instead of white. Add checkbuttons to show/hide symmetry elements.
    • Added docs for VMDDISABLESTEREO environment variable
    • Added a new VMDDISABLESTEREO environment variable check, to allow stereo X11 visuals to be ignored as a workaround for buggy display drivers. This can be used to workaround recent bugs found in the MacOS X 10.5.7 X11 server when remote displaying VMD sessions over a network.
    • Disable tests for OpenGL video resizing extension since we don't need this anymore.
    • Added function to query the existence of a wavefunction with a certain excitation.
    • added a note about the main multiseq window redrawing more slowly than normal if the zoom window is open.
    • multiseq: revise zoom window so that it updates when the main window updates.
    • Replaced Orbital representation "Step" control with a new "Grid Spacing" control that gives grid/lattice spacing in units of Angstroms. The step parameter is still used by the isovalue slider to speed up redraws while the slider is being dragged (without regenerating the orbital grid from scratch), whereas changes grid spacing parameter will cause both the orbital grid to be recalculated and the on-screen graphics to be redrawn.
    • Correct size of Fl_Group() for rep controls to fix a bug in interaction with the ribbon height slider for the Twister representation.
    • Only cause rep commands to update the orbital chooser contents when the wavefunction chooser values have been modified. Doing the orbital list regeneration causes the isovalue slider to lose focus after every value update if it is done unnecessarily.
    • symmetry: Report unnormalized eigenvalues.
    • symmetrytool: added tk callback function. Improved color scheme for drawing rotation axes and inversion center.
    • multiseq: fixed a bug where some code didn't like a temp dir not being specified
    • multiseq: added in a check for the temp directory to make sure that: a) it is given, and b) it is writeable. If not, let the user know, and tell them how to specify a good one.
    • symmetry: Fixed the sometimes wrong counting of the vertical planes.
    • Introduced option -verbose to control the amount of console logging produced by measure symmetry. Pretty up the output.
    • multiseq: when extracting regions, properly handle the cases where no elements in a region exist because they are all gaps. That particular case wasn't being checked, which was resulting in a crash.
    • multiseq: revised phylotree proc to use curated selected cell information. Fixes a bug or two that can occur, depending on how cells are being selected.
    • multiseq: revised column selection to not duplicate starting column. Also revised proc that returns curated selected cell information to sort the residues.
    • Fix a problem with linear molecules. Suppress C2 axes that are parallel to the Cinf axis.
    • gamessplugin: workaround lack of sqrtf() on Windows platforms
    • symmetrytool: Add molecule selector and handle cases where no molecules are present or where molecules have been deleted.
    • symmetrytool: Gracefully ignore everything in case no molecule is loaded. Fix indentation in several places.
    • Change the behavior of the measure inertia command so that it does not normalize the eigenvalues. Chris and Leo need unnormalized eigenvals. Adjusted measure symmetry code accordingly.
    • multiseq: added in a check to prevent Residue: -1 from showing up on the statusbar
    • Added GRADIENT and MEX to the list of known QM run types. Silence debugging output.
    • gamessplugin: Expand symmetry unique atoms by creating images of the atoms so that we have the full coordinate set. For now we need this for MEX trajectories but, I suspect there are many more cases where GAMESS doesn't print the full set of atoms.
    • The Orbital wavefunction selection GUIs are stable and are now enabled by default.
    • Add function to get the highest excitation for any wavefunction with the given type.
    • Fixed D shell and F shell angular momenta ordering in the CUDA kernel to match the CPU code.
    • Extended angular momentum sorting to all orbitals.
    • gamessplugin: Enable reading trajectories from FMO runs.
    • topotools: use more digits after decimal point when generating LAMMPS data files.
    • gamessplugin: Fix reading CIS state energies.
    • gamessplugin: Enable reading trajectories from potential energy surface scans.
    • gamessplugin: Many small bugfixes. Enable reading coordinates of FMO calculations. (Coordinates only because the wavefunctions are printed per fragment and VMD requires that there's a wavefunction present for each atom. A possible workaround would be to pad the wavefunctions accordingly and add a wavefunction for each fragment.
    • Changed Orbital GUI to dynamically update the list of available wavefunction spin types based on availability in the selected molecule.
    • Dynamically update the list of available Wavefunction types when the molecule chooser is changed, or new files are loaded. Unavailable wavefunction types are grayed out, but the mapping between the GUI chooser index and the internal type index remains fixed.
    • Cause the orbital GUI to accept combinations of wavefunction/orbitals that don't exist without reverting to the default settings.
    • Enable dynamic regeneration of the available orbitals in the GUI
    • gamessplugin: Don't consider a missing basis set an error for semiempirical calculations. These parameters are never printed. VMD should hardcode them instead.
    • gamessplugin: Fixed the cartesian hessian reader.
    • multiseq: changed help url to point to plugins/multiseq instead of scs.
    • gamessplugin: Fixed a bug and a memory leak both caused by wrong usage of strtok().
    • gamessplugin: Fixed and greatly simplified the normal mode reader.
    • gamessplugin: Fix hessian and normal mode readers. They still read incomplete data, but at least they don't crash anymore and the code is a lot more readable.
    • Fix the handling of hessian and normal modes. Made a bunch of QMData members private and provide access functions instead. Eliminated QMData::ncart since it is always 3*num_atoms.
    • catdcd: updated catdcd doc page
    • gamessplugin: Separate parsing internal coordinates and hessian in internal coordinates. Improve functions for reading hessians.
    • molfile_plugin.h: Rename have_internals to have_inthessian since this is a more accurate description.
    • multiseq: still-rough version of multiseq manual. 'make' creates a PDF.
    • gamessplugin: Improve and generalize searching for keystrings.
    • gamessplugin: Fix the parsing of SCF energies.
    • rmsd: catch a division by zero and display errors with a tk_messageBox.
    • seqdata: the 'i' button was pulling up an info window on the desired sequence, and it was allowing multiple windows, but it was using "class" variables that were not being properly handled on a per-window basis, so things broke badly when multiple info windows were opened. Tweaked to only allow one window at a time now. This would be handy functionality to actually fix and put in correctly once we have the release out the door.
    • Updated ccp4plugin output messages per Willy Wriggers' suggestions.
    • Tagged plugin-related VMD source files with the UIUC open source license so they can be more easily incorporated into other people's codes.
    • hbonds: Explicitly import tk_version from global namespace before checking for it.
    • seqdata: remove duplicate procedure
    • adapt gaussian and cpmdlog plugins so they compile with the latest revision of the molfile_plugin.h header file.
    • timeline: fixed an init problem for picked items. Only appeared when molecule had fewer residues than the (usually smaller number of) free-selection groups. Fixed now.
    • interal salt bridge calc and some stability improvements. (namesapce vars for hbond and salt bridge params.)
    • Complete the support of energies per wavefunction by adding a molfile command.
    • Process multiplicity per wavefunctions correctly. Remove num_orbitalsA/B from QMData.
    • gamessplugin: Read the multiplicity per wavefunction if possible. Read the energy of the electronic state of a wavefunction.
    • molfile_plugin.h: Changed the electronic state energy from float to double. Removed multiplicity from molfile_qm_sysinfo_t, it is in molfile_qm_wavefunction_t now.
    • document option to allow overriding the namd executable name. TODO: add documentation for several other undocumented textmode-only options.
    • namdplugin: add option to allow overriding the namd executable name (textmode only), as requested on VMD-l. TODO: - support to pass options to namd would be nice, too. e.g., NAMD-gpu requires +idlepoll. - add GUI support, if possible (same goes for other textmode-only options).
    • molfile_plugin.h: Added multiplicity and energy of the electronic state to the wavefunction object. These two are really parameters of a wave function per timestep and not of a molecule or just a timestep.
    • CMAP terms added to main topology CMAP terms for GLY-related residues corrected in hybrid topology
    • hoomdplugin: added overdue support for dihedrals and impropers.
    • gamessplugin: Improve function that parses SCF iterations.
    • Add functions to determine if a wavefunction with a given signature exists.
    • Add function QMData::get_avail_orbitals() to get the occupancies for all available orbitals for a given wavefunction signature.
    • moved text label that was getting cut off by Tk (discovered when making screen shots)
    • Removed unused functions. Made order of functions in QMData.C roughly match QMData.h.
    • Added test code to regenerate the orbital list any time the wavefunction type, spin, or excitation selections change
    • Handle more cases in the orbital GUI logic, reactivate controls after updates, regardless whether or not there are orbitals in the new list
    • Ordered the plethora of functions in QMData.h and titles for groups of functions. Deleted unused functions from QMData. Renamed a function.
    • Correct orbital list regeneration behavior when a nonexistent wavefunction parameter combination is selected in the GUI
    • Refer to the index of the wavefunction signature in QMData as iwavesig to distinguish it from iwave which refers to the index of the wavefunction in QMTimestep. The wavefunction signature is the timestep independent wavefunction ID.
    • Added function to retrieve the list of available orbitals for a given wavefunction.
    • Catch cases where the qm_data member of a Molecule is still NULL but the rep is set to Orbital, e.g. when loading a saved state.
    • Added new routines for dynamically regenerating the list of available orbitals in the GUI, based on the currently selected wavefunction type, spin, and excitation parameters.
    • migrated callback data structures into GraphicsFltkReps.h since that's where they're primarily used. This will enable referencing the callback handle pointers within the orbital representation.
    • fix incorrect callback handle on Orbital representation
    • gamessplugin: Made reading the GUESS section optional since it is not always printed in the output. Read in point group symmetry, even though we don't use it yet.
    • gamessplugin: Improve version string parsing.
    • gamessplugin: Return gracefully when there are no atom coordinates found as it is the case with FMO calculations.
    • gamessplugin: Read wavefunctions for CI GUGA and CIS calculations.
    • gamessplugin: Made wavefunction keyword parsing scheme more robust. We can now read Ruedenberg localized orbitals.
    • apbsrun bugfix: gracefully handle the situation of a top molecule without a representation.
    • contactmap bugfix: avoid division by zero in a couple of places.
    • gamessplugin: Enable reading gradients.
    • readcharmmpar: bugfix: add missing expr that makes paratool run into errors otherwise.
    • gamessplugin: Enable correct readding of orbital occupancies and energies for MCSCF calculations.
    • Better handling of orbital occupancies and energies.
    • gamessplugin: Handle orbital energies and occcupancies properly. Enable to read occupancies for CI natural orbitals.
    • Add flags for orbital energies and occupancies per wavefunction.
    • namdgui: Withdraw window instead of destroying it when user closes it. Withdraw children with parent. When user iconifies main window, unmap children.
    • Added code (still commented out) to get the right orbital from the orbital index used in the gui. Improved comments.
    • namdgui: Rolled back Axel's recently commited GUI fixes since they didn't work. The scrollbar didn't scroll down to reveal the rest of the frame. Fixed the problem of the too large window by putting two frames into separate widgets accessible from the Edit menu.
    • Add comments for the functions for getting the wavefunction indexes and labels.
    • cpmdlogplugin, gaussianplugin: follow molfile plugin API changes to keep cpmdlogplugin and gaussianplugin compileable.
    • Changed variable names runtyp->runtype and scftyp->scftype.
    • gamessplugin: Get rid of unused variables. Reorganize qm data structure (reorder only). Use new variable names.
    • gamessplugin: Defortranized variable names scftyp and runtyp.
    • gamessplugin: Handle the case when SCF does not converge for single point runs.
    • Add safety and range checks for some query functions.
    • Add MOLFILE_MAXWAVEPERTS macro for the maximum number of wavefunctions allowed per timestep.
    • libbiokit: minor text change to an error message to help identify reason
    • atomids in lammps data files can be anything for as long as they are unique. support this case upon reading through an index map.
    • if we advertise using CODATA 2006 for unit conversion, we should use that and not something else for AU to eV definition.
    • hbonds: added a clarification to hbonds webpage
    • timeline: Data collection interface, data file format to ver 1.3 now with .tml extension, 2D zooming working properly, lots of GUI fixes and GUI improvements
    • ilstools: bug fixes.
    • Cranked VASP plugin version to match latest code.
    • Added Sung Sukong's VASP parchg plugin
    • topotools: plug memory leak.
    • ILS: Allow, but ignore specifying orientations for monoatomic probes. This makes it easier to write a reusable input script.
    • Applied Sung Sukong's VASP plugin update to workaround input files with minor errors in them.
    • Added conversion factor from Hartree into eV
    • cranked vasp plugin version numbers, and tagged all of the ones that use strtok() as thread-unsafe.
    • Updated versions of Sung Sakong's VASP plugins, in support of the new VASP 5.2 package, which has some new/updated file formatting.
    • multiseq: Fixed a bug that was occuring with the multiseq window was zoomed out to the point that the text was replaced with just colored pixels (found it on Windows). Introduced this bug back when we set the text color to be the "opposite" of the background color.
    • paratool: Improved text of a menu item.
    • resptool: Updated version that fixes several bugs and shortcomings.
    • readcharmmpar: Recognize lines beginning with '*' as comments. Fix indentation.
    • molfile_plugin.h: Removed unused fields from the qm interface. Aligned some comments.
    • readcharmmtop: hybrid topology now includes CMAP terms (from C. Chipot)
    • signalproc: add rudimentary documentation for most of the additional functionality.
    • signalproc: place code in namespace to avoid polluting the global namespace.
    • Added functions to translate between orbital ids and indexes. Add function to query the maximum number of available orbitals over all frames for the given wavefunction.
    • Have autoionize write the box information if it was there in the input pdb
    • Fixed QMTimestep copy constructor.
    • Add get_max_avail_orbitals() function that returns the total number of different orbitals present over all frames for the specified wavefunction.
    • hbonds: Don't attempt to call multiplot when running in text mode.
    • Store the orbital IDs in the wavefunction.
    • Change orbital_indices ot orbital_ids to reflect the fact that they are 1-based and don't have to start with 1 either.
    • Added orbital index numbers lists for each wavefunction to qm_timestep. Removed unused fields.
    • cpmdlogplugin, gaussianplugin, gamessplugin: Following Axel's suggestion, added num_occupied_A and num_occupied_B to the interface since the wavefunction may have only a subset of orbitals, and we want to know where the frontier orbitals are located. with the similarity reordering in VMD this information will be essential, if somebody compares the .log file and the orbital rep.
    • multiseq: based on what I discovered when using VMware, revised the size of a dialog box so that it fits on the screen better.
    • topotools: need to export selections2mol.
    • Switched on the new Orbital Rep code. Now one can choose between several wavefunctions per timestep.
    • added test code for menu item activation/deactivation. Used volumetric data reps and coloring as the first test case.
    • Change numerical values for spin alpha and beta.
    • provide a function that gets the wavefunction index from the IDtag. This is necessary since some timestep might not contain a certain wavefunction thus changing the indexes of the follwing wavefunctions.
    • gamessplugin: Remove the idtag field from the wavefunction since it will be set by VMD based on the other wavefunction descriptors.
    • Assign a wavefunction identifier based on type, spin, excitation and info string.
    • removed MOLFILE_WAVE_OTHER from list of wavefunction types since we have UNKNOWN which takes care of all other than the specified cases.
    • gamessplugin: Populate the wavefunction info string.
    • migrate loop control params out toward script interface
    • Add support for test looping to prevent host thread launch overhead from interrupting kernel execution when doing power consumption tests.
    • increase benchmark loops for madd kernel
    • increase arithmetic intensity of MADD benchmark inner loop
    • Set default orbital min/max range values to -0.1 and 0.1 respectively
    • solvate: Write a new pdb with bounding box information, as per justin's suggestion
    • Added new GUI controls for wavefunction selection, though they remain disabled until matching code is added to DrawMolItemOrbital to draw orbitals for the selected wavefunction.
    • Updated orbital rendering code with new parameters and state tracking to allow selection of wavefunctions by type, spin, and excitation
    • Increased maximum atom representation storage to accomodate new orbitals representation
    • gamessplugin: Removed old debugging output.
    • Added function to translate betrween the wavefunction type flags from the GUI and the wavefunctions actually stored. Removed debugging printf.
    • changed order of #define GUI_WAVEF_TYPE_*
    • prepare orbital gui for new wavefunction choosers
    • provide a list of #define GUI_WAVEF_TYPE_* that enumerate the options in the dropdown list for selecting the wavefunction type in the Representation window.
    • Removed debugging output.
    • Enable VMD to store multiple wavefunctions per timestep. Fix wrong behaviour of QM related molinfo get commands. Before they would override the Tcl result object instead of appending to it.
    • gamessplugin: Populate spin, orbital type, and excitation fields when sending QM timestep data.
    • hoomdplugin: some comment corrections. support minimal hoomd xml files that don't have a type section.
    • Prevent "within 0 of XXX" from causing a memory exhaustion and a subsequent crash.
    • rnaview: Close file that was not being closed.
    • rnaview: Removed conflicting parsing code for -debug option.
    • Revised multiseq tcl package number from 2.1 to 3.0 to match what Elijah et al are calling it externally.
    • Removed cpmdlogplugin from the release builds since it requires a non-standard build of CPMD and we don't want to "tease" users with this until all of the matching pieces are available both in the standard CPMD code and in VMD.
    • prepare for making final VMD release builds, no more beta tags
    • Cranked version number
  • VMD 1.8.7 beta 6 (June 16, 2009)
    • Fixed bad latex in python docs caused by a patch insertion/paste problem of some sort.
    • need to quote string when using square brackets in glob pattern. fixes spurious "0-9: command not found" error with 'atomselect list'.
    • fix macish no-line-break measure surface latex source
    • Added docs for measure surface
    • reworked vmdhttpcopy to first do a HEAD check on the URL to see if it exists (and is readable, accessible on the network, etc) and then do a request to get the actual file. This should help a lot on machines that have been firewalled off from the remote file.
    • multiseqdialog: reworked some of the initialization code that executes when a user is starting multiseq for the first time. Tells them that they need a good network connection, and handles results from vmdhttpcopy in a more sane fashion (checking for a few common errors, etc)
    • inorganicbuilder: Added waitfor all to mol new and mol addfile commands, to possibly fix file deletion race condition problems on Windows.
    • Fixed bug that crashed vmd when tying volmap ils without options.
    • Warn users about potential buggy rendering when the X11 'Composite' extension is enabled.
    • molfile_plugin.h: Added new wavefunction type. Changed wavefunction type name. Added documentation.
    • gamessplugin: Made wavefunction parser even more robust.
    • basissetplugin: Removed unused helper functions.
    • plugin docs: Update docs to match current plugin version number.
    • edmplugin: Added code to write X-PLOR maps (only orthogonal cells for now). The X-PLOR format requires that the edges of the cell be integer multiples of the grid spacing. To overcome this limitation, we pad the box accordingly and resample the map, keeping the original grid spacing.
    • Added comments on two MolAtom members that should probably become unsigned bit fields to save memory.
    • Changed constant memory layout for CUDA ILS: permit up to 160 atom types, up to 8 probe atoms (for ethane), reduce maximum number of bin offsets to fit into first 8K page, reduce maximum number of conformers for increased probe size, and leave the highest 1K unused.
    • if CUDA ILS fails, fall back on CPU calculation
    • small GUI tweaks and cleanups. Update documentation to mention some possible optimizations for certain g(r) calculations. Step version number to 1.1.
    • contactmap: Fixed bugs in initial data field filling, which were obvious when loaded contactmap without any molecules present. Also, can now compare different-length molecules.
    • gamessplugin: Enable reading CI runs.
    • fix c++isms in gamessplugin
    • vmdmovie: Added a new "dry run" movie mode that doesn't do any image generation or encoding, to let users test their movie segments much more conveniently.
    • vmdmovie: All of the supported movie renderers support both bmp and ppm image output
    • vmdmovie: All of the VMD versions now incorporate the same list of renderers.
    • vmdmovie: updated documentation version number to match the latest vmdmovie plugin
    • Updated the behavior of the shared library compiles to link with g++ so that the shared library builds can use CUDA etc.
    • molfile_plugin: Added two new QM wave function types.
    • gamessplugin: Enable reading GVB ROHF calculations. They have an extra set of so called geminal orbitals which can be loaded now.
    • gamessplugin: Made parser more robust. Simplified parsing structure. Fixed memory leaks.
    • Added CUDA source files to make_distrib source distributions
    • Removed outdated SWIG interface
    • Updated python docs per Axel's patch.
    • namdplot: close input file at the end of the namdparse proc
    • reduced solvate GUI picture to 60% of the original size to improve the layout of the docs page.
    • avsplugin: Update URL with the CVS Field file format description. Updated version number to match latest revision.
    • mapplugin: Update URL with the AutoDock file format description.
    • Added ssrestraints and rnaview plugins to the main plugin docs page.
    • ssrestraints: fix a memory leak
    • gamessplugin: Fix some problems with reading older file formats.
    • Added prototype detection code for X11 "Composite" extension
    • gamessplugin: Enable reading older versions of GAMESS output (the format changed 2005).
    • Bugfix: Allow loading of QM logfiles that contain no explicit basis set (such as calculations with semiempirical methods in GAMESS). This takes care of Rui Rodriguez's bug.
    • make the generation of a list of atom selections a bit smarter.
    • Changed FileRenderer::nearest_index() to search the entire color table and not just the first 33 colors. This was causing problems for sphere and point arrays colored by one of the attribute-based color scales.
    • Try pale green selection highlight color and get user feedback
    • Fix bug in volmap command parser that could result in a crash if the selection parameter was missing.
    • Silence console output from performance measurement code in the orbitals rep
    • Recompute the orbital grid if the user changes the step size parameter
    • Cache molecular orbital grids and only recompute them when the selection changes, the timestep changes, or the orbital index changes. Other representation parameters should only affect the rendering and not the computed orbital grid itself.
    • prevent double inclusion of volumetric data header from causing troubles
    • signalproc: added support for regular sliding window average for sake of completeness.
    • signalproc: First part of signalproc documentation overhaul. Added overview for all packages and sgsmooth results example.
    • signalproc: fix non-portable use of find, so that fftcmds.so does get installed.
    • Add documention for the 'evaltcl' command in the Python section of the User's Guide.
    • try harder to make the VMD module work when imported into a Python interpreter and give a hint to the user in case it ultimately fails. turn 'evaltcl' into a regular method forwarding calls to VMDevaltcl, but only if the latter is actually available. add embedded documentation for 'evaltcl'.
    • some minor tweaks and changes to make the VMD python module behave consistently and without errors when using it from a python interpreter. make the tcl evaluation command directly available as 'evaltcl'.
    • topotools: expand topotools documentation to add some explanations on usage and scope.
    • topotools: implement a "selections2mol" utility method for use in "trunctraj" and otherwise.
    • topotools: fixed bug in sorting of residue numbers
    • one more update for CG-CMM topology and parameter input generation.
    • cranked mutator plugin version due to bug fix provided by Grischa Meyer.
    • Applied Grischa Meyer's fix for a scenario where mutator would fail when one tried to mutate one residue in one segment in a file which has many segments and the resid of the mutation is higher than the number of residues in the smallest segment. The problem was caused by an empty "oldres" variable, and is fixed by moving the offending code into the safety of an appropriate if/then block.
    • improve support for reading LAMMPS topology files for CMM coarse grain systems.
    • topotools: remove redundant function definition. write a Masses section, if reasonable data is present.
    • topotools: minor cleanup and documentation fixes.
    • Cranked version number
  • VMD 1.8.7 beta 5 (June 1, 2009)
    • vmd.sh: correct variable name broken in two by a newline char.
    • Tweaked the color of browser selections to be a lighter shade of gray than the default window background color.
    • Reduced maximum ray recursion depth from 30 down to 8, since there's really no sane reason one would ever need this for a normal VMD scene
    • Added code to detect and report mismatches between the CUDA runtime and the installed CUDA driver.
    • Teach the CUDA management code how to deal with devices that are in computeModeProhibited state.
    • disable trunctraj until it's ready for prime-time
    • Added hbonds plugin to the docs page
    • reduced the size of the screen shot for the hbonds plugin docs
    • fixed name of multitext plugin on the docs page
    • Added mergestructs to the docs page
    • Added ilstools, reordered the "other" grouping
    • added signalproc plugin to the docs page
    • Added topotools to the docs page
    • Added nanotube builder docs to the plugin docs page
    • added credits and documentation for nanotube plugin.
    • Added CUDA support to win32 vs2005 builds, runs well so far.
    • Fixed a bad fopen() file mode that was causing a crash when compiled with MSVS 2005.
    • Added libtachyon to vs2005 win32 builds
    • Updated vs2005 project for recent changes
    • nanotube: use "mol new atoms XXX" instead of a temporary file. convert to vmdcon.
    • topotools: make adddefaultrep independent from namespace variables, so it can be used in other plugins.
    • qmtool, paratool: changing the palette at this point triggers initialization failures, if the GUI is enabled from a script. Commented out the call for the time being.
    • ilstools: make the GUI handle the situation of having no molecule or no usable top molecule gracefully and without error that are silently ignored.
    • use correct callback name for cggui plugin.
    • use correct callback name in hbonds plugin registration.
    • only enable the use of rlwrap on Linux platforms for the time being, as the tests for its existence encounter problems on platforms like AIX that use ksh rather than bash, and for which rlwrap is most likely not installed anyway.
    • Added AIX6_64 target to make_distrib
    • fix Blue Print plugins build config
    • updated build configuration for NCSA Blue Print now that it's running AIX 6.x
    • Added AIX6_64 target for Blue Waters
    • ilstools: some more GUI tweaks to make it look more regular and keep room for large sampling molecule names. convert to use vmdcon for log messages.
    • ilstools: replaced inserted scrolled frame between GUI and toplevel. cleaned up the confusing use of $frame and removed all explicit references to .ilstools except when initializing the toplevel window.
    • Added macosx.x86.opengl.nocuda target for MacOS X 10.4.x builds that cannot support CUDA
    • convert sequence viewer to use vmdcon. step version number to 1.1.
    • namdgui: make the GUI a little bit wider for safety and center the scrolledframe.
    • rewrite of the code for the left side panel of the sequence viewer to use grid as layout manager and make the zoomslider fill the panel.
    • rewrote and simplified the menubar handling to match other plugins. removed some dead and non-working code.
    • solvate: convert solvate to use vmdcon.
    • solvate: Fix a bug that occurs for very small water boxes Compress the gui to get rid of some wasted space Remove the scrollbar (can be added in again very easily be changing what it is set to
    • autopsf: Shorten the autopsf gui
    • molefacture: Slim down the molefacture gui
    • autopsf: Make the checkbuttons for the fragments into radiobuttons
    • inorganicbuilder: Shrunk GUI
    • zoomseq: comment out "Close Window" function for style consistency.
    • untabify zoomseq.
    • reduce namespace pollution by importing the scrolledframe proc into the individual namespaces and not into the global one.
    • make solvate GUI resizable in y direction by inserting a scrolled frame, similar to namdgui.
    • convert namdgui to use vmdcon.
    • namdgui: resizable by inserting a scrolledframe between toplevel window and the existing gui elements. width is still fixed at 550px, but height can be changed. defaults to 400px showing the file i/o widgets.
    • fix off-by-one buffer overflow detected by gcc-4.3
    • Tweaked MSM coulomb button
    • Updated the volmapgui plugin to indicate the relative performance of the "coulomb" and "coulombmsm" map types
    • Corrected order of x/y/z lattice dimension parameters for the multilevel summation-based coulomb potential calculation.
    • Updated volmapgui plugin adding support for the new multilevel summation based Coulomb potential map type ("coulombmsm").
    • Moved the multilevel summation based electrostatic algorithm from the old "coulomb" map type, into a new "coulombmsm" map type.
    • Scaled down the ilstools GUI snapshot in the docs so it doesn't take up the whole web page.
    • Set default contact map window size to be more netbook-friendly
    • Changed the window title from "VMD Seq Compare" to "VMD Contact Map" since that's the name of the plugin and that's really the only calculation it can do presently.
    • Resized rep browser column widths to accomodate longer representation and coloring method names, e.g. "DynamicBonds", and "PhysicalTime".
    • Further fine tuning of color menu browser widths and positioning. Increased the width of the color scale image to take up the entire window.
    • Increased the width of the color window by 40 pixels to accomodate longer color category item names and color names
    • Added a text label for the shadowing and ambient occlusion controls to indicate they are (currently) only for external renderers and have no effect on the OpenGL rendering
    • Added new macros for colors used for text in browsers to signify active/inactive or displayed/hidden states, updated the color scheme for the browsers to be slightly off-white to differentiate them visually from the text input fields, and changed the default "inactive" text color to red rather than magenta.
    • Started adding macros to allow redefinition of the main window colors
    • enable alternate color scheme, time to collect feedback from users..
    • checked in alternate color scheme, though not enabled
    • Updated more FLTK GUI source files to use the new color macros
    • merge the text/selection macros for choosers since they are really the same thing in FLTK's view
    • Made color macro names more consistent with FLTK's coloring terminology
    • Replaced hard-coded VMD FLTK color scheme with macros that are much easier to modify. This will make it much easier to devise an interface that improves on the old cyan/black/yellow scheme used in the past.
    • Fixed Tachyon triangle strip generation code so that per-vertex colors aren't exported when volumetric texturing is active.
    • Applied Justin's patch adding VMDevaltcl to the Python interface and changing the behavior when loading in standalone vs. module mode
    • Cranked version number
  • VMD 1.8.7 beta 4 (May 27, 2009)
    • Added a progress callback to the internal Tachyon renderer calls so that long-running ambient occlusion renderings don't leave the user mystified as to how long things are likely to take...
    • Added several new materials optimized for ambient occlusion renderings
    • Updated the "diffuse" material so it looks closer to the same whether rendered in GLSL, normal OpenGL, or in Tachyon
    • Corrected material state handling for file renderers, so that the volume slice representation looks right when rendered with ray tracers
    • require latest version of Tachyon for volumetric coloring/texturing features
    • corrected export of scenes containing triangle meshes or vertex arrays with volumetric texturing in effect.
    • Enabled volumetric coloring now that it's working correctly for the VolumeSlice representation. Need to add missing code for the other cases still.
    • Added 3-D texturing to the built-in Tachyon renderer
    • Cleanup of 3-D texturing implementation for external Tachyon renderings. Added comments to clarify the steps in transforming the texture plane equations from molecule coordinates into the renderer's world coordinates.
    • corrected handling of objects drawn with lighting disabled.
    • Call virtual method to enable volume texturing once a volume texture is defined.
    • enable volume texturing by default for tachyon renderer
    • autopsf: Fix an indexing problem when using osel in some cases
    • Fixed Z offset bug and handedness of 3-D texture plane equation vectors passed to Tachyon. Translation and scaling of 3-D volumetric textures both appear to work correctly now. Rotations give incorrect renderings, so more bugs remain.
    • gaussianplugin: recover ability to parse wavefunctions and store them appropriately. currently only cartesian basis sets are supported. orbital display for some simple cases recovered.
    • cpmdlogplugin, gaussianplugin: next step in fixing the gaussian plugin for orbital display. needed to add a parser for counting total atomic basis functions, total primitives and total shells, so that we can allocate arrays in the correct sizes before parsing the basis set and the wavefunction(s). currently handles only inline basis sets but not external ones. all basis functions are assumed to be cartesian; pure basis functions will need to be converted.
    • cgtools: Use better default md parameters
    • timeline: many GUI, feature, and stability fixes. (Hopefully have at last solved non-atom molecule problems)
    • eliminated old (now unused) macros that were previously used for sizing internal data structures in the GAMESS plugin.
    • fixed a bug that was occuring when you used the mouse to select an element in a sequence that was "past the end" of the sequence. Basically something that makes the plugin more robust
    • cubeplugin: convert cubeplugin to vmdcon.
    • cubeplugin: added support to read charge field from atom specification on suggestion by xavier cartoixa soler.
    • ILS: Removed outdated citation message.
    • Cranked version number
  • VMD 1.8.7 beta 3 (May 18, 2009)
    • Updated the vmdmovie plugin to allow use of TachyonInternal on Windows, since Windows versions of VMD now include a built-in "TachyonInternal" renderer just like the Unix versions do.
    • Prevent snprintf() from tripping up msvc compiles
    • dtrplugin: Updated version from DESRES, fixes a number of bugs and improves interoperability with Schrodinger's maestro tool.
    • maeffplugin: Updated version from DESRES, improved interoperability with Schrodinger's maestro tool
    • vmdmovie: Fix an unprotected 'molinfo top get numframes' call that could cause an error when no molecule was loaded.
    • Updated documentation build to use ps2pdf rather than distiller, since ps2pdf is free and widely available whereas distiller is no longer available
    • Added documentation for new "render" subcommands to control antialiasing and ambient occlusion lighting parameters, and image output formats
    • Added docs for new ambient occlusion and shadow control display commands
    • Added shadow control to display command built-in help
    • added ambientocclusion to built-in help query list
    • updated readme info with new rendering features
    • vmdmovie: removed hard-coded Tachyon shader mode flags from the command line arguments since these are now contained in the scene files emitted by VMD
    • vmdmovie: removed hard-coded antialiasing sample flags and rendering mode flags from Tachyon execution strings, since VMD now exports this information in the emitted scene file itself.
    • Added ilstools to the Analysis extensions menu
    • Applied Olaf's updates to the plugin test main to allow multi-file tests and exercising more of the new plugin APIs.
    • Updated AA sample count in default Tachyon run command string
    • make psfgen compilable again when using molfile plugin interface.
    • vtfplugin: fix C++isms
    • Updated the external Tachyon renderer code to emit all of the key parameters in the scene file rather than depending on command line options. The new code uses the "shader_mode" block to enable the VMD-specific transparency and fog rendering modes, as well as setting the appropriate rendering quality mode, and optionally enabling ambient occlusion lighting if needed. Changed both the internal and external Tachyon renderers to use a default of 12 AA samples per pixel, and 12 AO samples per AA sample.
    • A bunch of minor bugfixes and changes in order to work with the new format of CHARMM toppar files that allow more than 4 Characters for resnames, atom names and types.
    • added new 'ilstools' plugin
    • Minimum reasonable AO samples is about 16 samples per AA sample, with a default of 8 AA samples, we get a nice total of 128 AO samples per pixel.
    • Added shadowing and ambient occlusion controls to the display menu
    • Added display commands to enable/disable rendering with shadows and ambient occlusion lighting, AO ambient value and direct light rescaling factor, and FileRenderer commands to control the number of AO samples taken. Currently implemented only for TachyonInternal.
    • minor cleanup/reorg for readability
    • pretty up display settings window
    • Added several new materials using the outline shader
    • doc: Add little segment in tutorial about "logfile" and the new GUI controls for it.
    • Bumped up required Tachyon version number now that larger-than-unity texture outline factors are allowed (requires range clamping on output).
    • corrected a typo in the Tachyon texture output for outline rendered objects
    • Cranked up outline factor for goodsell material to leave dark outlines
    • Allow the outline factor to go beyond unity so that users can make dark halos around objects if they like.
    • improve readability of outline shading section of the GLSL fragment shaders
    • vtfplugin: Updated with Olaf's latest version
    • Fixed up the File menu command logging feature and corrected missing behavior entries for the newly-added command logging items.
    • hide "render imagesize" from built-in help until at least one external renderer implements it.
    • renamed old "aalevel" parameter to file renderers to "aasamples" which is more correct.
    • Misc cleanup and improvement of handling of previously undocumented renderer antialiasing controls and image format options
    • Added missing render subcommands to built-in help
    • updated default material list, added "Goodsell" shader to the built-in materials
    • solvate: pretty up I/O calls
    • improved order of material parameters written to saved state files
    • Increase default antialiasing for Tachyon renderings to 8 samples per pixel
    • Updated docs with note on outline shader
    • Applied AK's patch to add text command logging to the GUI
    • Updated FileRenderer and Tachyon renderers to support the new outline shader modes as well.
    • ssrestraings: Fix selection logic when deciding if STRIDE should be run on each segment separately.
    • Added two new material parameters "outline" and "outlinewidth" for use with the GLSL shading mode. These cannot currently be rendered by any of the external renderers, but the improved convenience of having them built-into VMD rather than having users hack the shader files externally is well worth it. It should be straightforward to add matching rendering support into Tachyon.
    • Added outline rendering to both VMD GLSL fragment shaders
    • ssrestraints: Only run STRIDE on each segment if the given selection contains protein.
    • Added a query for zero-copy mapped host memory
    • Add helper package to run STRIDE on each segname separately, which is more robust than running STRIDE on the whole structure at once. Using this approach, secondary structure is correctly calculated for the ribosome structures.
    • solvate: Added "waitfor all" flags to all file loading commands to prevent open file handles from lingering by the time we get to the point where the file delete calls are made.
    • topotools: make all procs that create a new molecule behave more like "mol new" and have them create a representation and reset the display view. The package internal variable "newaddsrep" controls this behavior.
    • lammpsplugin: let atoms have a radius when reading lammps data files. we use 1.5 by default, same as the molfile plugin. fixes problems with VDW rep reported by Lutz Maibaum.
    • fix help message for "mol" command.
    • fix cut-n-paste error in vecmul documentation.
    • topotools: fix undefined variable bug in replicatemol error message.
    • prevent string buffer overflow when renaming molecules with huge name strings.
    • Eliminated standalone build ifdefs from ILS code again
    • ILS: add option to ignore exclusion checks
    • Cranked version number
  • VMD 1.8.7 beta 2 (May 13, 2009)
    • Updated msvc6 project for recent thread pool changes.
    • hoomdplugin: finalized support for velocities by adding timestep metadata reader function.
    • Updated to Tom Bishop's latest version 2.0 of the VDNA plugin
    • seqdata: fixed a bug that was occuring when a list item that contained spaces was passed in.
    • Assume the MAP[CRS] fields apply also to the ORIGIN coordinates as they do for N*START
    • pbctools updated to Olaf's latest version 2.5
    • ccp4plugin: Added support for MRC2000 format headers with floating point ORIGIN records
    • fixed device minor version check logic to accept G80 hardware
    • Switch default VMD builds to use CUDA 2.2
    • ILS: Fix bug in rotamer generation code that prevented correct processing of nonsymmetric probes.
    • export vmdconio.h header with VMD alongside vmdplugin.h and molfile_plugin.h so that plugins can again be built against the VMD installation only, including those that have been converted to use the vmd console interface.
    • ssrestraints: Require input psf/pdb files, as opposed to acting on a previously loaded molecule. The RNA restraints code relies on the 'residue' definition, and requiring psf/pdb files prevents us from relying on "guessing" from VMD.
    • Allow the use of the environment variable VMDCUDANODISPLAYGPUS to prevent GPUs used for display from being used for computation. This is helpful in cases where only one GPU is installed and it gets overwhelmed by work, making the host windowing system unresponsive.
    • Changed threadpool manipulation routines to check for NULL parameter values and return error codes as appropriate.
    • Enabled automatic worker scheduler tile size scaling using predictive relative performance heuristics.
    • Use GTX 280 and Tesla C1060 as the "1.0" speed reference for the dynamic scheduler
    • Added device pool initialization code to compute and set speed scaling factors for each GPU device.
    • Added APIs for setting and querying relative device performance scaling factors, and for automatically scaling peak requested scheduler tile sizes by device performance index.
    • Changed all thread APIs to use the same symbolic constant return codes to indicate when the work schedulers/iterators have no more work units left
    • Fixed missing mutex unlock call prior to returning an empty status for an empty error stack
    • updated conditional compilation thread library selection tests
    • ILS: Put the energy threshold clamping back into the CPU kernels. Otherwise the algorithm is incorrect (and slower for mono-atom case).
    • ILS: Removed the heuristic that puts a restrictive bound on the number of "extra atoms" permitted for a given number of atoms. Instead we allow the maximum number of extra atoms that the CUDA kernels can handle.
    • Line up columns when printing the number of SMs in each GPU device found
    • ILS: Remove clamping of the occcupancy value in the different kernels. Clamping during the computration doesn't give any speedup but it decreases accuracy in some cases where the downsampling over gridpoints gived a different final result when the individual points were clamped already. Now the energy cutoff is only applied during the energy exclusion to identify points that would always be excluded and after the final downsampling.
    • Updated documentation for mergemols and replicatemol.
    • Merged in external tools to merge molecules and replicate unitcells. Some refactoring of the sources into more logical pieces. Place the "topo" frontend command into the TopoTools namespace and 'export' it to the outside via an alias. The source is more readable now, due to removal of most namespace qualifiers.
    • volmap compare: Added RMSD per bin to the histogram. Added command option -interval and -numbins.
    • ssrestraints: Update docs with new -hbonds option.
    • ssrestraints: H-bond restraints based on a script by Peter Freddolino.
    • topotools: properly skip over pair, angle, dihedral and improper coefficients in the topology file, handling empty and comment lines, too.
    • Changed histogram bin interval to 2.5 for volmap compare.
    • Fix the weighted RMSD computation in volmap compare. Fixed bad histogram bin assignment.
    • ILS: Changed the -conf option to -orient in "volmap ils" because that's a more accurate name. The old syntax still works, though.
    • Added note about GPUs for ILS.
    • Updated ILS documentation.
    • removed @myselection example since this was eliminated in rev 1.74 of AtomSel.C many years ago.
    • remove '$' from the list of recognized "break characters" to rlwrap as this breaks with certain versions of /bin/csh. removed it in /bin/sh version, too, to have the identical behavior in both scripts.
    • Started process of merging the CUDA device pool feature into the lower level thread pool APIs for better performance and reduction in code to maintain
    • topolammps: velocities list has to be initialized outside the loop.
    • fix a typo in the color clamping routine
    • collapse platform macro tests where possible.
    • volmap compare now also returns the average error per bin as well as the maximum error per bin (and the histogram printing includes the values as well)
    • eliminated unnecessary include on MacOS X
    • Collapsed many instances of ARCH_LINUXxxx down to a single test for definition of the __linux macro. Only if we have a specific reason to differentiate the flavors will we need to check for the VMD compilation macros.
    • Replaced VMD-specific hp-ux macro tests with general ones
    • collapsed AIX macro tests down to a single check for _AIX
    • collapsed separate IRIX macro tests down to single __irix test
    • Collapsed a large number of conditional compilations for Linux down to a single test for __linux. There were historical issues with __linux not being defined in c99 mode in older revs of GCC, but it appears to be fixed now. I've also checked that Intel C/C++ both do the right thing as of version 9.x at least.
    • Correct ABI compilation mode for text mode 64-bit AIX5 builds
    • Fixed a bug in handling of accession codes and database info that was introduced in rev 1.439 with AK's patch to allow creation of empty molecules. The accession info was being appended out-of-sync with the file lists being updated, breaking the correct behavior in the normal use case. In the special case where a molecule is generated internally via scripting commands, nothing should be recorded since the file records aren't being updated either.
    • Fix unprotected use of strcasecmp() in psfcheck. Win32 doesn't provide this routine by default.
    • Added AIX5 text build configurations for anlaysis-only use
    • Fix namespace collision with AIX system-defined "hz" macro.
    • Changed tilestack initializer to assume caller-allocated memory to improve cache use when inserted into the thread pool object.
    • Use correct frame count when reporting time/frame.
    • eliminate unnecessary padding bytes. Since the tile stack will only be access at the same time as the shared iterator, any shared cache lines are harmless, the sharing is thus real and would not create any performance loss.
    • ILS: added return of histogram information from volmap compare
    • ILS: Silenced excessive debugging output with check for VMDILSVERBOSE environment variable
    • ILS: Added comment about deficiencies in generating tetrahedral probe distributions at higher frequencies.
    • ILS: Fix bug in tetrahedral probe conformer generation. Remove unnecessary code.
    • ILS: Support of higher numbers (over 32) of probe orientations by geodesic triangulation of an icosahedron. In most practical cases we hopefully don't need more than 32 orientations but we need at least one reference calculation with a ridiculously large number.
    • Updated CUDA orbital code in prep for dynamic tile size selection by thread pool workers at runtime.
    • Added option to ignore probe symmetry through env variable VMDILSNOSYMM. Improved log messages and comments.
    • ILS: Generation of uniformly distributed probe orientations based on vertices and faces of platonic solids. Various minor other improvements. Still needs some cleanup.
    • rename APIs for dynamic work scheduler to be more developer-friendly
    • Misc cleanup and commenting on CPU affinity routines
    • Call sched_yield() after setting new thread CPU affinity mask to cause the new mask to take effect immediately.
    • correct a buglet in the CPU affinity code
    • psfcheck: Ignore "end" lines just like "END" lines
    • Added matching calls for device pool.
    • Added iterators into the threadpool construct for caller convenience
    • reorganized the header to facilitate adding new structs to the threadpool primitive.
    • Added a tasktile stack for use in handling errors and exceptions.
    • Revised the threading primitives to accept a new tile structure that describes the half-open interval of tasks, instead of individual integer parameters. Eliminated the single task work request routines in favor of using the variable size tile request version in all cases.
    • updated dependencies for lammpsplugin. add hash files, remove periodic table.
    • updated plugin for native lammps text mode trajectories. added a completely new parser for the data section that can now also handle many forms of "custom" dumps in addition for the simpler "atom" format. due to additional information in the plugin about the contents of the data (=ATOMS) section, optional data can be read in as soon as it is supported by VMD. support for molid, charge, and velocities is already in. more to come when VMD is ready for it.
    • added integer hashing functions from main VMD trunk with slight modifications, so that it can be included together with the string hash. will be used by improved LAMMPS plugin.
    • topolammps: add support for numbers in exponential representation that have a capital 'E' instead of a small 'e' to indicate the exponent. fixes reading the micelle data file.
    • Enable multiple planes per kernel call. Use heuristics based on timings for testcases on GT200 to determine the number of planes to process per kernel call.
    • removed commented out code in create_unique_paramlist()
    • Cranked version number
  • VMD 1.8.7 beta 1 (April 29, 2009)
    • Prevent machines without CUDA from creating an empty device pool.
    • Prevent MacOS X systems with no CUDA drivers/devices from catching the emulation device
    • updated list of authors
    • Added display of third line of authors that have made significant contributions to the code in the main VMD executable. (contributors of plugins aren't listed, as they get their credits elsewhere)
    • ILS: Check for errors from create_unique_paramlist(). Set upper bound on unique atom types to 200 so that our naive search never devolves into a quadratic algorithm. Allocate less memory for temp storage, perform fewer sqrtf()s. Typecast float* arrays to flint* so that we can perform equality comparison between ints rather than floats. Check validity of VDW parameter types. Left old version of create_unique_paramlist() commented out, just in case.
    • seqedit: removed debug line that had slipped through
    • Disabled 3dconnexion driver code for MacOS X builds until it has been completed and fully tested. Enabled CUDA by default for MacOS X 10.5.x builds.
    • MSM: Corrected non-portable use of "uint" type that was preventing compilation of the CUDA kernels on MacOS X 10.5.x.
    • Silence CUDA error/warning messages that can occur with mismatched driver versions, as this is apparently common with machines running linux distributions that install NVIDIA drivers (and thus libcuda.so) despite lacking an actual NVIDIA GPU.
    • Updated plugin build script for change of NCSA cobalt login node name
    • Changed AIX5 builds to tune for Power5 processors by default
    • changed version to be more verbosely a beta version, to prevent people from continuing to run the beta revs for months on end.
    • ILS CUDA: Better error reporting, does one plane, limit slabs to two planes
    • volmap compare: Histogram of error in map 1 relative to map 2
    • Added code to handle newer style LAMMPS native trajectory files based on suggestion from Lutz Maibaum. The change in LAMMPS will finally allow to detect the content of the trajectory file, so support for custom style trajectory files can be implemented and will follow soon. Fix incorrect variable declaration for write file descriptor.
    • enhanced error messages for psipred. Still not good... but better..
    • ILS: Moved sync threads to after early exit of entire thread block. Improved performance for exclusion optimizations by reducing shared memory use to within 4K, by decreasing number of conformers per loop from 8 to 5.
    • revved required Tachyon version number for new fog features.
    • ILS: Change exclusion logic for (commented out) warp vote. Add test for thread block early exit to monoatom kernel. Using distance-based exclusion testing is too slow (for slices). Is the exclusion distance too large (at least for xenon example)? Disabled distance-based exclusion check.
    • ILS: Changed logic from 'inclusion' back to 'exclusion'
    • fixed typo in fog rendering mode
    • Enable built-in "TachyonInternal" rendering for Windows builds, using multi-core enabled Tachyon.
    • Cause Tachyon renderings to use planar Z-depth based fog coordinates rather than the more physically correct radial fog, since this will much more closely match what users see in the VMD OpenGL display.
    • eliminated old VolMap.C file from Win32 builds
    • ILS CUDA: Enabled thread work compaction for exclusions. Fixed by adding missing sync threads.
    • Various updates to please GCC 4.1.x.
    • Rewrote color scale function to avoid undefined compiler behavior.
    • Added default case for eye position switch block to please GCC 4.1.x
    • ILS CUDA: Have early exit optimization for thread block enabled. Have thread work compaction in thread block disabled (gives wrong results).
    • Enabled thread pools for Win32 builds, since the condition variable implementation adapted from Tachyon has been working fine so far.
    • Added conditional compilation ifdefs for BUILD_STANDALONE to allow compilation of the ILS module outside of VMD. At present, there are many dependencies on other VMD data structures, but the intent is to gradually address these one at a time until it's runnable.
    • eliminated old dependency on config.h for DEF_VMDTMPDIR, as this was only really used as a method of last resort.
    • Added method for specifying optional probe symmetry.
    • Platform-specific temporary directories are now dealt with purely in the hard-coded utility routines, since it was already the case that the configured directory was only used as a method of last resort.
    • more work towards standalone builds
    • Added include of stdlib.h for standlone ILS builds that need RAND_MAX
    • Added CUDA kernels to find distance- and energy-based exclusions. Note that the performance is lower because the multiatom occupancy code doesn't yet take real advantage of having the exclusions.
    • removed bogus "color rgb" command listed built-in help, leftover from some incomplete cleanup from one of Jordi's previous revs.
    • ILS: Allow probes with more than 2 atoms.
    • removed some commented out lines
    • commented out a couple of debug statements that had slipped through.
    • Optimized monoatom kernel using techniques from multiatom kernel
    • Changed 3D bin offset index into "flattened" offset for 1D atom bin array. This reduces register counts of both kernels, aligns constant memory access to int, and removes 2 int multiplies from loop over atom bins.
    • Removed USE_FLAT_OFFSET macro and alternative code paths, all code paths use this optimization now. Startup code in multiatom kernel replaces as many int mults as possible with bit shifts and __umul24() calls. Fixed host code to process thick slabs whenever DO_ONE_PLANE macro is "off.'
    • Added a couple of comments about decreasing register use in multiatom kernel
    • ILS: Optimized multiatom CUDA kernel. Eliminated as many int multiplies inside loops as possible. Loop over fixed number of conformers and correctly sum results of padded list of conformers when calculating occupancy. Much better performance now.
    • gaussian/cpmdlogplugin: Step one in adapting gaussian and cpmdlog file plugins to the updated molfile QM infrastructure: adjusted internal data structures and implemented reader test routines. wavefunction parser still incomplete, but no more segfaults on the simple tests.
    • Removed old multiatom kernels. Renamed kernel cuda_occupancy_multiatom_final to cuda_occupancy_multiatom.
    • Fixed a loop range bug and made the memory clearing code run faster by reducing the maximum number of iterations taken in the allocator.
    • Changed CUDA device pool function names to be more palatable in reusable code.
    • ILS: removed ATOMTRANS code, calculate all interactions on untranslated positions
    • Enable clearing of all CUDA device memories (global and constant memory) on program start.
    • Optimized inner loops of multiatom_final() for better performance.
    • Added new source file with CUDA memory clearing code
    • Added a new CUDA utility routine to allocate and clear all accessible device memory (both constant memory and global memory) to aid in debugging.
    • multiseq: added in an error box if you choose to predict secondary structures and things haven't been set up. You are now notified of what is wrong.
    • ILS: Added cuda_occupancy_multiatom_final() CUDA kernel. This version has shared memory summing of conformer potentials. The loop unrolling of "_clean()" have been removed along with all of the related macros. This "final()" will be our new base version for optimizing the inner loops over the probe atoms.
    • ILS: Added shared memory accumulation of conformer potentials. Unfortunately, this is not working with loop unrolling, so it's disabled. Also renamed conditional macro USUM to more descriptive SHMEM_SUM_CONFORMERS.
    • multiseq: removed a debug line that had slipped in
    • topotools: added checks for supported atom styles and writing out atom types and residue names to lammps data files as comments, if available.
    • topotools: added a special case for adding bonds to an "all" selection resulting in massive speedups.
    • added some code that sets the text color in the boxes in the main MS window to hopefully be of a higher contrast than what we had before. Right now, the code is doing an ^, but I played around with adding and modding, but got the same values.
    • avoid parameter name collisions with AIX5 "hz" macro
    • stamp: removed completely bogus use of strcat in a function
    • Updated plugin build scripts for IBM AIX on the "Blue Print" test machine.
    • Beginning of beta builds. Still have a several nagging known buglets to fix, but we're getting close.
    • timeline: Version bump to 2.0
    • Added code for use of pinned memory (but disabled currently) for orbital kernels
    • multiseq: fixed a couple of slider bars that were allowing 0% to be returned, which didn't make any sense
    • Fixed indentation for measure symmetry.
    • multiseq: added in some error checking for the user when they import data. Now tells them if they chose file with files listed, and if they choose BLAST without a database being given.
    • Added an explicit synchronization at the end of each work block so that asynchronous kernel launches and I/O's don't allow one GPU to grab more work than it should resulting in load imbalance.
    • Optimized the orbital kernel memory copies to reduce overhead
    • Changed the CUDA molecular orbital kernels to use the blocked work distribution mechanism for improved performance.
    • Added blocked work request routines to the on-demand thread launch mechanism as well, to ease migration between use of the thread pool and use of on-demand spawned threads.
    • Eliminated outdated Tcl command options. Added arguments to specify probe completely without atom selections using just Tcl lists.
    • Eliminate unnecessary dependencies in pbc measure routines
    • Peel away unnecessary dependencies in timestep class
    • added documentation for "order" flag to "measure fit".
    • Started working on standalone build of top level ILS driver routines
    • Improve performance in multiatom by unrolling inner loops over probe atoms. For now, restrict CUDA grid from slabs to slices.
    • Fix memory leak when using "measure fit" with "order" as reported by chris macdermaid.
    • ILS: Removed user specified selection and all its dependencies.
    • Started making ILS independent of AtomSel.
    • volmap: Fixed bug calculating "meanrange". Report elements producing max difference
    • gamessplugin: Protected printing of atomic numbers and other info with debugging macro
    • silence debugging output in GAMESS plugin by default
    • silence various debugging messages in the QM code, except when the macro DEBUGGING is defined
    • ILS: removed various debugging code that's been turned off for a while.
    • Removed more unnecessary dependencies in ILS code
    • Started trimming unnecessary dependencies out of the ILS code to make it easier to form a standalone app from the same source code.
    • bugfixes and some cleanup.
    • Added shared iterator block request routines for use by CUDA codes that may want multiple work units at a time for improved overlapping of communication and computation, and for use in scheduling work across both CPUs and GPUs, or GPUs with a large variation in the SM count where different work scheduling chunk sizes are appropriate.
    • corrected shared iterator increment logic
    • Rewrote shared iterator routines in prep for caller-requested increment (e.g. block size for work distribution).
    • Changed CUDA device pool initialization code to limit max number of device worker threads to the maximum CPU core count we're allowed to use.
    • Started redesigning the dynamic load balancing routines so that they can be used to schedule work not only round-robin, but with blocks, and to allow the worker threads to request an efficient block size based on the attributes of their associated CPU and/or GPU accelerator.
    • ILS: Removed outdated argument to the volmap ils command.
    • ILS: Use the molfile_plugin interface to write the DX file instead of Jordi's copy of the dx writer in VolmapCreate.
    • Replaced SAFESTRNCPY() macro in write_volumetric(). It was designed to work with two statically allocated arrays but SAFESTRNCPY fails here because sizeof(name) is just the size of the pointer and not the size of the allocated memory.
    • ILS: debugging code, clean version of multiatom, calculate cuda expf()
    • ILS: fixed max_energy parameter to compute_allatoms(), plus some disabled printfs
    • ILS: Removed unnecessary -margin argument.
    • ILS: Get rid of too much debuggihg output. Change Max. energy default to 87 which is the machine limit on the GPU. Simplify the class interface.
    • ILS: Fixed code for combining frames and for downsampling the final map. Added safety checck, preventig to run ILS with a num_conf larger than 1 for monoatomic probes.
    • cleaned up some error messages to make them more obvious
    • cleaned up some error messages to make them more obvious, and removed a puts that had slipped through
    • fixed a bug that was occuring if you did a select, shift-select, control-select, control-shift-select
    • had an proc call that wasn't doing anything. Got rid of it
    • decreased DEFAULT_EXCL_DIST for CPU multi-atom to agree with all atom check
    • removed VolMap.[Ch] from the build since they are no longer used
    • Fixed noop in volmap compare.
    • changed conditional expression to please GCC 4.3.x
    • Added parens around conditional evaluations to please GCC 4.3.x
    • multitext: updated docs to show example calls
    • removed the old "textview" plugin from the build/distribution since it has been superceded by the new "multitext" plugin.
    • Updated all of the package version numbers for the new MultiSeq plugins.
    • removed outdated/unneeded MultiSeq plugins from the top level Makefile: colorbar, plotter, and simpleedit
    • ILS: Reorganized constant memory so that everything is stored in first 8K page except for arbitrarily long array of conformers that follow. Load parts of conformers array from constant memory into shared memory, based on NCONFPERLOOP (looks like optimal value is 8). Enabled code path in which first warp cooperatively performs the loading, making sure that we no longer access first 8K constant memory block as we load the conformers. Performance is only a mildly better, not approaching the factor of 2 improvement that earlier tests showed might be possible.
    • import new version of MultiSeq code from ZLS and all attendant plugins.
    • psfgen, autoimd: Set CVS to ignore files created during latex compilation
    • Cranked version
  • VMD 1.8.7a63 (March 31, 2009)
    • Updated the MSVC6 build settings to enable multithreading now that the Win32 threading primitives have caught up with the POSIX threads implementation.
    • Fixed a bug in alchemical system handling in the maeff plugin.
    • Molecule writes should set molfile_timestep::physical_time
    • ILS: corrected missing conditional compilation logic for CUDA vs. non-CUDA builds.
    • ILS: Migrated the function prototype for vmd_cuda_evaluate_occupancy_map() to the CUDAKernels.h header with all of the others.
    • ILS: Test use of constant memory. (Test is disabled.) Shows that performance significantly impacted by not restricting constant memory reads to a single 8K page.
    • ILS: Added to multiatom inner loop to accumulate energies for 8 conformers to shared memory, reducing number of bin neighborhood loads by a factor of 1/8. Unfortunately this does not improve performance for "gpu_small" test case, and slows performance if this number of conformers is increased or decreased.
    • ILS: Sync CUDA API calls to gaurantee timing values for kernel execution are correct.
    • switched plugin builds from asuncion to sundemo until asuncion is reinstalled
    • ILS: Added CUDA kernel for multi-atom case
    • ILS: CUDA on single GPU is working for ILS monoatom case. Fixed bug calculating num_unique_types. Fixed several bugs in original CUDA routine.
    • Restrain secondary structure of selction 'extended_beta' instead of 'sheet' to prevent restraining beta bridges.
    • namdgui bug fix, wouldn't run simulations due to an apparently missing "variable fixedatoms" line while writing temporary files... this line has been added
    • misc cleanup in Win32 condition variable implementation
    • Added condition variable routines for pthreads and Win32 builds, and rewrote the run_barrier primitive to use them. The Win32 condition variable implementation is based off of one of three basic approaches. The best approach is to use the new native condition variable primitves in MS WS2008. The other two implementations are my own variation of Doug Schmidt's approach as described in his white paper. One of these uses mutexes as in Schmidt's paper. The other implementation instead uses the Win32 Interlocked[Inc/Dec]rement() APIs for (hopefully) better performance and scalability. Neither Win32 implementation is fully tested yet, but this is a start.
    • Changed bin offsets array from int to char to reduce memory use
    • Added Win32 code to delete the critical section
    • Enabled multithreaded Windows builds for MSVS2005.
    • Renamed the atom parser WORD, INT, FLOAT, and ERROR macros/enums to avoid conflicts with Windows system headers
    • Added mutexes for Win32 thread-enabled builds
    • Protected CUDA device barrier code so it's only used in a CUDA build and not in non-CUDA builds.
    • renamed "rad1" and "rad2" to avoid namespace conflict with Windows headers needed for multithreading stuff.
    • renamed parameter "rad2" to avoid namespace conflict with Windows headers needed for multithreading stuff.
    • ILS: remove atom translation in the CUDA version for now
    • ILS: Add CUDAVolMapCreateILS.cu to CUDA enabled builds
    • Cranked version
  • VMD 1.8.7a62 (March 18, 2009)
    • Added all of the orbital classes to the MSVC 6.x builds and enabled the orbital representation in the GUI.
    • Fixed missing include for QMTimestep.h which was upsetting MSVC 6.x
    • Added a workaround for lameness in the Windows version of Tcl 8.5.x where it is unable to find it's library directory.
    • Enabled the orbital representation in the MSVS2005 builds
    • Added and enabled the molecular orbital code to the MSVS2005 project
    • Commented out wavefunction printing since MS Windows lacks both the log2f() and log2() math functions.
    • improved floating point consistency in the CPU orbital code
    • Changes to Tcl 8.5.x require (on MS Windows at least) that console output be done using the new Tcl_WriteChars() routines, and not with Tcl_Write() as had been done in the past. Calling Tcl_Write() with character strings in the new 8.5.x versions for Windows results in gibberish output otherwise.
    • Added carbohydrate related source files, and enabled various of the option build flags that hadn't been turned on yet in MSVS2005.
    • Updated MSVS2005 project with recently added source files
    • volmap: Corrected missing include of Inform.h
    • Corrected missing ifdefs for carbohydrate analysis code
    • Added CUDA device pool code to the Win32 builds
    • Only destroy the CUDA device thread pool in threaded builds
    • corrected inconsistent use of floating point types
    • Silence debugging output from CUDA device thread pool initialization. Only initialize the thread pool when building a threaded version.
    • Added support for the python version of Axel's "mol new atoms" structure building feature.
    • Added a linux sharedlib build target
    • corrected a comment
    • Applied AK's fix for the csh startup script invocation of the 'rlwrap' tool.
    • AK's bugfixes/cleanup in topotools and support for reading velocities from lammps data.
    • Removed all of Jordi's original implementation.
    • Translate atoms by origin when hashing into bins.
    • Disabled the "workaround" for the supposedly wrong cell dimensions. Some cleanup.
    • ILS: Use "max_energy" to set energy threshold. The exclusion distance given by "clashcutoff" is too large!
    • ILS: Removed original implementation, now superseded by ComputeOccupancyMap. Updated atom_bin_stats() and write_bin_histogram_map().
    • ILS: Cleaned up the rest of ComputeOccupancyMap. Correctness has been validated and the code path is enabled.
    • ILS: Improved profiling of new code for computing a frame. Cleaning the new ComputeOccupancyMap codes.
    • ILS: Fix grid cell spacing and offset problem.
    • ILS: Fixed bug in averaging occupancy for multi-atom conformers. Patched all atom algorithm to work for the mono-atom case. Reduced default exclusion distance.
    • ILS: driver code to invoke slow quadratic complexity algorithm to check correctness
    • ILS: finished computation routines for ComputeOccupancyMap
    • Allow a new molecule to be constructed containing N "empty" atoms. This makes it much easier to build molecules from scratch (avoiding reading dummy files or the like) in structure building plugins. This adds a new "mol new atoms N" command that will create a molecule containing N atoms, but with no data set for the atoms initially.
    • clamp PDB residue name length output to the fixed field width.
    • ILS: compute_allatoms() quadratic complexity algorithm for checking correctness
    • Don't automatically recalc secondary structure when the molecule is reanalyzed, instead, merely invalidate it and let the rest of the code act appropriately.
    • Changed the bond search code so that in the case when we're asked to use the atom radii to compute the distance cutoff, we use an effective minimum radius of 0.833 A, which leaves the bond search code in a comfortable parameter range, otherwise we could get fed atom radii of 0.0 which would cause hanging behavior in the case of a molecule with explicit radii set to zero.
    • change hydrogen atom type logic to deal with atoms with NULL names.
    • AK's topotools typo fix.
    • Changed the molecular orbital kernel to use the VMD CUDA device pool rather than spawning new child threads for each device on every invocation.
    • Added code to manage pools of host threads that are already attached to GPUs and can be woken from sleep and launched with much lower latency than newly created threads that aren't yet attached to a GPU.
    • Added support for both blocking and non-blocking variants of the threadpool launch call and a matching wait call.
    • Save the device index with the property list
    • made threadpool preprocessor checks deal with Win32 builds that may have threads enabled, but where we currently lack an implementation of the run barrier code.
    • minimally functional thread pool
    • added find energy exclusions to ComputeOccupancyMap
    • make threadpool launch routines in non-threaded builds, so we can use a single code path in the calling code.
    • make new threadpool routine compile on non-threaded builds
    • tweak handling of thread parms in the run barrier construct
    • Applied Axel's updates for topotools
    • AK's patch: another round of bashism removal in bourne shell launch script.
    • ILS: added find distance exclusions to ComputeOccupancyMap
    • partial thread pool implementation
    • Added draft version of a run barrier for use in implementing a thread pool construct. Misc cleanup elsewhere.
    • ILS: finished setup for ComputeOccupancyMap
    • ILS: code (commented out) in compute_frame that will use ComputeOccupancyMap
    • ILS: algorithm to choose bin size based on map spacings
    • ILS: bundling occupancy map computation data as a struct - here are the definitions
    • ILS: Remove some debugging output. Add routine to print the binning histogram to a dx file. Fix unwanted behaviour when selecting atoms for ils.
    • Differentiated the process-shared version of the symmetric counting barrier from the process-local version, since we may want to use these as a component of a thread pool abstraction, the difference in performance is substantial.
    • ILS: fix inconsistent preprocessor defines for static routine for histogramming the atom bins.
    • changed the FreeVR code to use its own env variable for hard-setting the number of draw processes (for debugging)
    • corrected a bug in the thread barrier destroy call for the version used in VMD
    • ILS: for debugging: print out before and after min/max values
    • ILS: changed floor to floorf.

This document provides links to the product documentation in the Information Centers and PDF publications for InfoSphere Classic Change Data Capture for z/OS, InfoSphere Classic Federation Server for z/OS, InfoSphere Data Replication for IMS for z/OS, and InfoSphere Data Replication for VSAM for z/OS.

Product information is available in the following Information Centers and in PDF format.

Knowledge Center Collections for Version 11.3
Knowledge Center Collections for InfoSphere Classics products

PDF documentation in English for Version 11.3
PDF documentation for InfoSphere Classic Change Data Capture for z/OS


PDF documentation for InfoSphere Classic Federation Server for z/OS
PDF documentation for InfoSphere Data Replication for IMS for z/OS
PDF documentation for InfoSphere Data Replication for VSAM for z/OS

Knowledge Center Collections for Version 11.1
Knowledge Center Collections for InfoSphere Classics products

PDF documentation for Version 11.1
PDF documentation for InfoSphere Classic Change Data Capture for z/OS

Title

Language and Order Number

InfoSphere Classic Change Data Capture for z/OS Quick Start Card

English
GC19-4188-00

InfoSphere Classic Change Data Capture for z/OS Program Directory

English
GI10-8986-00

InfoSphere Classic Change Data Capture end user documentation

English
SC19-4172-00


PDF documentation for InfoSphere Classic Federation Server for z/OS
PDF documentation for InfoSphere Data Replication for IMS for z/OS

Title

Language and Order Number

InfoSphere Data Replication for IMS for z/OS Quick Start Card

English
GC19-4184-00

Installation Guide for IBM InfoSphere Data Replication for IMS for z/OS

English
GC19-4173-00
Japanese
GA88-7222-00

InfoSphere Data Replication for IMS for z/OS Replication Guide and Reference

English
SC19-4174-00
Japanese
SA88-7240-00

System Messages for IBM InfoSphere Data Replication for IMS for z/OS

English
GC19-4175-00
Japanese
GA88-7219-00
Simplified Chinese
G151-2123-00

InfoSphere Data Replication for IMS for z/OS Program Directory

English
GI10-8984-00


PDF documentation for InfoSphere Data Replication for VSAM for z/OS

Title

Language and Order Number

InfoSphere Data Replication for VSAM for z/OS Quick Start Card

English
GC19-4186-00

Installation Guide for IBM InfoSphere Data Replication for VSAM for z/OS

English
GC19-4176-00
Japanese
GA88-7223-00

InfoSphere Data Replication for VSAM for z/OS Guide and Reference

English
SC19-4177-00
Japanese
SA88-7239-00

System Messages for IBM InfoSphere Data Replication for VSAM for z/OS

English
GC19-4178-00
Japanese
GA88-7220-00
Simplified Chinese
G151-2124-00

InfoSphere Data Replication for VSAM for z/OS Program Directory

English
GI10-8985-00