From 2eea1ec11a13eaffed95defad92cdf79c68e5344 Mon Sep 17 00:00:00 2001 From: InquestGeronimo Date: Tue, 13 Jun 2023 15:40:34 -0400 Subject: [PATCH 01/11] add azure --- examples/azure-vm/README.md | 96 ++++++++++ examples/azure-vm/azure-vm.py | 271 +++++++++++++++++++++++++++++ examples/azure-vm/requirements.txt | 4 + 3 files changed, 371 insertions(+) create mode 100644 examples/azure-vm/README.md create mode 100644 examples/azure-vm/azure-vm.py create mode 100644 examples/azure-vm/requirements.txt diff --git a/examples/azure-vm/README.md b/examples/azure-vm/README.md new file mode 100644 index 0000000000..35fa364229 --- /dev/null +++ b/examples/azure-vm/README.md @@ -0,0 +1,96 @@ + + +# **Getting Started With DeepSparse in an Azure VM** + +Neural Magic’s DeepSparse is an inference runtime that can be deployed directly from a public Docker image. DeepSparse supports various CPU instance types and sizes, allowing you to quickly deploy the infrastructure that works best for your use case, based on cost and performance. + +If you are interested in configuring and launching an instance with DeepSparse in Python, follow the step-by-step guide below. + +We recommend installing the [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) for easy access to Azure's functionalities although it is not necessary. + +## Step 1: Create a Subscription +[Create an Azure subscription](https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/create-subscription) to gain access to a `subscription id`. + + +## Step 2: Install Dependencies + +```bash +git clone https://github.com/neuralmagic/deepsparse.git +cd deepsparse/examples/azure-vm +pip install -r requirements.txt +``` + +## Step 3: Run Script + +This [azure-vm.py script](https://github.com/neuralmagic/deepsparse/tree/main/examples/azure-vm/azure-vm.py) creates an Azure resource group, launches an Ubuntu instance and returns the Public IP address so you can SSH into the instance after it finishes staging. Additionally, it also contains a bash script that automatically downloads Docker and pulls Neural Magic's public DeepSparse image into your instance. + +To execute the script, run the following command and pass in your `subscription id` from step 1, your VMs `location`, `vm-type`, a resources `group name`, your `virtual machine's name` and the `password` to login into your instance: + +```bash +python azure-vm.py create-vm --subscription-id --location --vm-type --group-name --vm-name --pw +``` + +To leverage CPU optimized instances, we recommend using the [`Fsv2-series`](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes-compute) instances which contain AVX-512 instructions. Here's an example commmand for launching a VM in the US East location using F4s-v2 instance containing 4 vCPUs and 8GB of RAM: + +```bash +python azure-vm.py create-vm --subscription-id --location eastus --vm-type Standard_F4s_v2 --group-name deepsparse-group --vm-name deepsparse-vm --pw Password123! +``` + +**PRO-TIP**: The password passed into the CLI command must satisfy the following conditions: + +1) Contains an uppercase character. +2) Contains a lowercase character. +3) Contains a numeric digit. +4) Contains a special character. +5) Control characters are not allowed. + +## **Step 4: SSH Into the Instance** + +After running the script, your instance's public IP address will be printed out in the terminal. Pass the IP address into the following CLI command to SSH into your running instance: + +```bash +ssh testuser@ +``` + +Get root access: + +After entering your password, get root: + +```bash +sudo su +``` + +## **Step 5: Run DeepSparse** + +We recommend giving your instance 2-3 mins. to finish executing the bash script. To make sure you have the DeepSparse image imported, run the following command: + +```bash +docker images +``` +You should be able to see DeepSparse image installed, if it shows an empty table, the bash script hasn't completed execution. + +After you see the image in your instance, you can now execute DeepSparse from the running container. Here's an example of running the DeepSparse server a pruned-quantized version of BERT trained on SQuAD: + +```bash +docker run -it deepsparse_docker deepsparse.benchmark zoo:nlp/question_answering/bert-base/pytorch/huggingface/squad/pruned95_obs_quant-none -i [64,128] -b 64 -nstreams 1 -s sync +``` + +## **Step 6: Delete Instance and Resource Group** + +```bash +python azure-vm.py delete-vm-rg --subscription-id --group-name --vm-name +``` \ No newline at end of file diff --git a/examples/azure-vm/azure-vm.py b/examples/azure-vm/azure-vm.py new file mode 100644 index 0000000000..c84f2f049a --- /dev/null +++ b/examples/azure-vm/azure-vm.py @@ -0,0 +1,271 @@ +# Copyright (c) 2021 - present / Neuralmagic, Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import base64 + +import click + +from azure.identity import DefaultAzureCredential +from azure.mgmt.compute import ComputeManagementClient +from azure.mgmt.network import NetworkManagementClient +from azure.mgmt.resource import ResourceManagementClient + + +@click.group() +def cli(): + pass + + +@cli.command() +@click.option("--subscription-id", required=True, help="Azure subscription ID") +@click.option("--location", required=True, help="Location") +@click.option("--vm-type", required=True, help="Virtual machine type") +@click.option("--group-name", required=True, help="Resource group name") +@click.option("--vm-name", required=True, help="Virtual machine name") +@click.option("--pw", required=True, help="Virtual machine password") +def create_vm(subscription_id, location, vm_type, group_name, vm_name, pw): + + SUBSCRIPTION_ID = subscription_id + LOCATION = location + VM_TYPE = vm_type + GROUP_NAME = group_name + VIRTUAL_MACHINE_NAME = vm_name + PASSWORD = pw + SUBNET_NAME = "subnetx" + INTERFACE_NAME = "interfacex" + NETWORK_NAME = "networknamex" + IP_ADDRESS_NAME = "ipaddressx" + NSG_NAME = "nsgx" + + custom_data = """#!/bin/bash + apt-get update + apt-get install -y apt-transport-https ca-certificates curl \\ + software-properties-common + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \\ + sudo apt-key add - + add-apt-repository "deb [arch=amd64] \\ + https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" + apt-get update + apt-get install -y docker-ce + docker pull ghcr.io/neuralmagic/deepsparse:1.4.2 + docker tag ghcr.io/neuralmagic/deepsparse:1.4.2 deepsparse_docker + """ + + # Encode custom_data as Base64 + encoded_custom_data = base64.b64encode(custom_data.encode()).decode() + + # Create client + resource_client = ResourceManagementClient( + credential=DefaultAzureCredential(), subscription_id=SUBSCRIPTION_ID + ) + network_client = NetworkManagementClient( + credential=DefaultAzureCredential(), subscription_id=SUBSCRIPTION_ID + ) + compute_client = ComputeManagementClient( + credential=DefaultAzureCredential(), subscription_id=SUBSCRIPTION_ID + ) + + create_resource_group(resource_client, GROUP_NAME, LOCATION) + create_virtual_network(network_client, GROUP_NAME, NETWORK_NAME, LOCATION) + subnet = create_subnet(network_client, GROUP_NAME, NETWORK_NAME, SUBNET_NAME) + nsg = create_network_security_group(network_client, GROUP_NAME, NSG_NAME, LOCATION) + public_ip_address = create_public_ip_address( + network_client, GROUP_NAME, IP_ADDRESS_NAME, LOCATION + ) + create_network_interface( + network_client, + GROUP_NAME, + INTERFACE_NAME, + LOCATION, + subnet, + public_ip_address, + nsg, + ) + create_virtual_machine( + compute_client, + GROUP_NAME, + VIRTUAL_MACHINE_NAME, + LOCATION, + VM_TYPE, + subnet, + INTERFACE_NAME, + SUBSCRIPTION_ID, + custom_data, + PASSWORD, + encoded_custom_data, + ) + + print("Your external public IP address:", public_ip_address.ip_address) + + +def create_resource_group(resource_client, group_name, location): + resource_client.resource_groups.create_or_update(group_name, {"location": location}) + + +def create_virtual_network(network_client, group_name, network_name, location): + network_client.virtual_networks.begin_create_or_update( + group_name, + network_name, + {"location": location, "address_space": {"address_prefixes": ["10.0.0.0/16"]}}, + ).result() + + +def create_subnet(network_client, group_name, network_name, subnet_name): + return network_client.subnets.begin_create_or_update( + group_name, network_name, subnet_name, {"address_prefix": "10.0.0.0/24"} + ).result() + + +def create_network_security_group(network_client, group_name, nsg_name, location): + nsg_params = { + "location": location, + "security_rules": [ + { + "name": "SSH", + "protocol": "Tcp", + "source_port_range": "*", + "destination_port_range": "22", + "source_address_prefix": "*", + "destination_address_prefix": "*", + "access": "Allow", + "priority": 100, + "direction": "Inbound", + } + ], + } + return network_client.network_security_groups.begin_create_or_update( + group_name, nsg_name, nsg_params + ).result() + + +def create_public_ip_address(network_client, group_name, ip_address_name, location): + public_ip_address_params = { + "location": location, + "public_ip_allocation_method": "static", + "public_ip_address_version": "ipv4", + } + return network_client.public_ip_addresses.begin_create_or_update( + group_name, ip_address_name, public_ip_address_params + ).result() + + +def create_network_interface( + network_client, group_name, interface_name, location, subnet, public_ip_address, nsg +): + network_interface_params = { + "location": location, + "ip_configurations": [ + { + "name": "MyIpConfig", + "subnet": {"id": subnet.id}, + "public_ip_address": {"id": public_ip_address.id}, + } + ], + "network_security_group": {"id": nsg.id}, + } + return network_client.network_interfaces.begin_create_or_update( + group_name, interface_name, network_interface_params + ).result() + + +def create_virtual_machine( + compute_client, + group_name, + vm_name, + location, + vm_type, + subnet, + interface_name, + subscription_id, + custom_data, + PASSWORD, + encoded_custom_data, +): + return compute_client.virtual_machines.begin_create_or_update( + group_name, + vm_name, + { + "location": location, + "hardware_profile": {"vm_size": vm_type}, + "storage_profile": { + "image_reference": { + "sku": "20_04-lts-gen2", + "publisher": "Canonical", + "version": "latest", + "offer": "0001-com-ubuntu-server-focal", + }, + "os_disk": { + "caching": "ReadWrite", + "managed_disk": {"storage_account_type": "Standard_LRS"}, + "name": "myVMosdisk", + "create_option": "FromImage", + }, + "data_disks": [ + {"disk_size_gb": "1023", "create_option": "Empty", "lun": "0"}, + {"disk_size_gb": "1023", "create_option": "Empty", "lun": "1"}, + ], + }, + "os_profile": { + "admin_username": "testuser", + "computer_name": "myVM", + "admin_password": PASSWORD, + "custom_data": encoded_custom_data, + }, + "network_profile": { + "network_interfaces": [ + { + "id": "/subscriptions/" + + subscription_id + + "/resourceGroups/" + + group_name + + "/providers/Microsoft.Network/networkInterfaces/" + + interface_name + + "", + "properties": {"primary": True}, + } + ] + }, + }, + ).result() + + +@cli.command() +@click.option("--subscription-id", required=True, help="Azure subscription ID") +@click.option("--group-name", required=True, help="Resource group name") +@click.option("--vm-name", required=True, help="Virtual machine name") +def delete_vm_rg(subscription_id, group_name, vm_name): + compute_client = ComputeManagementClient( + credential=DefaultAzureCredential(), subscription_id=subscription_id + ) + resource_client = ResourceManagementClient( + credential=DefaultAzureCredential(), subscription_id=subscription_id + ) + + delete_virtual_machine(compute_client, group_name, vm_name) + delete_resource_group(resource_client, group_name) + + +def delete_virtual_machine(compute_client, group_name, vm_name): + compute_client.virtual_machines.begin_power_off(group_name, vm_name).result() + + compute_client.virtual_machines.begin_delete(group_name, vm_name).result() + print("Delete virtual machine.\n") + + +def delete_resource_group(resource_client, group_name): + resource_client.resource_groups.begin_delete(group_name).result() + + +if __name__ == "__main__": + cli() diff --git a/examples/azure-vm/requirements.txt b/examples/azure-vm/requirements.txt new file mode 100644 index 0000000000..19fd16dd6b --- /dev/null +++ b/examples/azure-vm/requirements.txt @@ -0,0 +1,4 @@ +azure-mgmt-compute=>30.0.0 +azure-identity=>1.13.0 +azure-mgmt-resource=>23.0.1 +click=>8.0.4 From b178e911c9674b7ff4139a13016b3e78a92ecb77 Mon Sep 17 00:00:00 2001 From: InquestGeronimo Date: Tue, 13 Jun 2023 15:53:31 -0400 Subject: [PATCH 02/11] edit readme --- examples/azure-vm/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/azure-vm/README.md b/examples/azure-vm/README.md index 35fa364229..d63afb0626 100644 --- a/examples/azure-vm/README.md +++ b/examples/azure-vm/README.md @@ -20,7 +20,7 @@ Neural Magic’s DeepSparse is an inference runtime that can be deployed directl If you are interested in configuring and launching an instance with DeepSparse in Python, follow the step-by-step guide below. -We recommend installing the [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) for easy access to Azure's functionalities although it is not necessary. +We recommend installing the [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) for easy access to Azure's functionalities although it is not required. ## Step 1: Create a Subscription [Create an Azure subscription](https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/create-subscription) to gain access to a `subscription id`. @@ -36,7 +36,7 @@ pip install -r requirements.txt ## Step 3: Run Script -This [azure-vm.py script](https://github.com/neuralmagic/deepsparse/tree/main/examples/azure-vm/azure-vm.py) creates an Azure resource group, launches an Ubuntu instance and returns the Public IP address so you can SSH into the instance after it finishes staging. Additionally, it also contains a bash script that automatically downloads Docker and pulls Neural Magic's public DeepSparse image into your instance. +This [azure-vm.py](https://github.com/neuralmagic/deepsparse/tree/main/examples/azure-vm/azure-vm.py) script creates an Azure resource group, launches an Ubuntu instance and returns the Public IP address so you can SSH into the instance after it finishes staging. Additionally, it also contains a bash script that automatically downloads Docker and pulls Neural Magic's public DeepSparse image into your instance. To execute the script, run the following command and pass in your `subscription id` from step 1, your VMs `location`, `vm-type`, a resources `group name`, your `virtual machine's name` and the `password` to login into your instance: @@ -44,7 +44,7 @@ To execute the script, run the following command and pass in your `subscription python azure-vm.py create-vm --subscription-id --location --vm-type --group-name --vm-name --pw ``` -To leverage CPU optimized instances, we recommend using the [`Fsv2-series`](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes-compute) instances which contain AVX-512 instructions. Here's an example commmand for launching a VM in the US East location using F4s-v2 instance containing 4 vCPUs and 8GB of RAM: +To leverage CPU optimized instances, we recommend using the [`Fsv2-series`](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes-compute) instances which contain AVX-512 instructions. Here's an example commmand for launching a VM in the US East location using a F4s-v2 instance containing 4 vCPUs and 8GB of RAM: ```bash python azure-vm.py create-vm --subscription-id --location eastus --vm-type Standard_F4s_v2 --group-name deepsparse-group --vm-name deepsparse-vm --pw Password123! From fbec063c7ed1668af040b2a7ec0e557b416454af Mon Sep 17 00:00:00 2001 From: InquestGeronimo Date: Tue, 13 Jun 2023 15:59:10 -0400 Subject: [PATCH 03/11] edit readme --- examples/azure-vm/README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/examples/azure-vm/README.md b/examples/azure-vm/README.md index d63afb0626..fb3b64ae3a 100644 --- a/examples/azure-vm/README.md +++ b/examples/azure-vm/README.md @@ -66,9 +66,7 @@ After running the script, your instance's public IP address will be printed out ssh testuser@ ``` -Get root access: - -After entering your password, get root: +After entering your password, get root access: ```bash sudo su From 5679592be6df91f23bb7eb0b325f74d7f9bfcc9f Mon Sep 17 00:00:00 2001 From: InquestGeronimo Date: Tue, 13 Jun 2023 19:18:49 -0400 Subject: [PATCH 04/11] edit readme --- examples/azure-vm/README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/azure-vm/README.md b/examples/azure-vm/README.md index fb3b64ae3a..8d074c8121 100644 --- a/examples/azure-vm/README.md +++ b/examples/azure-vm/README.md @@ -23,7 +23,7 @@ If you are interested in configuring and launching an instance with DeepSparse i We recommend installing the [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) for easy access to Azure's functionalities although it is not required. ## Step 1: Create a Subscription -[Create an Azure subscription](https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/create-subscription) to gain access to a `subscription id`. +Create an [Azure subscription](https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/create-subscription) to gain access to a `subscription id`. ## Step 2: Install Dependencies @@ -36,15 +36,15 @@ pip install -r requirements.txt ## Step 3: Run Script -This [azure-vm.py](https://github.com/neuralmagic/deepsparse/tree/main/examples/azure-vm/azure-vm.py) script creates an Azure resource group, launches an Ubuntu instance and returns the Public IP address so you can SSH into the instance after it finishes staging. Additionally, it also contains a bash script that automatically downloads Docker and pulls Neural Magic's public DeepSparse image into your instance. +The [azure-vm.py](https://github.com/neuralmagic/deepsparse/tree/main/examples/azure-vm/azure-vm.py) script creates an Azure resource group, launches an Ubuntu instance and returns the Public IP address so you can SSH into the instance after it finishes staging. Additionally, it also contains a bash script which automatically downloads Docker and pulls Neural Magic's public DeepSparse image into your instance. -To execute the script, run the following command and pass in your `subscription id` from step 1, your VMs `location`, `vm-type`, a resources `group name`, your `virtual machine's name` and the `password` to login into your instance: +To execute the script, run the following command and pass in your `subscription id` from step 1, your VMs `location`, `vm-type`, a resources `group name`, your `virtual machine's name` and the `password` to login to your instance: ```bash python azure-vm.py create-vm --subscription-id --location --vm-type --group-name --vm-name --pw ``` -To leverage CPU optimized instances, we recommend using the [`Fsv2-series`](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes-compute) instances which contain AVX-512 instructions. Here's an example commmand for launching a VM in the US East location using a F4s-v2 instance containing 4 vCPUs and 8GB of RAM: +To leverage CPU optimized instances, we recommend using the [`Fsv2-series`](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes-compute) instances which contain AVX-512 instructions. Here's an example commmand for launching a VM in the US East location using a F4s-v2 instance (4 vCPUs and 8GB of RAM): ```bash python azure-vm.py create-vm --subscription-id --location eastus --vm-type Standard_F4s_v2 --group-name deepsparse-group --vm-name deepsparse-vm --pw Password123! @@ -79,9 +79,9 @@ We recommend giving your instance 2-3 mins. to finish executing the bash script. ```bash docker images ``` -You should be able to see DeepSparse image installed, if it shows an empty table, the bash script hasn't completed execution. +You should be able to see a downloaded DeepSparse image, if it shows an empty table, the bash script hasn't completed execution. -After you see the image in your instance, you can now execute DeepSparse from the running container. Here's an example of running the DeepSparse server a pruned-quantized version of BERT trained on SQuAD: +Upon image download, you can now use DeepSparse. Here's an example of benchmarking a pruned-quantized version of BERT trained on SQuAD from Docker: ```bash docker run -it deepsparse_docker deepsparse.benchmark zoo:nlp/question_answering/bert-base/pytorch/huggingface/squad/pruned95_obs_quant-none -i [64,128] -b 64 -nstreams 1 -s sync From 6c3659014835da0f7f44a73c3f697c16142831ae Mon Sep 17 00:00:00 2001 From: InquestGeronimo Date: Tue, 13 Jun 2023 19:20:37 -0400 Subject: [PATCH 05/11] edit readme --- examples/azure-vm/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/azure-vm/README.md b/examples/azure-vm/README.md index 8d074c8121..67c600abbb 100644 --- a/examples/azure-vm/README.md +++ b/examples/azure-vm/README.md @@ -38,7 +38,7 @@ pip install -r requirements.txt The [azure-vm.py](https://github.com/neuralmagic/deepsparse/tree/main/examples/azure-vm/azure-vm.py) script creates an Azure resource group, launches an Ubuntu instance and returns the Public IP address so you can SSH into the instance after it finishes staging. Additionally, it also contains a bash script which automatically downloads Docker and pulls Neural Magic's public DeepSparse image into your instance. -To execute the script, run the following command and pass in your `subscription id` from step 1, your VMs `location`, `vm-type`, a resources `group name`, your `virtual machine's name` and the `password` to login to your instance: +To execute the script, run the following command and pass in your `subscription id` from step 1, your VMs `location`, `vm-type`, a resources `group name`, your `virtual machine's name` and the `password` for logging in to your instance: ```bash python azure-vm.py create-vm --subscription-id --location --vm-type --group-name --vm-name --pw From eb5770c406909c7152e6d964e96b4ca5bee8abe2 Mon Sep 17 00:00:00 2001 From: InquestGeronimo Date: Wed, 14 Jun 2023 09:42:53 -0400 Subject: [PATCH 06/11] refactored script --- examples/azure-vm/README.md | 2 +- examples/azure-vm/azure-vm.py | 225 +++++++++++++++++----------------- 2 files changed, 112 insertions(+), 115 deletions(-) diff --git a/examples/azure-vm/README.md b/examples/azure-vm/README.md index 67c600abbb..11ec856719 100644 --- a/examples/azure-vm/README.md +++ b/examples/azure-vm/README.md @@ -44,7 +44,7 @@ To execute the script, run the following command and pass in your `subscription python azure-vm.py create-vm --subscription-id --location --vm-type --group-name --vm-name --pw ``` -To leverage CPU optimized instances, we recommend using the [`Fsv2-series`](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes-compute) instances which contain AVX-512 instructions. Here's an example commmand for launching a VM in the US East location using a F4s-v2 instance (4 vCPUs and 8GB of RAM): +To leverage CPU optimized instances, we recommend using the [`Fsv2-series`](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes-compute) instances which contain AVX-512 instructions. Here's an example command for launching a VM in the US East location using a F4s-v2 instance (4 vCPUs and 8GB of RAM): ```bash python azure-vm.py create-vm --subscription-id --location eastus --vm-type Standard_F4s_v2 --group-name deepsparse-group --vm-name deepsparse-vm --pw Password123! diff --git a/examples/azure-vm/azure-vm.py b/examples/azure-vm/azure-vm.py index c84f2f049a..b16d8c4c49 100644 --- a/examples/azure-vm/azure-vm.py +++ b/examples/azure-vm/azure-vm.py @@ -22,98 +22,11 @@ from azure.mgmt.resource import ResourceManagementClient -@click.group() -def cli(): - pass - - -@cli.command() -@click.option("--subscription-id", required=True, help="Azure subscription ID") -@click.option("--location", required=True, help="Location") -@click.option("--vm-type", required=True, help="Virtual machine type") -@click.option("--group-name", required=True, help="Resource group name") -@click.option("--vm-name", required=True, help="Virtual machine name") -@click.option("--pw", required=True, help="Virtual machine password") -def create_vm(subscription_id, location, vm_type, group_name, vm_name, pw): - - SUBSCRIPTION_ID = subscription_id - LOCATION = location - VM_TYPE = vm_type - GROUP_NAME = group_name - VIRTUAL_MACHINE_NAME = vm_name - PASSWORD = pw - SUBNET_NAME = "subnetx" - INTERFACE_NAME = "interfacex" - NETWORK_NAME = "networknamex" - IP_ADDRESS_NAME = "ipaddressx" - NSG_NAME = "nsgx" - - custom_data = """#!/bin/bash - apt-get update - apt-get install -y apt-transport-https ca-certificates curl \\ - software-properties-common - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \\ - sudo apt-key add - - add-apt-repository "deb [arch=amd64] \\ - https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" - apt-get update - apt-get install -y docker-ce - docker pull ghcr.io/neuralmagic/deepsparse:1.4.2 - docker tag ghcr.io/neuralmagic/deepsparse:1.4.2 deepsparse_docker - """ - - # Encode custom_data as Base64 - encoded_custom_data = base64.b64encode(custom_data.encode()).decode() - - # Create client - resource_client = ResourceManagementClient( - credential=DefaultAzureCredential(), subscription_id=SUBSCRIPTION_ID - ) - network_client = NetworkManagementClient( - credential=DefaultAzureCredential(), subscription_id=SUBSCRIPTION_ID - ) - compute_client = ComputeManagementClient( - credential=DefaultAzureCredential(), subscription_id=SUBSCRIPTION_ID - ) - - create_resource_group(resource_client, GROUP_NAME, LOCATION) - create_virtual_network(network_client, GROUP_NAME, NETWORK_NAME, LOCATION) - subnet = create_subnet(network_client, GROUP_NAME, NETWORK_NAME, SUBNET_NAME) - nsg = create_network_security_group(network_client, GROUP_NAME, NSG_NAME, LOCATION) - public_ip_address = create_public_ip_address( - network_client, GROUP_NAME, IP_ADDRESS_NAME, LOCATION - ) - create_network_interface( - network_client, - GROUP_NAME, - INTERFACE_NAME, - LOCATION, - subnet, - public_ip_address, - nsg, - ) - create_virtual_machine( - compute_client, - GROUP_NAME, - VIRTUAL_MACHINE_NAME, - LOCATION, - VM_TYPE, - subnet, - INTERFACE_NAME, - SUBSCRIPTION_ID, - custom_data, - PASSWORD, - encoded_custom_data, - ) - - print("Your external public IP address:", public_ip_address.ip_address) - - -def create_resource_group(resource_client, group_name, location): +def create_resource_group(resource_client: str, group_name: str, location: str): resource_client.resource_groups.create_or_update(group_name, {"location": location}) -def create_virtual_network(network_client, group_name, network_name, location): +def create_virtual_network(network_client: str, group_name: str, network_name: str, location: str): network_client.virtual_networks.begin_create_or_update( group_name, network_name, @@ -121,13 +34,13 @@ def create_virtual_network(network_client, group_name, network_name, location): ).result() -def create_subnet(network_client, group_name, network_name, subnet_name): +def create_subnet(network_client: str, group_name: str, network_name: str, subnet_name: str): return network_client.subnets.begin_create_or_update( group_name, network_name, subnet_name, {"address_prefix": "10.0.0.0/24"} ).result() -def create_network_security_group(network_client, group_name, nsg_name, location): +def create_network_security_group(network_client: str, group_name: str, nsg_name: str, location: str): nsg_params = { "location": location, "security_rules": [ @@ -149,7 +62,7 @@ def create_network_security_group(network_client, group_name, nsg_name, location ).result() -def create_public_ip_address(network_client, group_name, ip_address_name, location): +def create_public_ip_address(network_client: str, group_name: str, ip_address_name: str, location: str): public_ip_address_params = { "location": location, "public_ip_allocation_method": "static", @@ -161,7 +74,7 @@ def create_public_ip_address(network_client, group_name, ip_address_name, locati def create_network_interface( - network_client, group_name, interface_name, location, subnet, public_ip_address, nsg + network_client: str, group_name: str, interface_name: str, location: str, subnet: str, public_ip_address: str, nsg: str ): network_interface_params = { "location": location, @@ -180,17 +93,15 @@ def create_network_interface( def create_virtual_machine( - compute_client, - group_name, - vm_name, - location, - vm_type, - subnet, - interface_name, - subscription_id, - custom_data, - PASSWORD, - encoded_custom_data, + compute_client: str, + group_name: str, + vm_name: str, + location: str, + vm_type: str, + interface_name: str, + subscription_id: str, + PASSWORD: str, + encoded_custom_data: str, ): return compute_client.virtual_machines.begin_create_or_update( group_name, @@ -239,12 +150,105 @@ def create_virtual_machine( }, ).result() +@click.group() +def cli(): + pass + @cli.command() @click.option("--subscription-id", required=True, help="Azure subscription ID") +@click.option("--location", required=True, help="Location") +@click.option("--vm-type", required=True, help="Virtual machine type") @click.option("--group-name", required=True, help="Resource group name") @click.option("--vm-name", required=True, help="Virtual machine name") -def delete_vm_rg(subscription_id, group_name, vm_name): +@click.option("--pw", required=True, help="Virtual machine password") +def create_vm(subscription_id: str, location: str, vm_type: str, group_name: str, vm_name: str, pw: str): + """ + Create a new virtual machine in Azure. + + Args: + subscription_id (str): Azure subscription ID. + location (str): Location where the VM will be created. + vm_type (str): Type of virtual machine (size). + group_name (str): Name of the resource group to create. + vm_name (str): Name of the virtual machine to create. + pw (str): Password for the virtual machine. + """ + SUBSCRIPTION_ID = subscription_id + LOCATION = location + VM_TYPE = vm_type + GROUP_NAME = group_name + VIRTUAL_MACHINE_NAME = vm_name + PASSWORD = pw + SUBNET_NAME = "subnetx" + INTERFACE_NAME = "interfacex" + NETWORK_NAME = "networknamex" + IP_ADDRESS_NAME = "ipaddressx" + NSG_NAME = "nsgx" + + startup_script = """#!/bin/bash + apt-get update + apt-get install -y apt-transport-https ca-certificates curl \\ + software-properties-common + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \\ + sudo apt-key add - + add-apt-repository "deb [arch=amd64] \\ + https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" + apt-get update + apt-get install -y docker-ce + docker pull ghcr.io/neuralmagic/deepsparse:1.4.2 + docker tag ghcr.io/neuralmagic/deepsparse:1.4.2 deepsparse_docker + """ + + # Encode startup_script as Base64 + encoded_custom_data = base64.b64encode(startup_script.encode()).decode() + + # Create client + resource_client = ResourceManagementClient( + credential=DefaultAzureCredential(), subscription_id=SUBSCRIPTION_ID + ) + network_client = NetworkManagementClient( + credential=DefaultAzureCredential(), subscription_id=SUBSCRIPTION_ID + ) + compute_client = ComputeManagementClient( + credential=DefaultAzureCredential(), subscription_id=SUBSCRIPTION_ID + ) + + create_resource_group(resource_client, GROUP_NAME, LOCATION) + create_virtual_network(network_client, GROUP_NAME, NETWORK_NAME, LOCATION) + subnet = create_subnet(network_client, GROUP_NAME, NETWORK_NAME, SUBNET_NAME) + nsg = create_network_security_group(network_client, GROUP_NAME, NSG_NAME, LOCATION) + public_ip_address = create_public_ip_address( + network_client, GROUP_NAME, IP_ADDRESS_NAME, LOCATION + ) + create_network_interface( + network_client, + GROUP_NAME, + INTERFACE_NAME, + LOCATION, + subnet, + public_ip_address, + nsg, + ) + create_virtual_machine( + compute_client, + GROUP_NAME, + VIRTUAL_MACHINE_NAME, + LOCATION, + VM_TYPE, + INTERFACE_NAME, + SUBSCRIPTION_ID, + PASSWORD, + encoded_custom_data, + ) + + print("Your external public IP address:", public_ip_address.ip_address) + +@cli.command() +@click.option("--subscription-id", required=True, help="Azure subscription ID") +@click.option("--group-name", required=True, help="Resource group name") +@click.option("--vm-name", required=True, help="Virtual machine name") +def delete_vm_rg(subscription_id: str, group_name: str, vm_name: str): compute_client = ComputeManagementClient( credential=DefaultAzureCredential(), subscription_id=subscription_id ) @@ -252,19 +256,12 @@ def delete_vm_rg(subscription_id, group_name, vm_name): credential=DefaultAzureCredential(), subscription_id=subscription_id ) - delete_virtual_machine(compute_client, group_name, vm_name) - delete_resource_group(resource_client, group_name) - - -def delete_virtual_machine(compute_client, group_name, vm_name): compute_client.virtual_machines.begin_power_off(group_name, vm_name).result() - compute_client.virtual_machines.begin_delete(group_name, vm_name).result() - print("Delete virtual machine.\n") - + print("Deleted virtual machine.") -def delete_resource_group(resource_client, group_name): resource_client.resource_groups.begin_delete(group_name).result() + print("Deleted resource group.") if __name__ == "__main__": From ede9602a4edec27c5a5867fd1c704cb0fec63c4c Mon Sep 17 00:00:00 2001 From: InquestGeronimo Date: Wed, 14 Jun 2023 09:43:31 -0400 Subject: [PATCH 07/11] quality check --- examples/azure-vm/azure-vm.py | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/examples/azure-vm/azure-vm.py b/examples/azure-vm/azure-vm.py index b16d8c4c49..8946efaf30 100644 --- a/examples/azure-vm/azure-vm.py +++ b/examples/azure-vm/azure-vm.py @@ -26,7 +26,9 @@ def create_resource_group(resource_client: str, group_name: str, location: str): resource_client.resource_groups.create_or_update(group_name, {"location": location}) -def create_virtual_network(network_client: str, group_name: str, network_name: str, location: str): +def create_virtual_network( + network_client: str, group_name: str, network_name: str, location: str +): network_client.virtual_networks.begin_create_or_update( group_name, network_name, @@ -34,13 +36,17 @@ def create_virtual_network(network_client: str, group_name: str, network_name: s ).result() -def create_subnet(network_client: str, group_name: str, network_name: str, subnet_name: str): +def create_subnet( + network_client: str, group_name: str, network_name: str, subnet_name: str +): return network_client.subnets.begin_create_or_update( group_name, network_name, subnet_name, {"address_prefix": "10.0.0.0/24"} ).result() -def create_network_security_group(network_client: str, group_name: str, nsg_name: str, location: str): +def create_network_security_group( + network_client: str, group_name: str, nsg_name: str, location: str +): nsg_params = { "location": location, "security_rules": [ @@ -62,7 +68,9 @@ def create_network_security_group(network_client: str, group_name: str, nsg_name ).result() -def create_public_ip_address(network_client: str, group_name: str, ip_address_name: str, location: str): +def create_public_ip_address( + network_client: str, group_name: str, ip_address_name: str, location: str +): public_ip_address_params = { "location": location, "public_ip_allocation_method": "static", @@ -74,7 +82,13 @@ def create_public_ip_address(network_client: str, group_name: str, ip_address_na def create_network_interface( - network_client: str, group_name: str, interface_name: str, location: str, subnet: str, public_ip_address: str, nsg: str + network_client: str, + group_name: str, + interface_name: str, + location: str, + subnet: str, + public_ip_address: str, + nsg: str, ): network_interface_params = { "location": location, @@ -150,6 +164,7 @@ def create_virtual_machine( }, ).result() + @click.group() def cli(): pass @@ -162,7 +177,14 @@ def cli(): @click.option("--group-name", required=True, help="Resource group name") @click.option("--vm-name", required=True, help="Virtual machine name") @click.option("--pw", required=True, help="Virtual machine password") -def create_vm(subscription_id: str, location: str, vm_type: str, group_name: str, vm_name: str, pw: str): +def create_vm( + subscription_id: str, + location: str, + vm_type: str, + group_name: str, + vm_name: str, + pw: str, +): """ Create a new virtual machine in Azure. @@ -244,6 +266,7 @@ def create_vm(subscription_id: str, location: str, vm_type: str, group_name: str print("Your external public IP address:", public_ip_address.ip_address) + @cli.command() @click.option("--subscription-id", required=True, help="Azure subscription ID") @click.option("--group-name", required=True, help="Resource group name") From 797e2907abcf45ebe39a1e95a761a87ffce03146 Mon Sep 17 00:00:00 2001 From: InquestGeronimo Date: Wed, 14 Jun 2023 09:47:47 -0400 Subject: [PATCH 08/11] cleanup --- examples/azure-vm/azure-vm.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/azure-vm/azure-vm.py b/examples/azure-vm/azure-vm.py index 8946efaf30..4333462d32 100644 --- a/examples/azure-vm/azure-vm.py +++ b/examples/azure-vm/azure-vm.py @@ -115,7 +115,7 @@ def create_virtual_machine( interface_name: str, subscription_id: str, PASSWORD: str, - encoded_custom_data: str, + startup_script: str, ): return compute_client.virtual_machines.begin_create_or_update( group_name, @@ -145,7 +145,7 @@ def create_virtual_machine( "admin_username": "testuser", "computer_name": "myVM", "admin_password": PASSWORD, - "custom_data": encoded_custom_data, + "custom_data": startup_script, }, "network_profile": { "network_interfaces": [ @@ -223,7 +223,7 @@ def create_vm( """ # Encode startup_script as Base64 - encoded_custom_data = base64.b64encode(startup_script.encode()).decode() + startup_script = base64.b64encode(startup_script.encode()).decode() # Create client resource_client = ResourceManagementClient( @@ -261,7 +261,7 @@ def create_vm( INTERFACE_NAME, SUBSCRIPTION_ID, PASSWORD, - encoded_custom_data, + startup_script, ) print("Your external public IP address:", public_ip_address.ip_address) From fe95201aa81e1cd719f08c6c034d6a234a591082 Mon Sep 17 00:00:00 2001 From: InquestGeronimo Date: Wed, 14 Jun 2023 09:55:42 -0400 Subject: [PATCH 09/11] add docstrings --- examples/azure-vm/azure-vm.py | 121 ++++++++++++++++++++++++++++++++-- 1 file changed, 114 insertions(+), 7 deletions(-) diff --git a/examples/azure-vm/azure-vm.py b/examples/azure-vm/azure-vm.py index 4333462d32..5d09d1d575 100644 --- a/examples/azure-vm/azure-vm.py +++ b/examples/azure-vm/azure-vm.py @@ -22,13 +22,35 @@ from azure.mgmt.resource import ResourceManagementClient -def create_resource_group(resource_client: str, group_name: str, location: str): +def create_resource_group( + resource_client: ResourceManagementClient, group_name: str, location: str +): + """ + Create a resource group in Azure. + + Args: + resource_client (ResourceManagementClient): Azure Resource client. + group_name (str): Name of the resource group to create. + location (str): Location of the resource group. + """ resource_client.resource_groups.create_or_update(group_name, {"location": location}) def create_virtual_network( - network_client: str, group_name: str, network_name: str, location: str + network_client: NetworkManagementClient, + group_name: str, + network_name: str, + location: str, ): + """ + Create a virtual network in Azure. + + Args: + network_client (NetworkManagementClient): Azure NetworkManagementClient object. + group_name (str): Name of the resource group. + network_name (str): Name of the virtual network to create. + location (str): Location of the virtual network. + """ network_client.virtual_networks.begin_create_or_update( group_name, network_name, @@ -37,16 +59,46 @@ def create_virtual_network( def create_subnet( - network_client: str, group_name: str, network_name: str, subnet_name: str + network_client: NetworkManagementClient, + group_name: str, + network_name: str, + subnet_name: str, ): + """ + Create a subnet in Azure. + + Args: + network_client (NetworkManagementClient): Azure NetworkManagementClient object. + group_name (str): Name of the resource group. + network_name (str): Name of the virtual network. + subnet_name (str): Name of the subnet to create. + + Returns: + The created subnet. + """ return network_client.subnets.begin_create_or_update( group_name, network_name, subnet_name, {"address_prefix": "10.0.0.0/24"} ).result() def create_network_security_group( - network_client: str, group_name: str, nsg_name: str, location: str + network_client: NetworkManagementClient, + group_name: str, + nsg_name: str, + location: str, ): + """ + Create a network security group in Azure. + + Args: + network_client (NetworkManagementClient): Azure NetworkManagementClient object. + group_name (str): Name of the resource group. + nsg_name (str): Name of the network security group to create. + location (str): Location of the network security group. + + Returns: + The created network security group. + """ nsg_params = { "location": location, "security_rules": [ @@ -69,8 +121,23 @@ def create_network_security_group( def create_public_ip_address( - network_client: str, group_name: str, ip_address_name: str, location: str + network_client: NetworkManagementClient, + group_name: str, + ip_address_name: str, + location: str, ): + """ + Create a public IP address in Azure. + + Args: + network_client (NetworkManagementClient): Azure NetworkManagementClient object. + group_name (str): Name of the resource group. + ip_address_name (str): Name of the public IP address to create. + location (str): Location of the public IP address. + + Returns: + The created public IP address. + """ public_ip_address_params = { "location": location, "public_ip_allocation_method": "static", @@ -82,7 +149,7 @@ def create_public_ip_address( def create_network_interface( - network_client: str, + network_client: NetworkManagementClient, group_name: str, interface_name: str, location: str, @@ -90,6 +157,21 @@ def create_network_interface( public_ip_address: str, nsg: str, ): + """ + Create a network interface in Azure. + + Args: + network_client (NetworkManagementClient): Azure NetworkManagementClient object. + group_name (str): Name of the resource group. + interface_name (str): Name of the network interface to create. + location (str): Location of the network interface. + subnet: The subnet object to associate with the network interface. + public_ip_address: The public IP address object to associate with the network. + nsg: The network security group object to associate with the network interface. + + Returns: + The created network interface. + """ network_interface_params = { "location": location, "ip_configurations": [ @@ -107,7 +189,7 @@ def create_network_interface( def create_virtual_machine( - compute_client: str, + compute_client: ComputeManagementClient, group_name: str, vm_name: str, location: str, @@ -117,6 +199,23 @@ def create_virtual_machine( PASSWORD: str, startup_script: str, ): + """ + Create a virtual machine in Azure. + + Args: + compute_client (ComputeManagementClient): Azure ComputeManagementClient object. + group_name (str): Name of the resource group. + vm_name (str): Name of the virtual machine to create. + location (str): Location of the virtual machine. + vm_type (str): Type of virtual machine (size). + interface_name (str): Name of the network interface. + subscription_id (str): Azure subscription ID. + PASSWORD (str): Admin password for the virtual machine. + startup_script (str): Custom startup script for the virtual machine. + + Returns: + The created virtual machine. + """ return compute_client.virtual_machines.begin_create_or_update( group_name, vm_name, @@ -272,6 +371,14 @@ def create_vm( @click.option("--group-name", required=True, help="Resource group name") @click.option("--vm-name", required=True, help="Virtual machine name") def delete_vm_rg(subscription_id: str, group_name: str, vm_name: str): + """ + Delete a virtual machine and its associated resource group in Azure. + + Args: + subscription_id (str): Azure subscription ID. + group_name (str): Name of the resource group to delete. + vm_name (str): Name of the virtual machine to delete. + """ compute_client = ComputeManagementClient( credential=DefaultAzureCredential(), subscription_id=subscription_id ) From eda934a3d246e394df4052bc83c6cb56e706c98f Mon Sep 17 00:00:00 2001 From: InquestGeronimo Date: Fri, 16 Jun 2023 14:22:02 -0400 Subject: [PATCH 10/11] add diagram --- examples/azure-vm/README.md | 2 ++ examples/azure-vm/azure-vm-pic.png | Bin 0 -> 49535 bytes examples/azure-vm/azure-vm.py | 8 ++++---- 3 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 examples/azure-vm/azure-vm-pic.png diff --git a/examples/azure-vm/README.md b/examples/azure-vm/README.md index 11ec856719..5c1f1d1c44 100644 --- a/examples/azure-vm/README.md +++ b/examples/azure-vm/README.md @@ -16,6 +16,8 @@ limitations under the License. # **Getting Started With DeepSparse in an Azure VM** +![diagram](./azure-vm-pic.png) + Neural Magic’s DeepSparse is an inference runtime that can be deployed directly from a public Docker image. DeepSparse supports various CPU instance types and sizes, allowing you to quickly deploy the infrastructure that works best for your use case, based on cost and performance. If you are interested in configuring and launching an instance with DeepSparse in Python, follow the step-by-step guide below. diff --git a/examples/azure-vm/azure-vm-pic.png b/examples/azure-vm/azure-vm-pic.png new file mode 100644 index 0000000000000000000000000000000000000000..cab869975652fa6a22972f4d30fd5cdc1ebd7997 GIT binary patch literal 49535 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 z Date: Tue, 11 Jul 2023 19:08:29 -0400 Subject: [PATCH 11/11] added nm logo --- examples/azure-vm/azure-vm-pic.png | Bin 49535 -> 50930 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/azure-vm/azure-vm-pic.png b/examples/azure-vm/azure-vm-pic.png index cab869975652fa6a22972f4d30fd5cdc1ebd7997..9bb1dc26410b9801ac2814b32ecfd9d0f782851f 100644 GIT binary patch literal 50930 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%0Aa+;LL9H}kDrjK;ONik-N134> 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 literal 49535 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 z