Udostępnij za pośrednictwem


Dołączanie procesora GPU do maszyny wirtualnej z systemem Ubuntu Linux w usłudze Azure Stack HCI

Dotyczy: Azure Stack HCI, wersje 23H2 i 22H2

Uwaga

Zalecanym sposobem tworzenia maszyn wirtualnych i zarządzania nimi w usłudze Azure Stack HCI 23H2 jest użycie płaszczyzny sterowania usługi Azure Arc. Użyj mechanizmu opisanego poniżej, aby zarządzać maszynami wirtualnymi tylko wtedy, gdy potrzebujesz funkcji, które nie są dostępne na maszynach wirtualnych usługi Azure Arc.

Ten temat zawiera instrukcje krok po kroku dotyczące sposobu instalowania i konfigurowania jednostki przetwarzania grafiki (GPU) firmy NVIDIA za pomocą usługi Azure Stack HCI przy użyciu technologii dyskretnego przypisania urządzenia (DDA) dla maszyny wirtualnej z systemem Ubuntu. W tym dokumencie założono, że masz wdrożony klaster rozwiązania Azure Stack HCI i zainstalowano maszyny wirtualne.

Zainstaluj procesor GPU, a następnie odinstaluj go w programie PowerShell

  1. Zainstaluj procesory GPU firmy NVIDIA fizycznie na odpowiednich serwerach, postępując zgodnie z instrukcjami producenta OEM i zaleceniami systemu BIOS.

  2. Włącz każdy serwer.

  3. Zaloguj się przy użyciu konta z uprawnieniami administracyjnymi do serwerów z zainstalowanym procesorem GPU firmy NVIDIA.

  4. Otwórz Menedżer urządzeń i przejdź do sekcji inne urządzenia. Urządzenie powinno zostać wyświetlone jako "Kontroler wideo 3D".

  5. Kliknij prawym przyciskiem myszy pozycję "Kontroler wideo 3D", aby wyświetlić stronę Właściwości . Kliknij pozycję Szczegóły. Z listy rozwijanej w obszarze Właściwość wybierz pozycję "Ścieżki lokalizacji".

  6. Zanotuj wartość z ciągiem PCIRoot wyróżnioną na poniższym zrzucie ekranu. Kliknij prawym przyciskiem myszy pozycję Wartość i skopiuj/zapisz ją.

    Zrzut ekranu ścieżki lokalizacji.

  7. Otwórz Windows PowerShell z podwyższonym poziomem uprawnień i wykonaj Dismount-VMHostAssignableDevice polecenie cmdlet , aby odinstalować urządzenie gpu dla DDA na maszynie wirtualnej. Zastąp wartość LocationPath wartością urządzenia uzyskaną w kroku 6.

    Dismount-VMHostAssignableDevice -LocationPath "PCIROOT(16)#PCI(0000)#PCI(0000)" -force
    
  8. Upewnij się, że urządzenie znajduje się na liście urządzeń systemowych w Menedżer urządzeń jako Odinstalowane.

    Zrzut ekranu urządzenia z odinstalowany.

