After I activate parallel processing with
>> matlabpool open
I submit a batch job as follows
>> j1 = batch('myscript')
Consequently, as I check the j1 structure, the status field shows "queued" and that does not change. I have run "myscript" directly without any problems. I have a four-core processor multithreaded to 8 processors. The script runs a loop that calculates values and outputs them in files. I have tried various fomulatins of matlabpool and batch with no improvement. I have restarted Matlab and even rebooted the computer.
I am looking for a way to run this script via batch to take advantage of the parallel processing and to run the jobs in the background.
The interactive matlabpool that you explicitly opened is using all of your resources. Therefore, when you submit a batch job it is waiting in the queue until the matlabpool is closed and the resources are again available.
Do not open the matlabpool explicitly with "matlabpool open". Instead, submit your batch job using the syntax that allows you to specify the size of the matlabpool to use:
j1 = batch('myscript', 'matlabpool', 4);