10-23-2007
qsub and Matlab
I am trying to run a Matlab function, file.m, with qsub. Here is a portion of my .sge file:
echo Starting to run Matlab
matlab -nojvm -nodesktop -r "file('${inputfile}');exit;"
echo finished running Matlab
The last two lines of the Matlab function are:
disp('finished');
exit
So my problem is this: The Matlab function runs fine, I haven't checked to see if it saves the .mat file, but the input file is what it should be, and it displays "finished" in the .o output file, and there are no errors. But I think that after it exits Matlab, UNIX doesn't know that it's finished because the "echo finished running Matlab" in the .sge file does not happen. It gets hung up after the "exit;" and stays in the "r" state when I qstat.
Does anyone have an idea of why this happens and how to fix it?
I can tell you that if I type in the "matlab -nojvm ..." line at the command line in my terminal, it runs fine, no errors, and exits Matlab like it should, and saves the .mat file.
What I don't want is to have to write a Matlab script...the codes right now are nice and compact and I have to pass an input file to the function. I could write a new UNIX script and just put the input file loop in the function and run it at the command line without qsub, but I've written this sge script and I'd like to see it work if it can.
Thanks.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hello,
I have a perl script that takes in one file of input and outputs to a file. I would like to run this script on several input files, and I would like to run it with qsub, something like this:
Input files:
FileListDssp.txt.numaa
FileListDssp.txt.numab
FileListDssp.txt.numac
etc..
... (1 Reply)
Discussion started by: InfoSeeker
1 Replies
2. Shell Programming and Scripting
Hey all,
I have a binary file, named "exe1" that receives a parameter. (I don't have its source code).
Executing "exe1" results in creating 3 output files.
I have a bash script that runs "exe1".
I want to enter "exe1" to cluster queue (using subq command)
But i want to do it more than... (1 Reply)
Discussion started by: elad2109
1 Replies
3. UNIX for Dummies Questions & Answers
I need to weight the regression I am performing on a data file. I am not using all the numbers in the file. Here are my variables:
Y = data(,1)
X has the same bracketed first term, and the second term is
I have eight different weights I want to give, one weight corresponding to two different... (0 Replies)
Discussion started by: kssteig
0 Replies
4. Shell Programming and Scripting
I was just wondering if it is permissible to qsub from a bash script as follows:
#! /bin/sh
echo "altering .txt in dir $DIR with retokenize.py"
for f in $DIR/txt/*.txt; do
echo $f;
/l2/nlp/i2b2/retokenize.py < $f > ${f//.txt/.tok};
done
echo "altering .tok in dir $DIR with awk... (0 Replies)
Discussion started by: kcgb20
0 Replies
5. UNIX for Dummies Questions & Answers
Hello,
I have some issue with qsub and the standard output : I launch a script that "echoes" the string "abc" and then executes a C program in which I print informations with the printf function ; the .o file contains "abc" but not the information displayed by printf. I also tried... (0 Replies)
Discussion started by: Shaderw
0 Replies
6. UNIX for Advanced & Expert Users
Hello. Hopefully this is the right forum, did a search and found some similar questions here.
I'm trying to find out if there is a way to get the job id while submitting a job using qsub. I want to monitor the list of active jobs using qstat and when my jobid is no longer on the active list, I... (3 Replies)
Discussion started by: aeoleon88
3 Replies
7. UNIX for Dummies Questions & Answers
"bsub -o /dev/null -P something -q normal -a optimize -n 1 -R \"rusage\ span\\" -J GUISETUP_${PID} \"dc_shell-t -f .dc_script_$job_index.tcl -output_log_file .dc_shell_$job_index.log \""
Can anybody please tell me the qsub equivalent for this command?
---------- Post updated at 06:48 AM... (0 Replies)
Discussion started by: chaudhary3031
0 Replies
8. UNIX for Advanced & Expert Users
Hi all,
Today, I want to ask how to submit multiple qsub jobs.
I want to submit 100 .sh files for the simulations.
The name of files is
run_001.sh,
run_002.sh,
run_003.sh,
.....
.....
run_100.sh
Submitting each file manually are time-consuming, hence, I want to make another .sh file... (11 Replies)
Discussion started by: syg3434
11 Replies
9. Shell Programming and Scripting
Linux Server
Hi!
just some help...
I'm using a "Sun Grid Engine" with "qsub"
In one hand I have this code
while read -r H; do echo ${H}; done < list
The number of the lines in the list file is 100.
On the other hand I want to create a job array with the option -t
echo... (3 Replies)
Discussion started by: echo manolis
3 Replies
10. Shell Programming and Scripting
Hello,
I'm working on a SGE cluster and trying to echo the variables passed to the qsub command.
My script is as follows
#!/bin/bash
#$ -V
#$ -cwd
#$ -pe make 10
if ; then
echo "Variable is not set"
else
echo "Variable says: $StatedUserName"
fi
and I run the... (1 Reply)
Discussion started by: nans
1 Replies
LEARN ABOUT DEBIAN
cmdtest
CMDTEST(1) General Commands Manual CMDTEST(1)
NAME
cmdtest - blackbox testing of Unix command line tools
SYNOPSIS
cmdtest [-c=COMMAND] [--command=COMMAND] [--config=FILE] [--dump-config] [--dump-memory-profile=METHOD] [--dump-setting-names]
[--generate-manpage=TEMPLATE] [-h] [--help] [-k] [--keep] [--list-config-files] [--log=FILE] [--log-keep=N] [--log-level=LEVEL]
[--log-max=SIZE] [--no-default-configs] [--output=FILE] [-t=TEST] [--test=TEST] [--timings] [--version] [FILE]...
DESCRIPTION
cmdtest black box tests Unix command line tools. Given some test scripts, their inputs, and expected outputs, it verifies that the command
line produces the expected output. If not, it reports problems, and shows the differences.
Each test case foo consists of the following files:
foo.script
a script to run the test (this is required)
foo.stdin
the file fed to standard input
foo.stdout
the expected output to the standard output
foo.stderr
the expected output to the standard error
foo.exit
the expected exit code
foo.setup
a shell script to run before the test
foo.teardown
a shell script to run after test
Usually, a single test is not enough. All tests are put into the same directory, and they may share some setup and teardown code:
setup-once
a shell script to run once, before any tests
setup a shell script to run before each test
teardown
a shell script to run after each test
teardown-once
a shell script to run once, after all tests
cmdtest is given the name of the directory with all the tests, or several such directories, and it does the following:
o execute setup-once
o for each test case (unique prefix foo):
-- execute setup
-- execute foo.setup
-- execute the command, by running foo.script, and redirecting standard input to come from foo.stdin, and capturing standard output
and error and exit codes
-- execute foo.teardown
-- execute teardown
-- report result of test: does exit code match foo.exit, standard output match foo.stdout, and standard error match foo.stderr?
o execute teardown-once
Except for foo.script, all of these files are optional. If a setup or teardown script is missing, it is simply not executed. If one of
the standard input, output, or error files is missing, it is treated as if it were empty. If the exit code file is missing, it is treated
as if it specified an exit code of zero.
The shell scripts may use the following environment variables:
DATADIR
a temporary directory where files may be created by the test
TESTNAME
name of the current test (will be empty for setup-once and teardown-once)
SRCDIR directory from which cmdtest was launched
OPTIONS
-c, --command=COMMAND
ignored for backwards compatibility
--config=FILE
add FILE to config files
--dump-config
write out the entire current configuration
--dump-memory-profile=METHOD
make memory profiling dumps using METHOD, which is one of: none, simple, meliae, or heapy (default: simple)
--dump-setting-names
write out all names of settings and quit
--generate-manpage=TEMPLATE
fill in manual page TEMPLATE
-h, --help
show this help message and exit
-k, --keep
keep temporary data on failure
--list-config-files
list all possible config files
--log=FILE
write log entries to FILE (default is to not write log files at all); use "syslog" to log to system log
--log-keep=N
keep last N logs (10)
--log-level=LEVEL
log at LEVEL, one of debug, info, warning, error, critical, fatal (default: debug)
--log-max=SIZE
rotate logs larger than SIZE, zero for never (default: 0)
--no-default-configs
clear list of configuration files to read
--output=FILE
write output to FILE, instead of standard output
-t, --test=TEST
run only TEST (can be given many times)
--timings
report how long each test takes
--version
show program's version number and exit
EXAMPLE
To test that the echo(1) command outputs the expected string, create a file called echo-tests/hello.script containing the following con-
tent:
#!/bin/sh
echo hello, world
Also create the file echo-tests/hello.stdout containing:
hello, world
Then you can run the tests:
$ cmdtest echo-tests
test 1/1
1/1 tests OK, 0 failures
If you change the stdout file to be something else, cmdtest will report the differences:
$ cmdtest echo-tests
FAIL: hello: stdout diff:
--- echo-tests/hello.stdout 2011-09-11 19:14:47 +0100
+++ echo-tests/hello.stdout-actual 2011-09-11 19:14:49 +0100
@@ -1 +1 @@
-something else
+hello, world
test 1/1
0/1 tests OK, 1 failures
Furthermore, the echo-tests directory will contain the actual output files, and diffs from the expected files. If one of the actual output
files is actually correct, you can actualy rename it to be the expected file. Actually, that's a very convenient way of creating the ex-
pected output files: you run the test, fixing things, until you've manually checked the actual output is correct, then you rename the file.
SEE ALSO
cliapp(5).
CMDTEST(1)