Empty output file when using Julia with the PBS system

I wrote a code, and ran it in a cluster. The PBS system is used in this cluster. In my code, i use this sentence to record how much has been done

@printf "calculated %.2f%% \t" 100*i/nt; println(now())

In the PBS script, there are two lines

#PBS -o pbsoutput
#PBS -e pbserr
$exe --procs auto --check-bounds=no --depwarn=no --math-mode=fast -O3 tdse.jl 1>>output 2>>err

When the code was running, however, pbsoutput or pbserr were not created, and the output and err file were empty. Is that a PBS issue or a Julia issue?

@111 That will be a PBS issue.
I manage a PBSpro cluster at the moment, and have worked with Slurm and SGE.

What happens is that the output and error files are created in a spool direcotry under $PBS_MOM on the compute node which is running the job - on a multi-node job this is done by the Mother Superior - ie the Mom on the first node.
At the end of the job the files are transferred back to the submitting host usign scp.
Actually, if there is a shared filesystem you can define that this is not necessary and a cp is done.

So the short answer is that you see these files at the end of the job.
If you Google for ‘job peeking’ there are ways to allow users to look at these files when a job is running.

1 Like

I add a line in my julia code

flush(STDOUT)

and everything works fine.