Skip to main content

Flavors - GPU/CPU Configurations

Infrahub provides a range of GPU/CPU configurations for your virtual machines, comprising combinations of GPU, vCPUs, RAM, and system disk. These virtual machine configurations are referred to as flavors. Our pre-configured flavors are designed to cater to a diverse range of workloads. Additionally, we offer the flexibility to create custom flavors tailored to the unique requirements of your workload. You can also modify the flavor of your existing virtual machines through a process known as resizing.

In this article


Choose a flavor for your virtual machine

To get up-to-date information on the current GPU stock levels for your preferred flavor, you can check the Infrahub user interface or use the GPU stock reporting API. The information provided includes the total available GPU units and the current inventory count for each GPU model.

Our latest N3 flavors for the H100 and A100 GPUs offer significant enhancements over our N2 offerings, including performance improvements, shortened deployment times, and networking speed. For detailed information on the hardware configurations and features of these flavors, click here.


H100

GPU: H100-80GB-PCIe

To explore the performance enhancements provided by our N3 flavors in comparison to N1 and N2, click here.

Region: CANADA-1

Flavor NameGPU CountCPU CoresCPU SocketsRAM (GB)Root Disk (GB)Ephemeral Disk (GB)
n3-H100x11282180100750
n3-H100x226023601001500
n3-H100x4412427201003200
n3-H100x88252214401006500

Region: CANADA-1

Flavor NameGPU CountCPU CoresCPU SocketsRAM (GB)Root Disk (GB)Ephemeral Disk (GB)
n3-H100x8-NVLink-K8s8252214406600NA
info

The n3-H100x8-NVLink-K8s flavor does NOT support virtual machine hibernation because the root disk for this configuration is too large for a local snapshot, which is required for hibernation. If you need to save the data on your VM before deletion, copy the data to a Shared Storage Volume (SSV) as outlined below.

How to save your workload data to an SSV

VM data can be stored by utilizing Shared Storage volumes (SSVs).

  1. Create a volume either through Hyperstack, or by using the Infrahub API's "Create volume" endpoint.

  2. Attach and mount the volume to your virtual machine, achieved either through Hyperstack or by using the "Attach volumes to virtual machine" Infrahub API endpoint.

  3. Once the volume is attached to your virtual machine, you can proceed to move or copy the data from the disk to the shared storage volume, saving your data.

  4. With the data now saved on the volume, you can delete the virtual machine without the risk of data loss.


A100

GPU: A100-80G-PCIe (N3 - 2024 series)

To explore the performance enhancements provided by our N3 flavors in comparison to N1 and N2, click here.

Region: CANADA-1

Flavor NameGPU CountCPU CoresCPU SocketsRAM (GB)Root Disk (GB)Ephemeral Disk (GB)
n3-A100x11282120100750
n3-A100x226022401001500
n3-A100x4412424801003200
n3-A100x8825229601006500

GPU: A100-80G-PCIe (N1 - 2022 series)

Region: NORWAY-1

Flavor NameGPU CountCPU CoresCPU SocketsRAM (GB)Disk (GB)
n1-A100x11321119425
n1-A100x22641238850
n1-A100x4412814801700

To explore the performance enhancements provided by our N3 flavors in comparison to N1 and N2, click here.

Region: CANADA-1

Flavor NameGPU CountCPU CoresCPU SocketsRAM (GB)Root Disk (GB)Ephemeral Disk (GB)
n3-A100x8-NVLink8252219201006500

L40

GPU: L40

To explore the performance enhancements provided by our N3 flavors in comparison to N1 and N2, click here.

Region: CANADA-1

Flavor NameGPU CountCPU CoresCPU SocketsRAM (GB)Root Disk (GB)Ephemeral Disk (GB)
n3-L40x1128258100725
n3-L40x226021161001550
n3-L40x4412422321003200
n3-L40x8825224641006500

RTX GPUs

GPU: RTX-A6000-ada

Region: NORWAY-1

Flavor NameGPU CountCPU CoresCPU SocketsRAM (GB)Disk (GB)
n1-RTX-A6000-ADAx1116259.5425
n1-RTX-A6000-ADAx22322119850
n1-RTX-A6000-ADAx446422381700

GPU: RTX-A6000 (N3 - 2024 series)

To explore the performance enhancements provided by our N3 flavors in comparison to N1 and N2, click here.

Region: CANADA-1

Flavor NameGPU CountCPU CoresCPU SocketsRAM (GB)Root Disk (GB)Ephemeral Disk (GB)
n3-RTX-A6000x1128258100NA
n3-RTX-A6000x22602116100200
n3-RTX-A6000x441242232100650
n3-RTX-A6000x8825224641001400

GPU: RTX-A6000 (N1 - 2022 series)

Regions: NORWAY-1

