annotate trunk/experiments/scripts/cnbh-syllables/feature_generation/run_aimcopy.sh @ 413:786166d87205

- Experimental updates.
author tomwalters
date Sun, 24 Oct 2010 23:26:09 +0000
parents 683df686f40d
children cac1f386e8d9
rev   line source
tomwalters@335 1 #!/bin/bash
tomwalters@335 2
tomwalters@335 3 # Test for the existence of AIMCopy in the path
tomwalters@335 4 AIMCOPY=`which AIMCopy`
tomwalters@353 5 if [ "$AIMCOPY" == "" ]; then
tomwalters@335 6 echo "Please build AIM-C and make AIMCopy available in the path"
tomwalters@335 7 fi
tomwalters@335 8
tomwalters@335 9 set -e
tomwalters@335 10 set -u
tomwalters@335 11
tomwalters@413 12 AIMCOPY_CONFIGURATION_FILE=$1
tomwalters@413 13 FEATURES_DIR=$2
tomwalters@413 14 MACHINE_CORES=$3
tomwalters@335 15 FILE_LIST=feature_generation_script
tomwalters@335 16
tomwalters@335 17 echo "Splitting data files over cores..."
tomwalters@335 18 total_cores=$(($MACHINE_CORES))
tomwalters@335 19 echo -n $total_cores
tomwalters@335 20 echo " cores available"
tomwalters@335 21 total_files=`cat $FEATURES_DIR/$FILE_LIST | wc -l | sed 's/ *//'`
tomwalters@335 22 echo -n $total_files
tomwalters@335 23 echo " files to process"
tomwalters@335 24 files_per_core=$(($total_files/$total_cores+1))
tomwalters@335 25 echo -n $files_per_core
tomwalters@335 26 echo " files per core"
tomwalters@335 27 split -l $files_per_core $FEATURES_DIR/$FILE_LIST $FEATURES_DIR/split_list
tomwalters@335 28 splits=( $(ls $FEATURES_DIR/split_list*))
tomwalters@335 29 element=0
tomwalters@335 30 echo -n "Spawning "
tomwalters@335 31 echo -n $total_cores
tomwalters@335 32 echo " tasks..."
tomwalters@335 33 for ((c=1;c<=$MACHINE_CORES;c+=1)); do
tomwalters@335 34 s=${splits[$element]}
tomwalters@413 35 AIMCopy -C $AIMCOPY_CONFIGURATION_FILE -D $FEATURES_DIR/aimcopy_config.out -S $s &
tomwalters@335 36 let element=element+1
tomwalters@335 37 done
tomwalters@335 38
tomwalters@335 39 echo "Waiting for tasks to complete..."
tomwalters@335 40 wait
tomwalters@335 41 echo "Done!"