Tworzenie i konfigurowanie maszyny wirtualnej z systemem Ubuntu

  1. Pobierz wersję 18.04.02 ISO dla systemu Ubuntu Desktop.

  2. Otwórz Menedżera funkcji Hyper-V w węźle systemu z zainstalowanym procesorem GPU.

    Uwaga

    DDA nie obsługuje trybu failover. Jest to ograniczenie maszyny wirtualnej z DDA. Dlatego zalecamy użycie Menedżera funkcji Hyper-V do wdrożenia maszyny wirtualnej w węźle zamiast Menedżera klastra trybu failover. Użycie Menedżera klastra trybu failover z funkcją DDA zakończy się niepowodzeniem z komunikatem o błędzie wskazującym, że maszyna wirtualna ma urządzenie, które nie obsługuje wysokiej dostępności.

  3. Korzystając z obrazu ISO systemu Ubuntu pobranego w kroku 1, utwórz nową maszynę wirtualną przy użyciu Kreatora nowej maszyny wirtualnej w Menedżerze funkcji Hyper-V , aby utworzyć maszynę wirtualną z systemem Ubuntu Gen 1 z 2 GB pamięci i dołączoną do niej kartą sieciową.

  4. W programie PowerShell przypisz urządzenie Dismounted GPU do maszyny wirtualnej przy użyciu poniższych poleceń cmdlet, zastępując wartość LocationPath wartością dla urządzenia.

    # Confirm that there are no DDA devices assigned to the VM
    Get-VMAssignableDevice -VMName Ubuntu
    
    # Assign the GPU to the VM
    Add-VMAssignableDevice -LocationPath "PCIROOT(16)#PCI(0000)#PCI(0000)" -VMName Ubuntu
    
    # Confirm that the GPU is assigned to the VM
    Get-VMAssignableDevice -VMName Ubuntu
    

    Pomyślne przypisanie procesora GPU do maszyny wirtualnej spowoduje wyświetlenie poniższych danych wyjściowych:

    Zrzut ekranu przypisywania procesora GPU.

    Skonfiguruj dodatkowe wartości następującej dokumentacji procesora GPU tutaj:

     # Enable Write-Combining on the CPU
     Set-VM -GuestControlledCacheTypes $true -VMName VMName
    
     # Configure the 32 bit MMIO space
     Set-VM -LowMemoryMappedIoSpace 3Gb -VMName VMName
    
     # Configure greater than 32 bit MMIO space
     Set-VM -HighMemoryMappedIoSpace 33280Mb -VMName VMName
    

    Uwaga

    Wartość 33280Mb powinna wystarczyć dla większości procesorów GPU, ale powinna zostać zastąpiona wartością większą niż pamięć procesora GPU.

  5. Za pomocą Menedżera funkcji Hyper-V nawiąż połączenie z maszyną wirtualną i uruchom instalację systemu operacyjnego Ubuntu. Wybierz wartości domyślne, aby zainstalować system operacyjny Ubuntu na maszynie wirtualnej.

  6. Po zakończeniu instalacji użyj Menedżera funkcji Hyper-V , aby zamknąć maszynę wirtualną i skonfigurować akcję automatycznego zatrzymywania maszyny wirtualnej w celu zamknięcia systemu operacyjnego gościa, jak pokazano na poniższym zrzucie ekranu:

    Zrzut ekranu przedstawiający zamykanie systemu operacyjnego gościa.

  7. Zaloguj się do systemu Ubuntu i otwórz terminal, aby zainstalować protokół SSH:

     $ sudo apt install openssh-server
    
  8. Znajdź adres TCP/IP instalacji systemu Ubuntu przy użyciu polecenia ifconfig i skopiuj adres IP dla interfejsu eth0 .

  9. Aby uzyskać dalszą konfigurację, użyj klienta SSH, takiego jak OpenSSH (ssh.exe zainstalowany z programem Windows 10) lub putty.

  10. Po zalogowaniu się za pośrednictwem klienta SSH wydaj polecenie lspci i sprawdź, czy procesor GPU FIRMY NVIDIA jest wymieniony jako "kontroler 3D".

    Ważne

    Jeśli procesor GPU FIRMY NVIDIA nie jest postrzegany jako "kontroler 3D", nie kontynuuj dalej. Przed kontynuowaniem upewnij się, że przed kontynuowaniem wykonano powyższe kroki.

  11. Na maszynie wirtualnej wyszukaj i otwórz & Aktualizacje oprogramowania. Przejdź do pozycji Dodatkowe sterowniki, a następnie wybierz najnowsze sterowniki procesora GPU firmy NVIDIA na liście. Ukończ instalację sterownika, klikając przycisk Zastosuj zmiany .

    Zrzut ekranu instalacji sterownika.

  12. Uruchom ponownie maszynę wirtualną z systemem Ubuntu po zakończeniu instalacji sterownika. Po uruchomieniu maszyny wirtualnej nawiąż połączenie za pośrednictwem klienta SSH i wydaj polecenie nvidia-smi , aby sprawdzić, czy instalacja sterownika procesora GPU firmy NVIDIA zakończyła się pomyślnie. Dane wyjściowe powinny być podobne do poniższego zrzutu ekranu:

    Zrzut ekranu przedstawiający dane wyjściowe polecenia nvidia-smi.

  13. Korzystając z klienta SSH, skonfiguruj repozytorium i zainstaluj aparat Docker CE:

    $ sudo apt-get update
    $ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
    

    Dodaj oficjalny klucz GPG platformy Docker:

    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    

    Sprawdź, czy masz teraz klucz z odciskiem palca 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88, wyszukując ostatnie osiem znaków odcisku palca:

    $ sudo apt-key fingerprint 0EBFCD88
    

    Dane wyjściowe powinny wyglądać mniej więcej tak:

    pub   rsa4096 2017-02-22 [SCEA]
    9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
    uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
    sub   rsa4096 2017-02-22 [S]
    

    Skonfiguruj stabilne repozytorium dla architektury Ubuntu AMD64:

    $ sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) \
    stable"
    

    Aktualizowanie pakietów i instalowanie platformy Docker CE:

    $ sudo apt-get update
    $ sudo apt-get install docker-ce docker-ce-cli containerd.io
    

    Sprawdź instalację platformy Docker CE:

    $ sudo docker run hello-world
    

