#!/bin/ksh 

#########################################################################
#   Copyright (C) 2026 by Bassem W Jamaleddine. All Rights Reserved.    #
#   How to Build Your Desktop Supercomputer ISBN 9798161121221 Oct 2026 #
#########################################################################

PROG=$1
CPPc=$1
CPPc+=".cpp"
PHIg=$1
PHIg+="_xphi_Gg"
ASMs=$PHIg
ASMs+=".MIC-STEP"
echo $PROG
echo $CPPc
echo $PHIg
echo $ASMs
STEPPING=$2

icpc -openmp -O3 -g -opt-threads-per-core=4 -mmic $CPPc  gettime.cpp -o $PHIg
scp $PHIg  mic0:/tmp

ssh mic0 "rm /tmp/$ASMs"

echo '# file: step_feeder.gdb
define step_feeder
    set $step_feeder_max = 1000
    if $argc >= 1
        set $step_feeder_max = $arg0
    end

    set $step_feeder_count = 0
    while ($step_feeder_count < $step_feeder_max)
        set $step_feeder_count = $step_feeder_count + 1
        printf "step #%d\n", $step_feeder_count
        step
    end
end' | ssh mic0 -T "cat > /tmp/step_feeder.gdb"


ssh mic0 "gdb  \
 -ex 'set pagination off' \
 -ex 'set logging overwrite on' \
 -ex 'set logging redirect on' \
 -ex 'set logging on /tmp/$ASMs' \
 -ex 'set disassembly intel' \
 -ex 'set environment LD_LIBRARY_PATH=/miclib17' \
 -ex 'source /tmp/step_feeder.gdb' \
 -ex 'start' \
 -ex 'step_feeder $STEPPING' \
 -ex 'signal 2' \
 -ex 'quit'  /tmp/$PHIg"

scp mic0:/tmp/$ASMs .

