ONTAP-9 CIFS/SMB Configuration Express Guide

This is an pdf document on ONTAP-9 CIFS/SMB Configuration Express Guide



Compiling Wannier90-2.1.0 with Intel-MPI 5.1.3

Compiling Wannier90-2.1.0 is quite straight-forward.

Step 1: Download the source code from Wannier.Org at http://www.wannier.org/download.html

Step 2: Untar the tar-ball

$ tar -zxvf wannier90-2.1.0.tar.gz

Step 3: Copy and Edit the make file

$ cd wannier90-2.1.0/config
$ cp make.inc.ifort ..
$ cd ..
$ mv make.inc.ifort make.inc
# For Linux with intel version 11/12 on 64bit machines
F90 = ifort
# Intel mkl libraries. Set LIBPATH if not in default path
LIBDIR = /usr/local/RH6_apps/intel/mkl/lib/intel64
LIBS = -L$(LIBDIR) -lmkl_core -lmkl_intel_lp64 -lmkl_sequential -lpthread
#LIBDIR = /usr/local/lib
#LIBS = -L$(LIBDIR) -llapack -lf77blas -lcblas -latlas
$ make default -j 8
$ make lib
$ make w90chk2chk
$ make w90vdw
$ make w90pov
$ make test
$ make doc

IF you need to restart the compilation, you use the command

$ make veryclean

For more information, do take a look at

  1. http://www.wannier.org/doc/README.install
  2. http://www.wannier.org/

Compiling VTST Tools with VASP-5.3.5

Taken from VTST.Tools Installation Guide

The VTST•Tools has a fortran component which can be linked into the VASP code as well as a collection of scripts. Its CINEB has some improvement compared to the NEB method

Step 1: Download the VTST Code

Download the VTST Code (vtstcode.tgz) at http://theory.cm.utexas.edu/vtsttools/download.html 

Step 2: Download the files in vtsttools/source into your vasp source directory.

In my situation, I put it in /home/user1/vasp.5.3.5_impi_neb/vasp.5.3/

$ tar -zxvf vtstcode.gz
$ cd vtstcode-173
$ cp *.* ..

(Replace the chain.F with the new one)

Step 3: Edit main.F in the source file

Find and Replace




Step 4: Edit the Makefile

To build the code, the VASP makefile needs to be changed. Find the variable SOURCE, which defines which objects will be built, and add the following objects before chain.o

bfgs.o dynmat.o instanton.o lbfgs.o sd.o cg.o dimer.o bbm.o fire.o lanczos.o neb.o qm.o opt.o \

Step 5: Change and compile the Makefile

Please follow Compiling VASP-5.2.12 with Intel MPI-5.0.3


  1. VTST.Tools Installation Guide
  2. Compiling VASP-5.2.12 with Intel MPI-5.0.3

Testing the AD User Authentication with Centrify

Test 1: Test with SSH

The simplest way is to enable SSH and connect to it.

Test 2: Test with adinfo

# adinfo -A --user user1
Active Directory password:
Password for user "user1" is correct

Test 3: Test using kinit

# /usr/share/centrifydc/kerberos/bin/kinit user1
# /usr/share/centrifydc/kerberos/bin/klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: user2@test.com
Valid starting       Expires           Service principal


  1. Centrify is in connected mode but users are unable to login.

Resolving Unable to determine user account for execution

If you are facing this issue “Unable to determine user account for execution;”, it is likely casued by the fact that LSF cluster must be restarted if user authentication is switched from NIS to LDAP.

After user authentication method is switched from NIS to LDAP, all user jobs are pending with the pending reason: “Unable to determine user account for execution”.

If user authentication mode is changed, you have to restart LSF daemons on all LSF hosts for jobs to run successfully. On the LSF master master host do:

# lsadmin reconfig
# badmin mbdrestart
# badmin hrestart all


  1. LSF cluster must be restarted if user authentication is switched from NIS to LDAP

Packing serial jobs neatly in Platform LSF

Taken from Placing jobs based on available job slots of hosts

Platform LSF allowed you to pack or spread jobs as required. Before that, just a few terms to defined

  1. Packing means always placing jobs on the hosts with the least available slots first. Packing jobs can make room for bigger parallel jobs.
  2. Spreading tries to spread jobs out and places jobs on the hosts with the most available slots first. Spreading jobs maximizes the performance of individual jobs.

I will deal with one situation where I want to pack all the serial jobs neatly in as few nodes as possible.

But here are some terms from the LSF Wiki

The slots keyword represents available slots on each host and it is a built-in numeric decreasing resource. When a job occupies some of the job slots on the host, the slots resource value is decreased accordingly. For example, if MXJ of an LSF host is defined as 8, the slots value will be 8 when the host is empty. When 6 LSF job slots have been occupied, slots becomes 2. The slots resource can only be used in select[] and order[] sections of a job resource requirement string. To apply a job packing or spreading policy, you can use the order[] section in the job resource requirement. For example, -R “order[-slots]” will order candidate hosts based on the least available slots, while –R “order[slots]” will order candidate hosts based on the hosts with the most available slots.

To use ! in an order[] clause, you must set SCHED_PER_JOB_SORT=Y in lsb.params. To make the parameter take effect, run badmin mbdrestart or badmin reconfig on the master host to reconfigure mbatchd.

The following is an example of using the slots resource:
Step 1: Configure RES_REQ in a Queue section of lsb.queues.

Begin Queue
QUEUE_NAME = myqueue
RES_REQ = order[-slots]

End Queue

Step 2: Make the configuration take effects

# badmin reconfig

Step 3: Check whether the configuration take effects.

# bqueues -l myqueue
QUEUE: myqueue
RES_REQ: order[-slots]

You can also do it at the application level. For more information, please read the PLatfrom LSF Wiki


  1. Placing jobs based on available job slots of hosts