Konfigurowanie usługi Azure IoT Edge

Aby przygotować się do tej konfiguracji, zapoznaj się z często zadawanymi pytaniami zawartymi w repozytorium GitHub NVIDIA-Deepstream-Azure-IoT-Edge-on-a-NVIDIA-Jetson-Nano GitHub, w którym wyjaśniono konieczność zainstalowania platformy Docker zamiast narzędzia Moby. Po przejrzeniu przejdź do poniższych kroków.

Instalowanie platformy Docker firmy NVIDIA

  1. Z poziomu klienta SSH dodaj repozytoria pakietów:

    curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
    sudo apt-key add -
    distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    
    curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
    sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    
    sudo apt-get update
    
  2. Zainstaluj narzędzie nvidia-docker2 i załaduj ponownie konfigurację demona platformy Docker:

    sudo apt-get install -y nvidia-docker2
    sudo pkill -SIGHUP dockerd
    
  3. Uruchom ponownie maszynę wirtualną:

    sudo /sbin/shutdown -r now
    
  4. Po ponownym uruchomieniu zweryfikuj pomyślną instalację platformy DOcker FIRMY NVIDIA:

    sudo docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
    

    Pomyślna instalacja będzie wyglądać podobnie do danych wyjściowych na poniższym zrzucie ekranu:

    Zrzut ekranu przedstawiający pomyślną instalację platformy Docker.

  5. Postępuj zgodnie z instrukcjami podanymi tutaj, aby zainstalować usługę Azure IoT Edge, pomijając instalację środowiska uruchomieniowego:

    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
    
    sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
    
    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
    sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
    sudo apt-get update
    
    sudo apt-get install iotedge
    

    Uwaga

    Po zainstalowaniu usługi Azure IoT Edge sprawdź, czy plik config.yaml jest obecny na maszynie wirtualnej z systemem Ubuntu pod adresem /etc/iotedge/config.yaml

  6. Utwórz tożsamość urządzenia IoT Edge w Azure Portal zgodnie z poniższymi wskazówkami tutaj. Następnie skopiuj parametry połączenia urządzenia dla nowo utworzonej IoT Edge.

  7. Korzystając z klienta SSH, zaktualizuj parametry połączenia urządzenia w pliku config.yaml na maszynie wirtualnej z systemem Ubuntu:

    sudo nano /etc/iotedge/config.yaml
    

    Znajdź konfiguracje aprowizacji pliku i usuń komentarz z sekcji "Ręczna konfiguracja aprowizacji". Zaktualizuj wartość device_connection_string przy użyciu parametry połączenia z urządzenia IoT Edge. Upewnij się, że wszystkie inne sekcje aprowizacji są oznaczane jako komentarz. Upewnij się, że aprowizacja: wiersz nie ma wcześniejszego odstępu i że zagnieżdżone elementy są wcięte przez dwie spacje:

    Zrzut ekranu przedstawiający ręczną konfigurację aprowizacji.

    Aby wkleić zawartość schowka do systemu Nano, naciśnij klawisze shift+prawym przyciskiem myszy lub naciśnij klawisze shift+insert. Zapisz i zamknij plik (Ctrl + X, Y, Enter).

  8. Przy użyciu klienta SSH uruchom ponownie demona IoT Edge:

    sudo systemctl restart iotedge
    

    Sprawdź instalację i sprawdź stan demona IoT Edge:

    systemctl status iotedge
    
    journalctl -u iotedge --no-pager --no-full
    
  9. Korzystając z klienta SSH, utwórz następującą strukturę katalogów na maszynie wirtualnej z systemem Ubuntu:

    cd /var
    sudo mkdir deepstream
    mkdir ./deepstream/custom_configs
    cd /var/deepstream
    sudo mkdir custom_streams
    sudo chmod -R 777 /var/deepstream
    cd ./custom_streams
    
  10. Upewnij się, że katalog roboczy to /var/deepstream/custom_streams i pobierz plik wideo demonstracyjnych , wykonując następujące polecenie w kliencie SSH:

    wget -O cars-streams.tar.gz --no-check-certificate https://onedrive.live.com/download?cid=0C0A4A69A0CDCB4C&resid=0C0A4A69A0CDCB4C%21588371&authkey=AAavgrxG95v9gu0
    

    Cofnij kompresowanie plików wideo:

    tar -xzvf cars-streams.tar.gz
    

    Zawartość katalogu /var/deepstream/custom_streams powinna być podobna do poniższego zrzutu ekranu:

    Zrzut ekranu przedstawiający strumienie niestandardowe.

  11. Utwórz nowy plik o nazwie test5_config_file_src_infer_azure_iotedge_edited.txt w katalogu /var/deepstream/custom_configs. Za pomocą edytora tekstów otwórz plik i wklej następujący kod, a następnie zapisz i zamknij plik.

    # Copyright (c) 2018 NVIDIA Corporation.  All rights reserved.
    #
    # NVIDIA Corporation and its licensors retain all intellectual property
    # and proprietary rights in and to this software, related documentation
    # and any modifications thereto.  Any use, reproduction, disclosure or
    # distribution of this software and related documentation without an express
    # license agreement from NVIDIA Corporation is strictly prohibited.
    
    [application]
    enable-perf-measurement=1
    perf-measurement-interval-sec=5
    #gie-kitti-output-dir=streamscl
    
    [tiled-display]
    enable=1
    rows=2
    columns=2
    width=1280
    height=720
    gpu-id=0
    #(0): nvbuf-mem-default - Default memory allocated, specific to particular platform
    #(1): nvbuf-mem-cuda-pinned - Allocate Pinned/Host cuda memory, applicable for Tesla
    #(2): nvbuf-mem-cuda-device - Allocate Device cuda memory, applicable for Tesla
    #(3): nvbuf-mem-cuda-unified - Allocate Unified cuda memory, applicable for Tesla
    #(4): nvbuf-mem-surface-array - Allocate Surface Array memory, applicable for Jetson
    nvbuf-memory-type=0
    
    [source0]
    enable=1
    #Type - 1=CameraV4L2 2=URI 3=MultiURI
    type=3
    uri=file://../../../../../samples/streams/sample_1080p_h264.mp4
    num-sources=2
    gpu-id=0
    nvbuf-memory-type=0
    
    [source1]
    enable=1
    #Type - 1=CameraV4L2 2=URI 3=MultiURI
    type=3
    uri=file://../../../../../samples/streams/sample_1080p_h264.mp4
    num-sources=2
    gpu-id=0
    nvbuf-memory-type=0
    
    [sink0]
    enable=0
    
    [sink3]
    enable=1
    #Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming
    type=4
    #1=h264 2=h265
    codec=1
    sync=0
    bitrate=4000000
    # set below properties in case of RTSPStreaming
    rtsp-port=8554
    udp-port=5400
    
    [sink1]
    enable=1
    #Type - 1=FakeSink 2=EglSink 3=File 4=UDPSink 5=nvoverlaysink 6=MsgConvBroker
    type=6
    msg-conv-config=../configs/dstest5_msgconv_sample_config.txt
    #(0): PAYLOAD_DEEPSTREAM - Deepstream schema payload
    #(1): PAYLOAD_DEEPSTREAM_MINIMAL - Deepstream schema payload minimal
    #(256): PAYLOAD_RESERVED - Reserved type
    #(257): PAYLOAD_CUSTOM   - Custom schema payload
    msg-conv-payload-type=1
    msg-broker-proto-lib=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_azure_edge_proto.so
    topic=mytopic
    #Optional:
    #msg-broker-config=../../../../libs/azure_protocol_adaptor/module_client/cfg_azure.txt
    
    [sink2]
    enable=0
    type=3
    #1=mp4 2=mkv
    container=1
    #1=h264 2=h265 3=mpeg4
    ## only SW mpeg4 is supported right now.
    codec=3
    sync=1
    bitrate=2000000
    output-file=out.mp4
    source-id=0
    
    [osd]
    enable=1
    gpu-id=0
    border-width=1
    text-size=15
    text-color=1;1;1;1;
    text-bg-color=0.3;0.3;0.3;1
    font=Arial
    show-clock=0
    clock-x-offset=800
    clock-y-offset=820
    clock-text-size=12
    clock-color=1;0;0;0
    nvbuf-memory-type=0
    
    [streammux]
    gpu-id=0
    ##Boolean property to inform muxer that sources are live
    live-source=0
    batch-size=4
    ##time out in usec, to wait after the first buffer is available
    ##to push the batch even if the complete batch is not formed
    batched-push-timeout=40000
    ## Set muxer output width and height
    width=1920
    height=1080
    ##Enable to maintain aspect ratio wrt source, and allow black borders, works
    ##along with width, height properties
    enable-padding=0
    nvbuf-memory-type=0
    
    [primary-gie]
    enable=1
    gpu-id=0
    batch-size=4
    ## 0=FP32, 1=INT8, 2=FP16 mode
    bbox-border-color0=1;0;0;1
    bbox-border-color1=0;1;1;1
    bbox-border-color2=0;1;1;1
    bbox-border-color3=0;1;0;1
    nvbuf-memory-type=0
    interval=0
    gie-unique-id=1
    model-engine-file=../../../../../samples/models/Primary_Detector/resnet10.caffemodel_b4_int8.engine
    labelfile-path=../../../../../samples/models/Primary_Detector/labels.txt
    config-file=../../../../../samples/configs/deepstream-app/config_infer_primary.txt
    #infer-raw-output-dir=../../../../../samples/primary_detector_raw_output/
    
    [tracker]
    enable=1
    tracker-width=600
    tracker-height=300
    ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_mot_klt.so
    #ll-config-file required for DCF/IOU only
    #ll-config-file=tracker_config.yml
    #ll-config-file=iou_config.txt
    gpu-id=0
    #enable-batch-process applicable to DCF only
    enable-batch-process=0
    
    [tests]
    file-loop=1
    
  12. Przejdź do witryny Azure Portal. Wybierz pozycję IoT Hub Aprowizowana, kliknij pozycję Automatyczne Zarządzanie urządzeniami, a następnie kliknij pozycję IoT Edge:

    Zrzut ekranu przedstawiający automatyczne Zarządzanie urządzeniami.

  13. W okienku po prawej stronie wybierz tożsamość urządzenia, której urządzenie parametry połączenia zostało użyte powyżej. Kliknij pozycję Zestaw modułów:

    Zrzut ekranu przedstawiający zestaw modułów.

  14. W obszarze moduły IoT Edge kliknij i wybierz pozycję moduł IoT Edge:

    Dodaj zrzut ekranu modułu IoT Edge.

  15. W okienku Dodawanie modułu IoT Edge wybierz kartę Ustawienia modułu, a następnie wprowadź lub wybierz następujące wartości:

    • nazwa modułu IoT Edge: NVIDIADeepStreamSDK

    • Identyfikator URI obrazu: marketplace.azurecr.io/nvidia/deepstream-iot2

    • Zasady ponownego uruchamiania: zawsze

    • Żądany stan: uruchomiono

    • Zasady ściągania obrazu: puste

    Wybierz pozycję Dodaj.

    Zrzut ekranu zestawu DeepStream SDK.

  16. Upewnij się, że moduł NvidiaDeepStreamSDK znajduje się na liście modułów IoT Edge:

    zrzut ekranu modułów IoT Edge.

  17. Kliknij moduł "NVIDIADeepStreamSDK" i wybierz pozycję "Opcje tworzenia kontenera". Poniżej przedstawiono konfigurację domyślną:

    Zrzut ekranu przedstawiający opcje tworzenia kontenera.

    Zastąp powyższą konfigurację poniższą konfiguracją:

    {
      "ExposedPorts": {
        "8554/tcp": {}
      },
      "Entrypoint": [
        "/usr/bin/deepstream-test5-app",
        "-c",
        "test5_config_file_src_infer_azure_iotedge_edited.txt",
        "-p",
        "1",
        "-m",
        "1"
      ],
      "HostConfig": {
        "runtime": "nvidia",
        "Binds": [
          "/var/deepstream/custom_configs:/root/deepstream_sdk_v4.0.2_x86_64/sources/apps/sample_apps/deepstream-test5/custom_configs/",
          "/var/deepstream/custom_streams:/root/deepstream_sdk_v4.0.2_x86_64/sources/apps/sample_apps/deepstream-test5/custom_streams/"
        ],
        "PortBindings": {
          "8554/tcp": [
            {
              "HostPort": "8554"
            }
          ]
        }
      },
      "WorkingDir": "/root/deepstream_sdk_v4.0.2_x86_64/sources/apps/sample_apps/deepstream-test5/custom_configs/"
    }
    
  18. Kliknij pozycję Przejrzyj i utwórz, a następnie na następnej stronie kliknij pozycję Utwórz. W Azure Portal powinny zostać wyświetlone trzy moduły wymienione poniżej dla urządzenia IoT Edge:

    Zrzut ekranu przedstawiający moduły i IoT Edge Hub Connections.

  19. Połącz się z maszyną wirtualną z systemem Ubuntu przy użyciu klienta SSH i sprawdź, czy działają poprawne moduły:

    sudo iotedge list
    

    Zrzut ekranu przedstawiający dane wyjściowe z listy iotedge.

    nvidia-smi
    

    zrzut ekranu nvidia-smi.

    Uwaga

    Pobranie kontenera NvidiaDeepstream potrwa kilka minut. Możesz zweryfikować pobieranie przy użyciu polecenia "journalctl -u iotedge --no-pager --no-full", aby przyjrzeć się dziennikom demona iotedge.

  20. Upewnij się, że kontener NvdiaDeepStreem działa. Dane wyjściowe polecenia na poniższych zrzutach ekranu wskazują powodzenie.

    sudo iotedge list
    

    Zrzut ekranu przedstawiający dane wyjściowe pokazujące, że kontener NvdiaDeepStreem działa.

    sudo iotedge logs -f NVIDIADeepStreamSDK
    

    Zrzut ekranu przedstawiający dane wyjściowe dla dzienników iotedge -f NVIDIADeepStreamSDK polecenia.

    nvidia-smi
    

    Zrzut ekranu przedstawiający dodatkowe dane wyjściowe polecenia nvidia-smi.

  21. Potwierdź adres TCP/IP maszyny wirtualnej z systemem Ubuntu przy użyciu polecenia ifconfig i poszukaj adresu TCP/IP obok interfejsu eth0 .

  22. Zainstaluj odtwarzacz VLC na stacji roboczej. W odtwarzaczu VLC kliknij pozycję Nośnik —> otwórz strumień sieciowy i wpisz adres w następującym formacie:

    rtsp://ipaddress:8554/ds-test

    gdzie ipaddress jest adresem TCP/IP maszyny wirtualnej.

    Zrzut ekranu odtwarzacza VLC.

Następne kroki

Aby uzyskać więcej informacji na temat procesorów GPU i DDA, zobacz również: