mirror of
https://github.com/deepspeedai/DeepSpeed.git
synced 2025-10-20 15:33:51 +08:00
56 lines
1.6 KiB
Bash
Executable File
56 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
azure_config=azure_config.json
|
|
|
|
# Make sure jq is installed
|
|
command -v jq
|
|
if [ $? != 0 ]; then
|
|
echo "Missing dependency of jq, please 'apt-get install jq'"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -f ${azure_config} ]; then
|
|
echo "Cannot find $azure_config"
|
|
exit 1
|
|
fi
|
|
cat $azure_config
|
|
|
|
num_vms=`cat ${azure_config} | jq .num_vms`
|
|
if [ $num_vms == "null" ]; then echo 'missing num_vms in config'; exit 1; fi
|
|
location=`cat ${azure_config} | jq .location | sed 's/"//g'`
|
|
if [ $location == "null" ]; then echo 'missing location in config'; exit 1; fi
|
|
azure_sku=`cat ${azure_config} | jq .azure_sku | sed 's/"//g'`
|
|
if [ $azure_sku == "null" ]; then echo 'missing azure_sku in config'; exit 1; fi
|
|
ssh_private_key=`cat ${azure_config} | jq .ssh_private_key | sed 's/"//g'`
|
|
if [ $ssh_private_key == "null" ]; then echo 'missing ssh_private_key in config'; exit 1; fi
|
|
ssh_key=${ssh_private_key}.pub
|
|
|
|
if [ ! -f ${ssh_private_key} ]; then
|
|
echo "Cannot find $ssh_private_key"
|
|
exit 1
|
|
fi
|
|
if [ ! -f ${ssh_key} ]; then
|
|
echo "Cannot find $ssh_key"
|
|
exit 1
|
|
fi
|
|
|
|
resource_group=deepspeed_rg_$location
|
|
az group create --name ${resource_group} --location $location
|
|
|
|
base_vm_name=deepspeed
|
|
vm_image="nvidia:ngc_azure_17_11:ngc_gpu_cloud_19_11_3:19.11.3"
|
|
|
|
az vm image terms accept --urn ${vm_image}
|
|
|
|
for i in `seq 0 $(( num_vms - 1))`; do
|
|
vm_name=${base_vm_name}_$i
|
|
echo "creating $vm_name"
|
|
az vm create \
|
|
--resource-group ${resource_group} \
|
|
--name ${vm_name} \
|
|
--image ${vm_image} \
|
|
--admin-username deepspeed \
|
|
--size ${azure_sku} \
|
|
--ssh-key-values ${ssh_key}
|
|
done
|