annotate experiments/scripts/cnbh-syllables/feature_generation/run_aimcopy.sh @ 239:97d0f6765763

- Experimental updates.
author tomwalters
date Sun, 24 Oct 2010 23:26:09 +0000
parents d961cc31ef69
children 587ab0b1f062
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@183 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@239 12 AIMCOPY_CONFIGURATION_FILE=$1
tomwalters@239 13 FEATURES_DIR=$2
tomwalters@239 14 MACHINE_CORES=$3
tomwalters@54 15 FILE_LIST=feature_generation_script
tomwalters@54 16
tomwalters@54 17 echo "Splitting data files over cores..."
tomwalters@54 18 total_cores=$(($MACHINE_CORES))
tomwalters@54 19 echo -n $total_cores
tomwalters@54 20 echo " cores available"
tomwalters@54 21 total_files=`cat $FEATURES_DIR/$FILE_LIST | wc -l | sed 's/ *//'`
tomwalters@54 22 echo -n $total_files
tomwalters@54 23 echo " files to process"
tomwalters@54 24 files_per_core=$(($total_files/$total_cores+1))
tomwalters@54 25 echo -n $files_per_core
tomwalters@54 26 echo " files per core"
tomwalters@54 27 split -l $files_per_core $FEATURES_DIR/$FILE_LIST $FEATURES_DIR/split_list
tomwalters@54 28 splits=( $(ls $FEATURES_DIR/split_list*))
tomwalters@54 29 element=0
tomwalters@54 30 echo -n "Spawning "
tomwalters@54 31 echo -n $total_cores
tomwalters@54 32 echo " tasks..."
tomwalters@54 33 for ((c=1;c<=$MACHINE_CORES;c+=1)); do
tomwalters@54 34 s=${splits[$element]}
tomwalters@239 35 AIMCopy -C $AIMCOPY_CONFIGURATION_FILE -D $FEATURES_DIR/aimcopy_config.out -S $s &
tomwalters@54 36 let element=element+1
tomwalters@54 37 done
tomwalters@54 38
tomwalters@54 39 echo "Waiting for tasks to complete..."
tomwalters@54 40 wait
tomwalters@54 41 echo "Done!"