Skip to content

Commit

Permalink
feat(bid-script/gpu): support model.vram for pricing calculation and …
Browse files Browse the repository at this point in the history
…AMD support in addition to NVIDIA models (#249)

* feat(bid-script/gpu): support model.vram for pricing calculation

fixes akash-network/support#148

* feat(bid-script/gpu): support AMD in addition to NVIDIA models
  • Loading branch information
andy108369 committed Feb 27, 2024
1 parent 6e4392d commit 6463f35
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions charts/akash-provider/scripts/price_script_generic.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# WARNING: the runtime of this script should NOT exceed 5 seconds! (Perhaps can be amended via AKASH_BID_PRICE_SCRIPT_PROCESS_TIMEOUT env variable)
# Requirements:
# curl jq bc mawk ca-certificates
# Version: November-16-2023
# Version: February-27-2024
set -o pipefail

# Example:
Expand Down Expand Up @@ -160,9 +160,18 @@ fi
gpu_price_total=0
while IFS= read -r resource; do
count=$(echo "$resource" | jq -r '.count')
model=$(echo "$resource" | jq -r '.gpu.attributes.vendor.nvidia.model // 0')
model=$(echo "$resource" | jq -r '.gpu.attributes.vendor | (.nvidia // .amd // empty).model // 0')
vram=$(echo "$resource" | jq -r --arg v_model "$model" '.gpu.attributes.vendor | (
.nvidia | select(.model == $v_model) //
.amd | select(.model == $v_model) //
empty
).ram // 0')
gpu_units=$(echo "$resource" | jq -r '.gpu.units // 0')
# default to 100 USD/GPU per unit a month when PRICE_TARGET_GPU_MAPPINGS is not set
# price_target_gpu_mappings can specify <model.vram> or <model>. E.g. a100.40Gi=900,a100.80Gi=1000 or a100=950
if [[ "$vram" != "0" ]]; then
model="${model}.${vram}"
fi
price="${gpu_mappings[''$model'']:-$gpu_unit_max_price}"
((gpu_price_total += count * gpu_units * price))

Expand Down

0 comments on commit 6463f35

Please sign in to comment.