Condor: Submitting a Standard Universe Job
How to submit a Standard Universe job on CAE Linux and Sun computers
To submit jobs to the Standard Universe, you'll need to relink your programs with the Condor libraries. This is done using the condor_compile command. To use condor_compile, simply enter "condor_compile" followed by whatever you would normally enter to compile or link your application.
> condor_compile gcc -O -o program1 program1.c -lm > condor_compile make > condor_compile g77 -O program1.f
To be sure that your code is compiled for Condor, run it from the command line.
> ./program1 Condor: Notice: Will checkpoint to ./program1.ckpt Condor: Notice: Remote system calls disabled.
You should see the two Condor: Notice: lines above. If you do not see the Condor: Notice: lines, your executable has not been properly linked with the condor libraries.
Next you will need to create a submit file to tell condor about the job.
A job is submitted for execution to Condor using the condor_submit command. condor_submit takes as an argument the name of a file called a submit description file. This file contains commands and keywords to direct the queuing of jobs. Items such as the name of the executable to run, the initial working directory, and command-line arguments to the program all go into the submit description file.
Here is an example submit file:
# # Submit a Vanilla Universe Job # Executable = program1 Arguments = 10 100 Universe = vanilla Getenv = True Log = program1.log Output = program1.out Error = program1.err Input = program1.in Queue 1
Explaination of this file:
The Executable line specifies the executable name (relative to the current working directory.) The second line gives the command line arguments to pass, which in this case is "10 100". The Universe and Getenv lines indicate that we are running a standard (Condor-compiled) program that should have the standard environment variables set just as if it were running from an interactive shell. The Log through Input lines specify I/O files relative to the current working directory. Finally the Queue line means submit 1 job. You could include multiple Queue lines in the file, telling Condor to submit the job multiple times with different input files.
A more complicated example:
# # Second example to submit a standard universe job # Executable = foo Requirements = Memory >= 600 && OpSys == "LINUX" && Arch =="INTEL Universe = standard Error = err.$(Process) Input = in.$(Process) Output = out.$(Process) Log = foo.log Queue 150
This will submit 150 runs of the program foo to any x86 linux machine with more than 600 MB memory. The I/O files are seperate for each run and are named err.0 , in.0 , err.0 through err.149 , in.149 , err.149 .
For more detailed information on creating submit description files, see the Condor Documentation.