Skip to content

vBlog.nl

All about technology

Menu
  • Home
  • VMware Cloud Director
  • vSphere
  • Automation
    • PowerCLI
    • PowerShell
    • Terraform
  • NSX
  • Horizon DaaS
  • About Us
Menu

VMware PowerCLI vGPU capacity

Posted on July 2, 2020

In my previous blog I (re)created of extend a existing PowerCLI function that showed an overview of the user vGPU resources. If not you can read it here: https://www.vblog.nl/vmware-powercli-vgpu-overview/

Like I mentioned in the previous blog. My goal was to create a script based of my used profiles and find the remaining capacity of my GPU cluster(s). And of course you need that function ;-). Don’t forget to connect to you vCenter. After loading the Get-vGPUOverview function we start using the script.

There is one last thin before using the script and function. I am dot sourcing the Get-vGPUOverview and filter out the result, why I do that? You can re-use variables that are created in that particular function. And in this case I need the $output variable.
Source: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_scripts?view=powershell-7#script-scope-and-dot-sourcing

When you run a script that is dot sourced, the commands in the script run as though you had typed them at the command prompt. The functions, variables, aliases, and drives that the script creates are created in the scope in which you are working. After the script runs, you can use the created items and access their values in your session.

. Get-vGPUOverview -Cluster 'Your_gpu_cluster' | Out-Null
#The vGPU profiles I use
$GPUProfiles = 'grid_t4-1q','grid_t4-2q','grid_t4-4q'
#Total GB per GPU
$GBPerGPU = '16'
#number of GPU cards without any VDI/VM
$FreeGPUs = $output | select 'VDIname' | ? {$_ -match 'NoVDIs'}
#A $variable.count not available with only one item in it.
$nmbrFreeGPUs = $FreeGPUs.Count
if(!$FreeGPUs.count){
    $nmbrFreeGPUs = 1
}
foreach($GPUProfile in $GPUProfiles){
    #Get all VDI per vGPU profile type
    $All = $output | select HostName,ProfileType,CardId | ? {$_ -match $GPUProfile}
    $nmbrVDI = $All.count
    #Get number of cards used by this profile
    $UsedCards = $All | sort -Unique 'Hostname','CardId'
    $nmbrUsedCards = $UsedCards.count
    #A $variable.count not available with only one item in it.
    if(!$nmrbVDI.count){
        $nmbrVDI = 1
    }
    if(!$nmbrUsedCards.count){
        $nmbrUsedCards = 1
    }
    #Get GB value from a GPU profile
    $split = $GPUProfile.Split('-')
    $pattern = "(?<=.*$($split[0])).*(?=[a-z].*)"
    $GB = [Regex]::Match($GPUProfile, $pattern).Value.replace('-','')
    $totalMem = $nmbrVDI * $GB
    #Calculating available VDI on the used GPU
    "Available $GPUProfile : $(($nmbrUsedCards * $GBPerGPU - $totalMem) / $GB) VDI"
}
"The number of GPU cards not yet used: $($nmbrFreeGPUs)"

 4,954 total views,  2 views today

Share on Social Media
twitter facebook linkedin reddit emailwhatsapptelegram

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent articles

  • VMware Cloud on AWS with FSx for NetApp ONTAP December 28, 2022
  • Workspace ONE Access – Change certificate December 22, 2022
  • UI themes for VMware Cloud Director 10.4.1 and later December 16, 2022
  • VMware Tanzu Kubernetes Grid December 15, 2022
  • Workspace One Access – Not logged in to server FQDN. Please invoke Save before Sync December 12, 2022
  • NSX Edge configuration has failed. 1G hugepage support required. December 7, 2022
  • Horizon DaaS – Unable to connect to Desktop November 24, 2022
  • How to: Request and Install a Lets Encrypt Wildcard SSL on VMware Cloud Director 10.4 October 17, 2022
  • New and improved vSAN 8 explained September 24, 2022
  • How to update a stand alone ESXi host September 13, 2022

Tags

Automation bootstrapping Container Service Extension Credential Manager Desktone.log ESXi EUC EXi GPU Horizon DaaS Instant-Clone Logging NSX nsx-t PowerCLI PowerShell Putty Raspberry PI SSL Tanzu Terraform update vcd-cli vCenter vCloud vCloud Availability vCloud Director VDI vGPU VMware VMworld vSAN vSphere vVols workspace one Zerto

VMware Cloud Provider Blog

  • NSX ALB Licensing with VMware Cloud Director
    by Jaikishan Tayal on March 27, 2023 at 10:33 am

    History of NSX ALB and VCD Licensing: From version 10.2, VMware Cloud Director began supporting NSX-T Advanced Load Balancer (AVI Load Balancer). This integration has become crucial for Cloud Services Providers, allowing them to provide their customers with a range of Load Balancing services (LBaaS) for Virtual Data Center workloads and Tanzu containers. Before the … Continued The post NSX ALB Licensing with VMware Cloud Director appeared first on VMware Cloud Provider Blog.

  • VMware vSAN 8 Update 1 for Cloud Services Providers
    by Christopher Wong on March 24, 2023 at 3:00 pm

    Recently, VMware announced the upcoming release of vSAN 8 Update 1. This latest update enhances vSAN’s capabilities and functionality with additional improvements for performance, data durability, and integration. Cloud Services Providers who are leveraging the capabilities of vSAN 8 can expect to see additional benefits in these areas as they deploy this upcoming release into … Continued The post VMware vSAN 8 Update 1 for Cloud Services Providers appeared first on VMware Cloud Provider Blog.

  • Terraform VMware Cloud Director Provider 3.9.0 – Beta early access build
    by Guy Bartram on March 24, 2023 at 11:06 am

    The release time for version 3.9.0 of Terraform VMware Cloud Director Provider is approaching,and for the first time, we’re releasing a beta, so users can try the new features and give helpful feedback that will improve the final release. What is a “beta” build? A beta build is a preliminary release of an intended new … Continued The post Terraform VMware Cloud Director Provider 3.9.0 – Beta early access build appeared first on VMware Cloud Provider Blog.

  • VMware Cloud Director Object Storage Extension 2.2.1
    by Astha Sharma on March 16, 2023 at 5:45 pm

    Object Storage Extension 2.1.1 The post VMware Cloud Director Object Storage Extension 2.2.1 appeared first on VMware Cloud Provider Blog.

  • Architecting VMware Cloud Director Availability Solution in a Multi-Cloud Environment
    by Nikolay Patrikov on March 15, 2023 at 1:09 pm

    Building a cloud based on VMware Cloud Director or Cloud Director service requires a considerable amount of deployment decisions for Cloud Providers concerning the infrastructure behind their services. They can operate fully on-premises within their data centers or combine them with any of the hyperscalers in a hybrid way. These design decisions affect the DRaaS … Continued The post Architecting VMware Cloud Director Availability Solution in a Multi-Cloud Environment appeared first on VMware Cloud Provider Blog.

©2023 vBlog.nl | Design: Newspaperly WordPress Theme