annotate experiments/scripts/cnbh-syllables/feature_generation/run_aimcopy.sh @ 168:a718fb21013c

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