Skip to content

Instantly share code, notes, and snippets.

@vient
Last active February 25, 2026 00:24
Show Gist options
  • Select an option

  • Save vient/0e95df848e4ffbdbd2277f5fa4e7b912 to your computer and use it in GitHub Desktop.

Select an option

Save vient/0e95df848e4ffbdbd2277f5fa4e7b912 to your computer and use it in GitHub Desktop.
#!/bin/bash -eu
apps=("O4AS_einstein_x86_64-pc-linux-gnu__cuda1291" "einstein_O4AS_2.03_x86_64-pc-linux-gnu__GW-cuda-2G")
app_short_names=("v0.0.7" "v2.0.3")
set +m
export CUDA_MPS_PIPE_DIRECTORY=/tmp/nvidia-mps
export CUDA_MPS_LOG_DIRECTORY=/tmp/nvidia-log
export CUDA_VISIBLE_DEVICES=0
echo quit | nvidia-cuda-mps-control || true
for mps_pct in 20 40 70 100; do
export CUDA_MPS_ACTIVE_THREAD_PERCENTAGE=${mps_pct}
nvidia-cuda-mps-control -d
echo CUDA_MPS_ACTIVE_THREAD_PERCENTAGE = ${CUDA_MPS_ACTIVE_THREAD_PERCENTAGE}
for N in {1..8}; do
results=("nan" "nan")
for app_idx in 0 1; do
for i in $(seq 1 $N); do
{ (
rm -rf /tmp/boinc${i}
cp -r /tmp/boinc0 /tmp/boinc${i}
cd /tmp/boinc${i}
./${apps[${app_idx}]} --refTime=1379292696.5 --Freq=2016 --FreqBand=0.5 --dFreq=1.2004801920768307e-05 --f1dot=-2.7223114999999999e-09 --f1dotBand=3.06261e-09 --df1dot=3.4028893591830922e-10 --gammaRefine=121 --computeBSGL --BSGLlogcorr=0 --Fstar0=650 --oLGX=0.5,0.5 --nCand1=100000 --SortToplist=8 --recalcToplistStats=1 --outputNLoudestRecalcCand=10000 --tlCompartments=10 --blocksRngMed=83 --useGPUSemiCoh=True --outputFitsFile=GCT.out --semiCohToplist --writeLeanerOutput=True --ephemE=earth --ephemS=sun --segmentList=segments --FstatMethod=ResampBest --FstatMethodRecalc=DemodBest --numSkyPartitions=10985 --partitionIndex=304 --gridType=3 --skyGridFile=skygrid_2016Hz_m0.01.dat.gz --loudestSegOutput --getMaxFperSeg --allowedMismatchFromSFTLength=0.05 --DataFiles1='h1_2015.60_O4a1200C00Cl1In0;l1_2015.60_O4a1200C00Cl1In0;h1_2015.80_O4a1200C00Cl1In0;l1_2015.80_O4a1200C00Cl1In0;h1_2016.00_O4a1200C00Cl1In0;l1_2016.00_O4a1200C00Cl1In0;h1_2016.20_O4a1200C00Cl1In0;l1_2016.20_O4a1200C00Cl1In0;h1_2016.40_O4a1200C00Cl1In0;l1_2016.40_O4a1200C00Cl1In0;h1_2016.60_O4a1200C00Cl1In0;l1_2016.60_O4a1200C00Cl1In0;h1_2016.80_O4a1200C00Cl1In0;l1_2016.80_O4a1200C00Cl1In0' --outputTiming=GCT.timing --outputTimingDetails=GCT.timing --WUfpops=8.64e+14 --chkpoint-cadence=0
) & } 2>/dev/null
done
wait
individual_results=()
for i in $(seq 1 $N); do
individual_results+=$(grep -Po '(?<=Finished in ).*?(?=s)' /tmp/boinc${i}/stderr.txt)
done
results[${app_idx}]=$(echo ${individual_results[@]} | awk '{sum=0; for(i=1;i<=NF;i++) sum+=$i; print sum/NF}')
done
echo N=$N ${app_short_names[0]}=${results[0]} ${app_short_names[1]}=${results[1]}
done
echo ''
echo quit | nvidia-cuda-mps-control
done
CUDA_MPS_ACTIVE_THREAD_PERCENTAGE = 20
N=1 v0.0.7=548.39 v2.0.3=675.96
N=2 v0.0.7=649.95 v2.0.3=721.275
N=3 v0.0.7=739.747 v2.0.3=789.583
N=4 v0.0.7=859.317 v2.0.3=876.618
N=5 v0.0.7=1012.61 v2.0.3=988.984
N=6 v0.0.7=1181.98 v2.0.3=1122.11
N=7 v0.0.7=1308.07 v2.0.3=1257.13
N=8 v0.0.7=1440.06 v2.0.3=1398.65
CUDA_MPS_ACTIVE_THREAD_PERCENTAGE = 40
N=1 v0.0.7=435.35 v2.0.3=527.26
N=2 v0.0.7=560.74 v2.0.3=635.075
N=3 v0.0.7=703.787 v2.0.3=689.997
N=4 v0.0.7=836.463 v2.0.3=817.39
N=5 v0.0.7=972.846 v2.0.3=944.184
N=6 v0.0.7=1133.65 v2.0.3=1086.49
N=7 v0.0.7=1333.56 v2.0.3=1235.7
N=8 v0.0.7=1394.18 v2.0.3=1393.81
CUDA_MPS_ACTIVE_THREAD_PERCENTAGE = 70
N=1 v0.0.7=395.26 v2.0.3=459.83
N=2 v0.0.7=591.715 v2.0.3=571.42
N=3 v0.0.7=699.533 v2.0.3=685.463
N=4 v0.0.7=854.355 v2.0.3=814.903
N=5 v0.0.7=1013.93 v2.0.3=954.512
N=6 v0.0.7=1159.92 v2.0.3=1096.85
N=7 v0.0.7=1344.43 v2.0.3=1245.74
N=8 v0.0.7=1465.23 v2.0.3=1402.04
CUDA_MPS_ACTIVE_THREAD_PERCENTAGE = 100
N=1 v0.0.7=381.09 v2.0.3=440.99
N=2 v0.0.7=532.605 v2.0.3=565.61
N=3 v0.0.7=699.367 v2.0.3=715.357
N=4 v0.0.7=872.03 v2.0.3=847.232
N=5 v0.0.7=1103.44 v2.0.3=982.412
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment