tig-monorepopool/tig-binary/scripts/build_algorithm
2025-09-04 12:04:54 +01:00

53 lines
1.4 KiB
Bash

#!/bin/bash
set -e
# Check if CHALLENGE environment variable is set
if [ -z "$CHALLENGE" ]; then
echo "Error: CHALLENGE environment variable is not set."
exit 1
fi
# Check if ALGORITHM argument is provided
if [ -z "$1" ]; then
echo "Error: ALGORITHM argument is required."
echo "Usage: $0 <ALGORITHM>"
exit 1
fi
ALGORITHM="$1"
# Match CHALLENGE value
case "$CHALLENGE" in
satisfiability)
echo "Building ALGORITHM '$ALGORITHM' for CHALLENGE 'satisfiability'"
build_so $ALGORITHM
;;
vehicle_routing)
echo "Building ALGORITHM '$ALGORITHM' for CHALLENGE 'vehicle_routing'"
build_so $ALGORITHM
;;
knapsack)
echo "Building ALGORITHM '$ALGORITHM' for CHALLENGE 'knapsack'"
build_so $ALGORITHM
;;
vector_search)
echo "Building ALGORITHM '$ALGORITHM' for CHALLENGE 'vector_search'"
build_so $ALGORITHM
build_ptx $ALGORITHM
;;
hypergraph)
echo "Building ALGORITHM '$ALGORITHM' for CHALLENGE 'hypergraph'"
build_so $ALGORITHM
build_ptx $ALGORITHM
;;
neuralnet_optimizer)
echo "Building ALGORITHM '$ALGORITHM' for CHALLENGE 'neuralnet_optimizer'"
build_so $ALGORITHM
build_ptx $ALGORITHM --extra-cu-files tig-challenges/src/neuralnet/kernels.cu
;;
*)
echo "Error: Invalid CHALLENGE value. Must be one of: satisfiability, knapsack, vehicle_routing, vector_search, hypergraph, neuralnet_optimizer"
exit 1
;;
esac