info:user_guide

# COR@L User Guide

This page contains instructions and guidelines for COR@L users for accessing the resources available in the laboratory. These instructions are far from comprehensive but represent a basic guide for getting started. We hope you find these guidelines to be helpful on your path to becoming an expert on the tools you need in your research. Feel free to contact Suresh Bolusani if you have any questions or suggestions for additions to this page.

## Getting Started with Linux

If you are new to Linux, then you may find the following links to be useful.

## Logging into COR@L

Every user with a COR@L account can access the machines listed here using her/his username and password. However, if you are outside Lehigh’s network, then you need to log into shark.ie.lehigh.edu or coral.ie.lehigh.edu and then ssh into another machine on the list. Please keep in mind that shark is the file server and coral is the web server. Therefore, these two machines should not be used for big and/or long running jobs. If you have such a job, then please use another computer in the list.

#### Linux users

If you are a Linux user, then logging into COR@L is straightforward. The following command uses ssh, which is typically available on standard Linux distributions:

ssh username@machinename.ie.lehigh.edu

Your COR@L username and password are the same for all machines. COR@L uses NIS to manage passwords, so passwords can be at most 8 characters long. Any extra characters will be ignored. If you wish to change your password, then do not use the passwd command. Use yppasswd instead.

#### Windows users

If you are using Windows and want to sign into a COR@L machine, then you need to install an ssh client first. There are several free software options. You can check Wikipedia for more information about your choices. A common free ssh client is putty, which can be downloaded here. This ssh client is easy to use and it is well documented here.

Back

## Compiling Programs

Eclipse is available on all machines. Use gcc to compile C programs, g++ to compile C++ programs, and f77 to compile Fortran programs. gdb may be used for debugging. valgrind may be used to check for memory leaks. [Purify/Quantify] are also available for checking memory leaks and for profiling.

## Optimization Software

Below is a list of the tools available for supporting optimization research at COR@L.

• COIN-OR
• CPLEX
• EXPRESS
• GLPK
• GUROBI
• MOSEK

• AMPL
• GAMS
• PULP

Back

## Coin-all in mac

This is a description of the steps followed to install coin-or on a OS X Mountain Lion using macports:

1. Install macports, there is a nice installation guide in this link
2. Install gcc47: To do this open a terminal and type “sudo port install gcc47″.
3. Install subversion: “sudo port install subversion”.
5. Move to directory coin-all and do “mkdir buildmac”
6. Download all the Third Party sources. Got to the ThirdParty folder and run the get script for: ASL, Blas, Lapack, Mumps, Metis, Glpk
7. Move to the directory buildmac
8. Run the configure script (This command is taken from link):
../configure –disable-shared F77=gfortran-mp-4.7 FFLAGS=”-fexceptions -m64 -fbackslash” CFLAGS=”-fno-common -no-cpp-precomp -fexceptions -m64″ CXXFLAGS=”-fno-common -no-cpp-precomp -fexceptions -m64″
9. make tests (the DyLP test fails, rename the folder DyLP/test to DyLP/test.back if you want to run the other tests)
10. make install, remember that you need to use the option -prefix=/path/to/install if you want to specify a particular path to install the binaries

## Using CONDOR on COR@L

Also, check the main thread: CONDOR

• To submit a job to the condor pool you need a condor.sub file similar to this one:
 ################################################################################# # This line is important to get the license variables of mosek, cplex and others # This line is needed only once in the file getenv = TRUE # This is the standard universe, this should work fine with most of the tasks # This line is needed only once in the file Universe = vanilla # This is where you specify the executable you want to use # Advice: absolute paths will ensure that you are using the file you want Executable = mosek # This is where you put the arguments for the executable arguments = -into r12c15k5i10.sol r12c15k5i10.mps # This tells condor where to place the outputs it can generate, they are really useful to identify # if there are problems with the job you are trying to run Output = r12c15k5i10.out Error = r12c15k5i10.err Log = r12c15k5i10.log # This instruct condor to put the job in the queue queue # You can put as many jobs as you need repeating the same lines with different information # Notice that you don’t need to specify the executable again, unless you want to use a different # file 

arguments = -into r12c15k5i15.sol r12c15k5i15.mps Output = r12c15k5i10.out Error = r12c15k5i10.err Log = r12c15k5i10.log queue ####################################################################################################### 

• Once you have your condor file you can send it to the pool with the command “condor_submit condor.sub”
• To check the status of the job you run “condor_q -global” and your username will appear under the column owner for the jobs you are currently running
• To kill a job you use the command “condor_rm ID”, where ID is the number in the ID column of the output of condor_q associated with the job you want to remove. You can remove only those jobs you are the owner.