DEVELOPMENT 1) ssh to sasn100.sandia.gov Use your Kerberos password 2) Add the following lines to your .cshrc file: setenv TFLOPS_XDEV /usr/local/intel/tflop/current set path = (. /usr/home/wehart/bin $path $TFLOPS_XDEV/tflops/bin.solaris /cougar/bin) 3) Check out pico using 'rcvs'. This executable is in /usr/home/wehart/bin, and it's a wrapper for cvs that uses ssh. You need to provide the rutgers password for the 'wehart' account every time you use this utility. rcvs checkout pico 4) The configuration information for pico should be setup for Janus, but if not, CPLEX is located in /usr/home/wehart/packages/CPLEX 5) Configure pico with configure --with-mpi --with-cplex --site=sasn100 --target=cougar and the compile with make You can make updates the repository as usual, using rcvs. Keep in mind that you need to provide your rutgers password every time you do a cvs operation. RUNNING JOBS 1) ssh to janus Use your Kerberos password 2) To launch a job parMIPTest interactively, yod -sz [#procs] parMIPTest Note that when you launch a job, you are dragging the executable from the user partition to the compute nodes. This is not an efficient operation, and it eats up system resources. Thus if you are doing a lot of I/O, you should move your executable to one of the raid disks. NOTE: I don't know exactly where these disks are... 3) To see whether there are free nodes available and to see whether your job is running, do showmesh -s At the bottom of this printout is a list of the current users, each of which is assigned to a particular letter/symbol. 4) To submit a job to a queue, you need to (a) create a script and (b) use the NQS qsub utility to submit it to an appropriate queue. Here's an example of a qsub script: #!/bin/csh ## ## Show when the script started ## date ## ## There are a lot of these MPI parameters on Ron Brightwell's MPI page: ## http://www.cs.sandia.gov/~bright/mpi/Options.html ## setenv MPI_HEAP_SIZE 1000000 ## ## CD to the directory where the code you are going to yod is located ## cd /Net/usr/home/wehart/pico/src/example ## ## Run YOD indicating the number of processors ## yod -sz 1 serialMIPTest /Net/usr/home/wehart/pico/etc/mpsfiles/other/tinymatchingint.mps ## ## FILE END ## To use this script, you use QSUB: qsub -lT [#seconds] -lP[#procs] -q naq.day -eo -ro nq Here, -eo and -ro builds intermediate output files and nq is the script name. This will create a file like nq.34890, which contains the output. The two queues that we can use are naq.day for jobs during the day naq.long naq.express naq.big These different jobs impose different constraints on the run time and job size. I think that naq.day is time = 3600 sec, num. proc. = 100. I don't know where the official list of queues is located. 5) To check on the status of a queued job, use qstat or qstat -v to look at all of the queued jobs. I've found that you can fit in short jobs even while longer jobs are waiting.