kpolsen

Members
  • Content count

    1
  • Joined

  • Last visited

  1. Hi there, I'm interested in running more than a thousand small programs, each taking up only about 300MB in memory and lasting maybe 20 min (as measured on my own laptop). The way I've done this in the past, has been to run reserve one node and use all cores at the same time. If the node has 12 cores, say, I would write my batch script such that 12 programs are always running at the same time. But the separate programs don't need to 'talk' to each other. Now I need to know the best way of doing this with PBS! I'm used to writing my batch scripts with the SLURM manager, where my batch script would look something like this: #!/bin/bash #SBATCH -J <jobname> # Job name #SBATCH -p serial # Send this job to the serial partition #SBATCH -n 12 # number of cores #SBATCH -a 0-999%12 #SBATCH -t 0-12:00 # wall time (D-HH:MM) #SBATCH -o GMC_z6.%j.out # STDOUT (%j = JobId) ##SBATCH -e GMC_z6.%j.err # STDERR (%j = JobId) ##SBATCH --mail-type=begin,end # notifications for job done & fail ##SBATCH --mail-user=kpolsen@asu.edu # send-to address ../../cloudy/source/cloudy.exe -p GMC_$((<SLURM_ARRAY_TASK_ID>)) This would run the following tasks: ../../cloudy/source/cloudy.exe -p GMC_0 ../../cloudy/source/cloudy.exe -p GMC_1 ../../cloudy/source/cloudy.exe -p GMC_2 ... ../../cloudy/source/cloudy.exe -p GMC_999 keeping 12 cores busy all the time. I found that in PBS there is a similar variable to SLURM_ARRAY_TASK_ID, called PBS_ARRAY_INDEX, but I have trouble translating the line that specifies the cores being used: #SBATCH -a 0-999%12 Any help much appreciated!
  2. Hi there, I'm interested in running more than a thousand small programs, each taking up only about 300MB in memory and lasting maybe 20 min (as measured on my own laptop). The way I've done this in the past, has been to run reserve one node and use all cores at the same time. If the node has 12 cores, say, I would write my batch script such that 12 programs are always running at the same time. Now I need to know the best way of doing this with PBS! I'm used to writing my batch scripts with the SLURM manager, where my batch script would look something like this: #!/bin/bash #SBATCH -J <jobname># Job name #SBATCH -p serial # Send this job to the serial partition #SBATCH -n 12 # number of cores #SBATCH -a <start>-<stop>%12 #SBATCH -t 0-12:00 # wall time (D-HH:MM) #SBATCH -o GMC_z6.%j.out # STDOUT (%j = JobId) ##SBATCH -e GMC_z6.%j.err # STDERR (%j = JobId) ##SBATCH --mail-type=begin,end # notifications for job done & fail ##SBATCH --mail-user=kpolsen@asu.edu # send-to address module load gcc/4.9.2 ../../cloudy/source/cloudy.exe -p GMC_$((<SLURM_ARRAY_TASK_ID>))