Mercurial > hg > aimc
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!" |