Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-15 07:41:50

0001 #!/bin/bash
0002 # run.sh — run async_gpu_std example with apex.gdml
0003 #
0004 # Usage:
0005 #   ./run.sh [--sync]
0006 #   GPU_PHOTON_FLUSH_THRESHOLD=1000000 ./run.sh
0007 #   GPU_MAX_QUEUE_SIZE=2 ./run.sh
0008 
0009 set -e
0010 
0011 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
0012 
0013 GDML="${SCRIPT_DIR}/apex.gdml"
0014 MACRO="${SCRIPT_DIR}/run.mac"
0015 MODE="${1:---async}"
0016 
0017 for f in "$GDML" "$MACRO"; do
0018     if [ ! -f "$f" ]; then
0019         echo "ERROR: $f not found"
0020         exit 1
0021     fi
0022 done
0023 
0024 echo "=== async_gpu_std example (std-only worker thread) ==="
0025 echo "GDML:        $GDML"
0026 echo "Macro:       $MACRO"
0027 echo "Mode:        $MODE"
0028 echo "Threshold:   ${GPU_PHOTON_FLUSH_THRESHOLD:-10000000 (default)}"
0029 echo "Max queue:   ${GPU_MAX_QUEUE_SIZE:-3 (default)}"
0030 echo ""
0031 
0032 OPTICKS_MAX_BOUNCE=1000 \
0033 async_gpu_std \
0034     -g "$GDML" \
0035     -m "$MACRO" \
0036     "$MODE"
0037 
0038 echo ""
0039 echo "=== Done ==="
0040 
0041 for f in gpu_hits*.npy g4_hits.npy; do
0042     [ -f "$f" ] && echo "Output: $f ($(stat -c%s "$f") bytes)"
0043 done