Flavor NameGPU CountCPU CoresCPU SocketsRAM (GB)Disk (GB)
n1-RTX-A6000x1116259.5425
n1-RTX-A6000x22322119850
n1-RTX-A6000x446422381700
n1-RTX-A6000x8-a812824801700

GPU: RTX-A5000

Region: NORWAY-1

Flavor NameGPU CountCPU CoresCPU SocketsRAM (GB)Disk (GB)
n2-RTX-A5000x118130200
n2-RTX-A5000x2216160400
n2-RTX-A5000x44321120800
n2-RTX-A5000x886412401600

GPU: RTX-A4000

Region: NORWAY-1

Flavor NameGPU CountCPU CoresCPU SocketsRAM (GB)Disk (GB)
n2-RTX-A4000x116124160
n2-RTX-A4000x2212148320
n2-RTX-A4000x4424196640
n2-RTX-A4000x884811921280
n2-RTX-A4000x10106412401600

CPU-only

The following virtual machine configurations do not include GPUs:

Regions: NORWAY-1 and CANADA-1

Flavor NameCPU CoresCPU SocketsRAM (GB)Disk (GB)
n1-cpu-small424100
n1-cpu-medium828100
n1-cpu-large16216200

Retrieve a list of pre-configured flavors

GET /core/flavors

This endpoint retrieves a list of pre-configured virtual machine flavors.


Query string parameters


region optional enum

Include a region name in the query string of the request to return only the flavors available in the specified region, i.e. "NORWAY-1". If no region is included in the request, flavors available in all regions will be retrieved.

Possible enum values: NORWAY-1 or CANADA-1.

See more information about regions.


Returns


This response indicates that the list of available GPU configurations has been retrieved successfully. The flavor name that meets your GPU configuration needs, will be used in the flavor_name field within the body of the request to create a new virtual machine using the /core/virtual-machines endpoint.

note

In this example only one flavor is displayed; n1-cpu-small. Using the GET /core/flavors will return an array of all available flavors.


