Advertisement
genericPaster

Kbench

May 8th, 2024 (edited)
582
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.01 KB | None | 0 0
  1. #!/bin/bash
  2. model_dir="/mnt/Orlando/gguf"
  3. model_files=("$model_dir"/*.gguf)
  4. if [ ${#model_files[@]} -eq 0 ]; then
  5.     echo "No .gguf files found in the specified directory."
  6.     exit 1
  7. fi
  8. echo "Select a model file:"
  9. select model_file in "${model_files[@]}"; do
  10.     if [ -n "$model_file" ]; then
  11.         break
  12.     else
  13.         echo "Invalid selection. Please try again."
  14.     fi
  15. done
  16. echo "Select context size (Press Enter to default to 8192):"
  17.  
  18. options=("256" "512" "1024" "2048" "3072" "4096" "6144" "8192" "12288" "16384" "24576" "32768" "49152" "65536")
  19. PS3="Context: "
  20. select opt in "${options[@]}" ""; do
  21.   case $REPLY in
  22.     "")
  23.       context="8192"
  24.       echo "No context size selected. Defaulting to 8192."
  25.       break
  26.       ;;
  27.     [0-9]*)
  28.       if [[ $REPLY -ge 1 && $REPLY -le ${#options[@]} ]]; then
  29.         context=${options[$REPLY-1]}
  30.         echo "Selected context size: $context"
  31.         break
  32.       else
  33.         echo "Invalid option. Please try again."
  34.       fi
  35.       ;;
  36.     *)
  37.       echo "Invalid input. Please enter a number."
  38.       ;;
  39.   esac
  40. done
  41.  
  42. read -p "Enter gpu layers [999]: " layers_response
  43. layers=${layers_response:-999}
  44.  
  45. read -p "Disable rowsplit? (y/[n]): " rowsplit_response
  46. rowsplit=$([ "$rowsplit_response" == "y" ] && echo "" || echo "rowsplit")
  47.  
  48. if [ "$rowsplit" ]; then
  49.   while true; do
  50.     read -p "Enter tensor split [disabled]: " tensor_response
  51.     if [[ "$tensor_response" == "" ]]; then
  52.       tensor_split=""
  53.       break
  54.     elif [[ "$tensor_response" =~ ^[0-9]+(\.[0-9]+)?( [0-9]+(\.[0-9]+)?)*$ ]]; then
  55.       tensor_split="--tensor_split $tensor_response"
  56.       break
  57.     else
  58.       echo "Invalid response. Please enter a valid tensor split value (integers or floats separated by spaces)."
  59.     fi
  60.   done
  61. else
  62.   tensor_split=""
  63. fi
  64. timestamp=$(date +"%Y%m%d%H%M%S")
  65.  
  66. python ~/kbnew/koboldcpp/koboldcpp.py --usecublas $rowsplit --contextsize "$context" --gpulayers $layers --model "$model_file" $tensor_split --benchmark | tee "kbench-$timestamp.txt"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement