computer system

script for loadleveler

hongiiv 2006. 2. 10. 13:30
반응형
=========================================================
for serial job (serial.cmd)
=========================================================

#!/bin/bash
# @ job_type = serial
# @ class = normal
# @ resources = ConsumableCpus(1)
# @ wall_clock_limit = 1:00:00
# @ output = serial.$(cluster).$(process).out
# @ error = serial.$(cluster).$process).err
# @ executable = serial
# @ queue

=========================================================
for parallel job (parallel.cmd)
=========================================================

#!/bin/bash
# @ job_type = parallel
# @ class = p_normal
# @ input = /dev/null
# @ step_name = parallel
# @ output = $(step_name).$(cluster).out
# @ error = $(step_name).$(cluster).err
# @ resources = ConsumableCpus(1)
# @ wall_clock_limit = 00:10:00
# @ node = 2
# @ tasks_per_node = 2
# @ queue

echo "----------------------------------------------------"
echo LOADL_STEP_ID=$LOADL_STEP_ID
echo "----------------------------------------------------"

ll_get_machine_list > /tmp/machinelist.$LOADL_SETP_ID
machine_count=`cat /tmp/machinelist.$LOADL_SETP_ID | wc -l`

echo $machine_count
echo MachineList:
cat /tmp/machinelist.$LOADL_SETP_ID
echo "----------------------------------------------------"

mpirun -np $machine_count -machinefile /tmp/machinelist.$LOADL_SETP_ID pi3
rm /tmp/machinelist.$LOADL_SETP_ID

=========================================================
script for compile ll_get_machine_list
=========================================================
# Export MODFLAGS & WORDSIZE if building for 64-bit POWER systems running Linux
export MODFLAGS=-m64
export WORDSIZE=64

# We assume that LoadLeveler has been installed at: /opt/ibmll/LoadL/full
BASEDIR=/optibmll/LoadL/full
CC=g++

${CC} ${MODFLAGS} -o ll_get_machine_list -I${BASEDIR}/include -L/usr/lib64 -L/usr/lib -lllapi ll_get_machine_list.c
반응형