Example request
curl -X GET "https://infrahub-api.nexgencloud.com/v1/core/flavors" \
-H "accept: application/json"\
-H "api_key: YOUR API KEY"
Response
{
"status": `true`,
"message": "Getting flavors successful",
"data": [
{
"gpu": "",
"region_name": "NORWAY-1",
"flavors": [
{
"id": 34,
"gpu_count": 0,
"name": "n1-cpu-small",
"cpu": 1,
"region_name": "NORWAY-1",
"ram": 1,
"disk": 5,
"created_at": "2023-07-17T04:23:41",
"gpu": ""
},
{...}


Create a custom flavor

In development - coming soon

/core/virtual-machines

If you prefer more control over your virtual machine's resources, you can create a custom flavor by specifying your desired VM configuration within the flavor object in the create virtual machine request. Simply include the flavor object with your desired configuration to the /core/virtual-machines request body when you create a new virtual machine. When creating a custom VM flavor, the flavor object containing your desired flavor configuration is included in the body of the /core/virtual-machines request, instead of the flavor_name field which is used to specify a pre-configured flavor.

Create your custom flavor by sending your desired configuration of the number of GPUs, the number of vCPUs, RAM in GB, and system disk capacity in GB.

caution

Providing both a pre-configured flavor_name, and the flavor object for a custom configuration will result in an error.


Request body parameters

Include the following parameters within the flavor object in the body of the request to create a custom virtual machine.


cpu REQUIRED integer

The number of vCPU cores to be included in the custom VM configuration.


ram REQUIRED number

Amount of RAM in gigabytes for the new flavor.


disk REQUIRED integer

Specify the disk size of the new custom flavor in gigabytes.


gpu REQUIRED enum

Specify the GPU model name to be used in the custom VM configuration i.e. RTX-A4000.

Possible enum values: Any GPU name from the gpu_list array returned by the GET /core/gpus endpoint. This currently includes: RTX-A4000, RTX-A5000, or RTX-A6000.


gpu_count REQUIRED integer

Specify the number of GPUs to be included in the new custom configuration flavor.

Flavor object - POST /core/virtual-machines
{
...
"flavor": {
"cpu": 1,
"ram": 8,
"disk": 120,
"gpu": "RTX-A4000",
"gpu_count": 1
},
...
}

caution

Creating a custom flavor with specifications that do not meet the minimum and maximum compliance specifications for a given GPU will result in an error.


Adhering to GPU compliance

In development - coming soon

GET /core/compliance

A custom flavor must be created with a configuration that meets the requirements of the GPU being selected, this is called compliance. Use the GET /core/compliance endpoint to retrieve a list of compliance specifications for each available GPU.


Query string parameters


gpu optional string

Specify a GPU model name e.g., RTX-A4000 to retrieve compliance information for the specified GPU. If no GPU model name is specified, compliances for all available GPUs will be returned.

Possible enum values: Any GPU name from the gpu_list array returned by the GET /core/gpus endpoint. This currently includes: RTX-A4000, RTX-A5000, or RTX-A6000.


Returns


The response above returns the compliances for GPUs, presenting the maximum, and minimum permitted values for creating a custom flavor with a given GPU, for: GPU cores, CPU cores, HDD disk storage in GB, and RAM in GB.


Attributes of the Compliance object


status boolean

Indicates the success or failure of the request to retrieve compliance information. true, indicates success, while false indicates an error.


message string

A message providing information about the status of the compliance request.


compliance array

An array containing objects representing compliance information for each GPU model.

Show child attributes
gpu_model string

The type of GPU (e.g., "Example-GPU").


GPU array

An array specifying the GPU core requirements, with a minimum and maximum value (e.g., [4, 5.75]). This indicates a minimum of 4 GPU cores and a maximum of 5.75 GPU cores.


CPU array

An array specifying the CPU core requirements, with a minimum and maximum value (e.g., [480, 690]). This indicates a minimum of 480 CPU cores and a maximum of 690 CPU cores.


HDD array

An array specifying the disk storage requirements in gigabytes (GB), with a minimum and maximum value (e.g., [800, 1150]). This indicates a minimum of 800GB of disk storage and a maximum of 1.15TB of disk storage.


RAM array

An array specifying the RAM requirements in gigabytes (GB), with a minimum and maximum value (e.g., [40, 57.5]). This indicates a minimum of 40GB RAM and a maximum of 57.5GB RAM.

Example request
curl -X GET "https://infrahub-api.nexgencloud.com/v1/core/compliance" \
-H "accept: application/json"\
-H "api_key: YOUR API KEY"
Response
{
"status": true,
"message": "Getting compliance success",
"compliance": [
{
"gpu_model": "Example-GPU", // The GPU type.
"GPU": [4, 5.75], // Minimum of 4 GPU cores, maximum of 5.75 GPU cores.
"CPU": [480, 690], // Minimum of 480 CPU cores, maximum of 690 CPU cores.
"HDD": [800, 1150], // Minimum of 800GB disk storage, maximum of 1.15TB disk storage.
"RAM": [40,57.5] // Minimum of 40GB RAM, maximum of 57.5GB RAM.
},
{...}


Modify the flavor of an existing virtual machine

In development - coming soon

/core/virtual-machines/[virtual_machine_id]/resize

This operation modifies the GPU configuration of an existing virtual machine. The modification of a VM's flavor is referred to as resizing. A VM's flavor can be resized to a pre-configured flavor by including the new flavor_name in the body of the request, or the flavor of the VM can be resized to a new custom flavor. To resize an existing VM's flavor to a new custom flavor, include the flavor object with the new flavor specifications in the body of the request as seen below.

caution

In the body of the request to resize a VM, include either a flavor_name for a pre-configured flavor, or the flavor object for a custom configuration. Providing both will result in an error.

Resize a VM to a pre-configured flavor

In development - coming soon

Specify the pre-configured flavor_name in the body of the request, to resize your VM to a pre-configured flavor.


Query-string parameters


virtual_machine_id REQUIRED integer

Specify the id of the virtual machine to be modified in the query of the request.


Returns


The response returns the status of the resizing, true indicates that the resizing of a virtual machine has been successful, and false indicates an error occurred.


Example request
curl -X POST "https://infrahub-api.nexgencloud.com/v1/core/virtual-machines/{virtual_machine_id}/resize" \
-H "accept: application/json"\
-H "api_key: YOUR API KEY" \
-d '{
"flavor_name": "n1-RTX-A6000x1"
}'
Response
{
"status": true,
"message": "Resize virtual machine is being started"
}

Resize a VM to a custom flavor

In development - coming soon

/core/virtual-machines/[virtual_machine_id]/resize

Resize a VM to a new custom flavor by sending your desired configuration in the request body, including the number of GPUs, vCPU cores, RAM in gigabytes, and system disk capacity in gigabytes (GB).


Query-string parameters


virtual_machine_id REQUIRED integer

Specify the id of the virtual machine to be modified in the query of the request.


Request body parameters REQUIRED


Refer to the request body parameters for creating a custom flavor to learn how to complete the body of the request.


Returns


The response returns the status of the resizing, true indicates that the resizing of a virtual machine to a custom configuration has been successful, and false indicates an error occurred.


Example request
curl -X POST "https://infrahub-api.nexgencloud.com/v1/core/virtual-machines/{virtual_machine_id}/resize" \
-H "accept: application/json"\
-H "api_key: YOUR API KEY" \
-d '{
"flavor": {
"cpu": 16,
"ram": 59.5 ,
"disk": 425,
"gpu": "RTX-A6000",
"gpu_count": 1
},
}'
Response
{
"status": true,
"message": "Resize virtual machine is being started"
}

See more information about creating custom flavors.


Back to top