46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
#! /bin/bash
 | 
						|
 | 
						|
if [ ! $SCRIPTS_DIR ]; then
 | 
						|
	# assume we're running standalone
 | 
						|
	export SCRIPTS_DIR=../../scripts/
 | 
						|
fi
 | 
						|
 | 
						|
source $SCRIPTS_DIR/setenv.sh
 | 
						|
LOG_FILE="$LOG_DIR/$LOG_FORMAT-pthread_cond_many.log"
 | 
						|
 | 
						|
echo "Logging to: " | tee -a $LOG_FILE
 | 
						|
echo "$LOG_FILE " | tee -a $LOG_FILE
 | 
						|
echo "and to local individual .out files " | tee -a $LOG_FILE
 | 
						|
 | 
						|
#
 | 
						|
# make will eventually go away from here, as will the above echoes
 | 
						|
#
 | 
						|
make
 | 
						|
 | 
						|
#
 | 
						|
# Test lots of threads.  Specify "--realtime" if you want the first
 | 
						|
# process to run realtime.  The remainder of the processes (if any)
 | 
						|
# will run non-realtime in any case.
 | 
						|
 | 
						|
nthread=5000
 | 
						|
iter=400
 | 
						|
nproc=5
 | 
						|
 | 
						|
echo "pthread_cond_many configuration:" | tee -a $LOG_FILE
 | 
						|
echo "number of threads = $nthread " | tee -a $LOG_FILE
 | 
						|
echo "number of iterations = $iter " | tee -a $LOG_FILE
 | 
						|
echo "number of processes = $nproc " | tee -a $LOG_FILE
 | 
						|
 | 
						|
# Remove any existing local log files
 | 
						|
rm -f $nthread.$iter.$nproc.*.out
 | 
						|
 | 
						|
i=0
 | 
						|
./pthread_cond_many --realtime --broadcast -i $iter -n $nthread > $nthread.$iter.$nproc.$i.out &
 | 
						|
i=1
 | 
						|
while test $i -lt $nproc
 | 
						|
do
 | 
						|
        ./pthread_cond_many --broadcast -i $iter -n $nthread > $nthread.$iter.$nproc.$i.out &
 | 
						|
        i=`expr $i + 1`
 | 
						|
done
 | 
						|
wait
 |