2010-02-14 10 views
20

Napisałem program cuda i testuję go na ubuntu jako maszynie wirtualnej. Powodem tego jest to, że mam Windows 7, nie chcę instalować ubuntu jako dodatkowego systemu operacyjnego i muszę użyć systemu operacyjnego Linux do testowania. moje pytanie brzmi: czy maszyna wirtualna ograniczy zasoby gpu? Czy mój kod cuda będzie szybszy, jeśli uruchomię go pod moim podstawowym systemem operacyjnym, a nie uruchomię go na maszynie wirtualnej?Program cuda na VMware

+1

Myślę, że miałbyś szczęście, gdyby działało w ogóle w VM. Możesz tworzyć CUDA w systemie Windows 7. Jeśli z jakiegoś powodu jest to problem, jeśli używasz oprogramowania rozwijającego, a nie w środowisku produkcyjnym, dlaczego nie korzystać z funkcji emulacji? – dangerstat

+0

Potrzebuję dokładnych wyników prędkości mojego algorytmu cuda. działa już pod VM, ale nie jestem pewien, czy używam pełnych zasobów gpu (z powodu VM). – scatman

+0

W VM powinien działać w trybie emulacji, uruchomić deviceQuery (z SDK) lub wywołać cudaGetDeviceProperties w celu sprawdzenia. – Tom

Odpowiedz

19

Niestety wirtualna maszyna symuluje urządzenie graficzne i jako taka nie będzie miała dostępu do prawdziwego procesora graficznego. Wynika to z tego, w jaki sposób wirtualizacja obsługuje wiele maszyn wirtualnych uzyskujących dostęp do tego samego urządzenia - zapewnia warstwę pomiędzy, aby współdzielić rzeczywiste urządzenie.

Możliwe jest uzyskanie prawdziwego dostępu do sprzętu, ale tylko w przypadku właściwej kombinacji oprogramowania i sprzętu, szczegółowe informacje można znaleźć w dokumencie SLI Multi-OS site.

Więc pewnie masz pecha z trasą wirtualizacji - czy naprawdę nie można uruchomić aplikację w systemie Windows to jesteś ograniczony do poniższego:

  1. Nierealistyczne: Instalacja Linuksa zamiast
  2. Nierealistyczny: Instalacja Linuksa obok (nie wchodzi w grę)
  3. Boot do live CD, można przygotować obraz dysku z CUDA i za każdym razem
  4. instalacji zamontować obraz (lub prosić/pożyczyć) oddzielny pudełko z Linuksem i uzyskać do niego zdalny dostęp
2

Jak CUDA 3.1 to możliwości wirtualizacji nie są żywe, więc jedyną użytkowej podejście do uruchamiania programów CUDA bezpośrednio na tarczy HW + SW

10

Właśnie słyszałem przemawiać na konferencji technologii GPU NVIDII przez badacza o nazwie Xiaohui Cui (Oak Ridge National Laboratory). Opisał między innymi dostęp do układów GPU z maszyn wirtualnych za pomocą czegoś zwanego gVirtuS. Nie stworzył gVirtuS, ale opisał go jako otwarty sterownik "wirtualnej cuda". Zobacz następujący link: http://osl.uniparthenope.it/projects/gvirtus/

Nie próbowałem gVirtuS, ale brzmi jak może zrobić to, co chcesz.

17

Raz spotkałem się z podobnym zadaniem. W końcu udało mi się zainstalować Ubuntu na dysku o pojemności 8 GB z włączonym trybem trwałym.

To dało mi 4 GB do zainstalowania CUDA i wszystkiego, czego potrzebowałem.

Posiadanie bootowalnej pamięci USB może być bardzo przydatne. Polecam lekturę this.

Również, this link ma bardzo interesujący materiał, jeśli szukasz innych dystrybucji.

2

Użyj rCUDA, aby dodać wirtualny GPU do maszyny wirtualnej.

+2

Stan na 30 listopada 2012 r. Bieżące wydanie stabilne (v3.2), a także wersja beta wydania nowe rCUDA 4 Dystrybucje Windows i Linux nie są interoperacyjne. Ponadto wersje 32- i 64-bitowe nie są jeszcze interoperacyjne. Oznacza to, że maszyna wirtualna systemu Linux działająca na hoście systemu Windows nie może korzystać z narzędzia rCUDA. – SmileAndNod

+0

rCUDA nie wydaje się być open source (strona ma formularz żądania oprogramowania) i nie obsługuje wszystkich linuxów, takich jak arch. Linux. – simonzack

Powiązane problemy