Commit dab1e5c8 authored by Illia Kolesnik's avatar Illia Kolesnik
Browse files

Parallel MPI instances creation

parent 330535b4
Loading
Loading
Loading
Loading
+18 −13
Original line number Diff line number Diff line
#!/bin/bash

DESIRED_REFINES=(10000000)
DESIRED_SEARCHES_RATIO=(10)
DESIRED_OUT_RATIO=(0 0.00005 0.0001 0.00015 0.0002 0.00025 0.0003)
DESIRED_SEARCHES=(100000000)
DESIRED_OUT=(100000 500000 1000000 5000000 10000000)
INSTANCES=5

MAX_JOBS=5

# Stop on error
set -e

@@ -19,13 +21,10 @@ OUTDIR="$2"

COUNT=0
create() {
    local out_ratio="$1"
    local outside="$1"
    local refine="$2"
    local search_ratio="$3"
    local searches="$3"

    # searches = $(($refine * $search_ratio))
    searches=$( echo "$refine * $search_ratio" | bc | cut -d'.' -f 1 )
    outside=$( echo "$searches * $out_ratio" | bc | cut -d'.' -f 1 )
    inside=$( echo "$searches - $outside" | bc | cut -d'.' -f 1 )
    
    
@@ -36,9 +35,13 @@ create() {
            rm -rf $RESULT_DIR
        fi

        while [ $(jobs -p | wc -l) -ge $MAX_JOBS ]; do
            sleep 1
        done

        echo "Starting $RESULT_DIR"
        ./$GENERATOR $refine $inside $outside $RESULT_DIR
        
        echo "Created $RESULT_DIR"
        COUNT=$(($COUNT + 1))
    done

@@ -52,9 +55,11 @@ mkdir $OUTDIR

# Create instances
for refine in "${DESIRED_REFINES[@]}"; do
    for search_ratio in "${DESIRED_SEARCHES_RATIO[@]}"; do
        for out_ratio in "${DESIRED_OUT_RATIO[@]}"; do
            create "$out_ratio" "$refine" "$search_ratio"
    for searches in "${DESIRED_SEARCHES[@]}"; do
        for outside in "${DESIRED_OUT[@]}"; do
            create "$outside" "$refine" "$searches"
        done
    done
done

wait
 No newline at end of file