Open andy108369 opened 11 months ago
Developed a partial workaround for the bid price script that sets the GPU price to the highest (out of all set by the provider owner via price_target_gpu_mappings
) when GPU model detection method fails due to issue-139.
Follow these steps to upgrade your bid price script:
wget https://raw.githubusercontent.com/akash-network/helm-charts/main/charts/akash-provider/scripts/price_script_generic.sh
Don't forget extra flags if you have used such.
You can usehelm -n akash-services get values akash-provider
command to see your current values.
helm upgrade akash-provider akash/provider -n akash-services -f provider.yaml --set bidpricescript="$(cat ./price_script_generic.sh | openssl base64 -A)"
Environment:
0.4.6
0.26.1
Issue Summary:
The provider, despite supporting the correct GPU model and bidding accordingly, erroneously sets an unsupported GPU model when forming the order request. This error occurs because the provider defaults to the last (dict sorted) GPU model listed in the SDL, which may not be supported or may even be non-existent.
This leads to the bid price script calculating bids based on this incorrect GPU model, resulting in either inaccurate bids or a failure to bid if the provider has not set pricing for this model.
Steps to Reproduce:
a100
).- model: akgjkajgksag
) and the supported model (a100
) further down the list."model": "akgjkajgksag"
, not the supporteda100
.akgjkajgksag
.Expected Behavior:
The provider should identify and select the GPU model it actually supports when forming the order request. This correct model should then be used by the bid price script for price calculation, ignoring any models that are not supported.
Actual Behavior:
The provider incorrectly selects the last (dict sorted) GPU model listed in the SDL for the order request. This misstep leads to the bid price script either not calculating a price or calculating an incorrect price, as it encounters an unsupported or non-existent GPU model.
Example
Provider attributes: supported GPU -
a100
SDL Contents:
The deployment order Provider forms (before passing it to the bid price script):
Additional information
The model provider picks is the last model after dict (alphabetically) sorted.
dict (alphabetical) sorting: