VMD 1.9.3

Dependencies

  • Cuda 8.0
  • GCC 5.4.0
  • Python 2.7.15
  • TCL 8.5

Installation

  1. Get source code from https://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD.

    Note

    Yo hould register before download it.

  2. Create a folder for VMD and decompress tar file. It will take out two folders (vmd-1.9.3 and plugins)

    $ tar -xvf vmd-1.9.3.src.tar.gz
    
  3. Go to vmd-1.9.3 folder and create a new directory called plugins and save the path to it because it will be used in the following step.

    $ cd vmd-1.9.3
    $ mkdir plugins
    
  4. Before starting the compilation of vmd, we should compile plugins in the following way in the folder called plugins that was extracted in the first step.

    $ cd plugins
    $ module load netcdf/4.5.0_intel-17.0.1
    $ module load gcc/7.4.0
    $ export PLUGINDIR=<path_to_new_folder_plugins>
    $ make LINUXAMD64 TCLINC=/usr/include TCLLIB=/usr/lib64/libtcl.so
    $ make distrib
    
  5. Return to vmd-1.9.3 folder and edit configure.options file according to the tools and dependencies to use during the compilation.

    $ vim configure.options
    $ LINUXAMD64 CUDA TCL PYTHON PTHREADS NUMPY ICC
    
  6. Edit configure file and change the path of $install_bin_dir and $install_library_dir with the location bin and lib directories of vmd.

    $ vim configure
    $ $install_bin_dir="<path_to_bin_vmd_dir>";
    $ $install_library_dir="<path_to_lib_vmd_dir>";
    
  7. Run configure script.

    $ ./configure
    
  8. Go to src folder and edit the Makefile.

    $ cd src
    $ vim Makefile
    

    Note

    This file has a lot of paths that are not compatible because they are burned into the file.

    • Put the correct path for the following variables: INCDIRS and LIBDIRS.
    INCDIRS = -I/share/apps/python/2.7_miniconda-4.5.4/include/python2.7 -I/share/apps/python/2.7_miniconda-4.5.4/lib/python2.7/site-packages/numpy/core/include -I/usr/include -I../plugins/include -I../plugins/LINUXAMD64/molfile -I.
    LIBDIRS     = -L/share/apps/cuda/8.0/lib64 -L/share/apps/python/2.7_miniconda-4.5.4/lib/python2.7/config -L/usr/lib64 -L../plugins/LINUXAMD64/molfile
    
    • Change NVCC binary with the correct path.
    NVCC = /share/apps/cuda/8.0/bin/nvcc
    
    • Put the correct architecture of Apolo in NVCCFLAGS, it is important to notice that the maximum verion of cuda that VMD supports is 8.0 so it is not compatible with Tesla V100 GPUs in Apolo. K80 GPUS is architecture compute_37 and sm_37 for arch and code variables.
    NVCCFLAGS   = --ptxas-options=-v -gencode arch=compute_37,code=sm_37 --ftz=true  --machine 64 -O3  -DARCH_LINUXAMD64 $(DEFINES) $(INCDIRS)
    
    • Also, change the GPU arthitecture in .cu.ptx section.
    $(NVCC) $(DEFINES) --use_fast_math -I-L/share/apps/cuda/8.0/include -gencode arch=compute_37,code=sm_37 -ptx $< -o ../LINUXAMD64/$@
    
    • Change python version in LIBS, by default it will have python2.5.
    LIBS = -Wl,-rpath -Wl,$$ORIGIN/ -lcudart_static -lpython2.7 -lpthread -lpthread  -ltcl8.5  -lmolfile_plugin -ll -lm -ldl -lutil -lrt $(VMDEXTRALIBS)
    
  9. Load modules needed for compilation and check dependencies.

    $ module load python/2.7.15_miniconda-4.5.4
    $ module load gcc/5.4.0
    $ module load cuda/8.0
    $ make depend
    
  10. Finish with compilation and installation. Notice that in the process you should create folders for bin and lib specified in step 6.

    $ mkdir -p /share/apps/vmd/1.9.3/bin
    $ mkdir -p /share/apps/vmd/1.9.3/lib
    $ make
    $ sudo make install
    
  11. Create the corresponding module of VMD 1.9.3.

    $ mkdir /share/apps/modules/vmd/
    $ vim /share/apps/modules/vmd/1.9.3
    
    #%Module1.0####################################################################
    ##
    ## module load vmd/1.9.3
    ##
    ## /share/apps/modules/vmd/1.9.3
    ## Written by Manuela Carrasco Pinzon
    ##
    
    proc ModulesHelp {} {
         global version modroot
         puts stderr "Sets the environment for using vmd 1.9.3\
                      \nin the shared directory /share/apps/vmd/1.9.3/"
    }
    
    module-whatis "(Name________) vmd"
    module-whatis "(Version_____) 1.9.3"
    module-whatis "(Compilers___) intel-17.0.1"
    module-whatis "(System______) x86_64-redhat-linux"
    module-whatis "(Libraries___) "
    
    # for Tcl script use only
    set         topdir        /share/apps/vmd/1.9.3
    set         version       1.9.3
    set         sys           x86_64-redhat-linux
    
    module load gcc/5.4.0
    module load cuda/8.0
    module load python/2.7.15_miniconda-4.5.4
    
    prepend-path    PATH                    $topdir/bin
    
    prepend-path    MANPATH                 $topdir/lib/doc
    

Authors