escribí un programa cuda y lo estoy probando en ubuntu como una máquina virtual. La razón para esto es que tengo Windows 7, no quiero instalar Ubuntu como un sistema operativo secundario, y necesito usar un sistema operativo Linux para probar. mi pregunta es: ¿limitará la máquina virtual los recursos de gpu? Entonces, ¿mi código cuda será más rápido si lo ejecuto en mi sistema operativo principal que si lo ejecutara en una máquina virtual?programa cuda en VMware
Respuesta
Lamentablemente, la máquina virtual simula un dispositivo gráfico y, como tal, no tendrá acceso a la GPU real. Esto se debe a la forma en que la virtualización maneja múltiples máquinas virtuales que acceden al mismo dispositivo: proporciona una capa intermedia para compartir el dispositivo real.
Es posible obtener acceso verdadero al hardware, pero solo si tiene la combinación correcta de software y hardware, consulte el SLI Multi-OS site para obtener más información.
por lo que está probablemente fuera de suerte con la ruta de virtualización - si realmente no puede ejecutar su aplicación en Windows, entonces usted está limitado a lo siguiente:
- poco realista: Instalar Linux en lugar
- poco realista: Instalar Linux dentro (no es una opción)
- de arranque en un CD en vivo, se puede preparar una imagen de disco con CUDA y montar la imagen cada vez
- de instalación (o pedir/préstamo) una caja separada con Linux y acceder de forma remota
A partir de CUDA 3.1 está capacidades de virtualización no son vivos, por lo que el único enfoque útil es ejecutar programas CUDA directamente en el objetivo HW + SW
solo oí una charla en la conferencia de tecnología GPU de NVIDIA por un investigador llamado Xiaohui Cui (Laboratorio Nacional de Oak Ridge). Entre otras cosas, describió el acceso a las GPU desde máquinas virtuales usando algo llamado gVirtuS. Él no creó gVirtuS, sino que lo describió como un controlador de código abierto "virtual cuda". Ver el siguiente enlace: http://osl.uniparthenope.it/projects/gvirtus/
No he probado gVirtuS, pero parece que podría hacer lo que quiera.
Me enfrenté a una tarea similar una vez. Lo que terminé haciendo fue instalar Ubuntu en una memoria USB de 8GB con el modo persistente habilitado.
Eso me dio 4 GB para instalar CUDA y todo lo demás que necesitaba.
Tener un dispositivo USB de arranque puede ser muy útil. Recomiendo leer this.
Además, this link tiene un material muy interesante si está buscando otras distribuciones.
Use rCUDA para agregar una GPU virtual a su máquina virtual.
A partir del 30 de noviembre de 2012, la versión estable actual (v3.2), así como la versión beta del Las nuevas distribuciones de rCUDA 4 Windows y Linux no son interoperables. Además, las versiones de 32 y 64 bits aún no son interoperables. Esto significa que una VM Linux que se ejecuta en un host de Windows no puede usar rCUDA. – SmileAndNod
rCUDA no parece ser de código abierto (el sitio web tiene un formulario de solicitud de software) y no parece ser compatible con todos los linux como arch Linux. – simonzack
- 1. VMWare Player vs VMWare Workstation
- 2. Símbolos externos no resueltos en principiantes Programa CUDA
- 3. VMWare equivalente
- 4. Construyendo el programa GPL C con el módulo CUDA
- 5. Android en VMWare o VirtualBox
- 6. VMware Server 2.0 - El VMware Infrastructure Web Service no responde
- 7. Pow y VMware Fusion
- 8. Shrink vmware disk
- 9. VMWare o VirtualPC
- 10. Procesamiento de imágenes en CUDA o OpenCV?
- 11. Barrera entre bloques en CUDA
- 12. ¿Cómo se mapean/deforman/hilos CUDA en núcleos CUDA?
- 13. Ventanas de 64 bits Detección de VMware
- 14. Ganchos de eventos de VMware en .NET
- 15. vmware y rendimiento para desarrollar
- 16. CUDA __threadfence()
- 17. Las pruebas para el infinito en CUDA
- 18. entero de 128 bits en cuda?
- 19. Edificio kd-árbol en CUDA
- 20. Cómo emular CUDA en Windows
- 21. ¿Cómo usar matrices 2D en CUDA?
- 22. Cómo desinstalar el complemento VMware de visual studio 2008?
- 23. Implementando una sección crítica en CUDA
- 24. ArrayFire versus programación cruda CUDA?
- 25. CUDA vs FPGA?
- 26. Codificando CUDA con C#?
- 27. Dibujando triángulos con CUDA
- 28. raytracing con CUDA
- 29. Parámetros para núcleos CUDA
- 30. Computación multi-GPU Cuda
Creo que tendrías suerte si funcionó en VM. Puede hacer el desarrollo de CUDA en Windows 7. Si por alguna razón eso es un problema, si está usando desarrollo y no en un entorno de producción, ¿por qué no usar la función de emulación? – dangerstat
necesito resultados precisos de velocidad de mi algoritmo de cuda. ya funciona bajo VM, pero no estoy seguro si estoy usando los recursos de gpu completos (debido a VM). – scatman
En la máquina virtual debería ejecutarse en modo de emulación, ejecutar deviceQuery (desde el SDK) o llamar a cudaGetDeviceProperties para verificar. – Tom