{"id":183477,"date":"2026-09-26T16:53:23","date_gmt":"2026-09-26T14:53:23","guid":{"rendered":"https:\/\/prohoster.info\/blog\/news\/virtio-nvgpu-modul-dlya-predostavleniya-dostupa-k-gpu-nvidia-iz-virtualnyh-mashin-kvm"},"modified":"2026-09-26T16:53:28","modified_gmt":"2026-09-26T14:53:28","slug":"virtio-nvgpu-module-for-accessing-nvidia-gpus-from-kvm-virtual-machines","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/virtio-nvgpu-module-for-accessing-nvidia-gpus-from-kvm-virtual-machines","title":{"rendered":"virtio-nvgpu \u2014 modulo per fornire accesso alla GPU NVIDIA dalle macchine virtuali KVM","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Il progetto virtio-nvgpu sviluppa un dispositivo virtio che consente di accedere alla GPU NVIDIA da sistemi guest eseguiti sotto hypervisor KVM, con una perdita di prestazioni minima. Comprende un modulo del kernel, caricato nel sistema guest, e un dispositivo virtio, eseguito sul lato dell'ambiente host. Il codice del modulo del kernel \u00e8 scritto in linguaggio C ed \u00e8 distribuito sotto licenza GPLv2, mentre il codice del dispositivo virtio \u00e8 scritto in Rust e distribuito sotto licenza Apache 2.0.    <\/p>\n<p>Secondo le stime degli sviluppatori, la perdita di prestazioni nell'accesso alla GPU non supera il 2%. L'alta velocit\u00e0 di funzionamento \u00e8 ottenuta grazie al reindirizzamento delle chiamate ioctl al driver NVIDIA nativo e all'operativit\u00e0 a livello ABI del driver NVIDIA, senza tradurre le richieste a livello API. Sul lato del sistema guest vengono utilizzate librerie standard e driver NVIDIA di alto livello che operano nello spazio utente.     <\/p>\n<p>Nel sistema guest viene caricato un modulo del kernel che fornisce i file dei dispositivi \/dev\/nvidiactl, \/dev\/nvidia0...N, \/dev\/nvidia-uvm e instrada le chiamate ioctl() e mmap() tramite virtqueue a un gestore nel contesto host, che le inoltra al driver NVIDIA sul host. Per eliminare i cambi di contesto tra il sistema host e la macchina virtuale, i buffer di comando vengono riflessi (mmap) nella memoria condivisa, accessibile dall'ambiente host e dalla GPU.      <\/p>\n<p>A differenza dell'accesso esclusivo alla GPU (VFIO Passthrough), il progetto virtio-nvgpu fornisce accesso condiviso a una singola GPU da pi\u00f9 sistemi guest. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/vps\/\"   title=\"macchine virtuali\" data-wpil-keyword-link=\"linked\">macchine virtuali<\/a>, e, a differenza di virtio-gpu (Venus, VirGL), opera tramite la passerella ABI al driver NVIDIA, e non a livello della traduzione delle API grafiche Vulkan e OpenGL. Gli svantaggi di virtio-nvgpu sono l'assenza di un'adeguata isolamento basato su IOMMU (i sistemi guest operano tramite il driver host NVIDIA e sono limitati solo dalla filtrazione delle chiamate ioctl) e il vincolo all'ABI dei driver NVIDIA (l'ABI cambia in ogni versione e richiede l'adattamento di virtio-nvgpu).    <\/p>\n<p>Le capacit\u00e0 di virtio-nvgpu sono sufficienti per il rendering, la codifica video e i calcoli utilizzando le API Vulkan, OpenGL, NVENC e CUDA. Viene menzionato principalmente l'uso per la creazione di servizi di gioco cloud o posti di lavoro virtuali, in cui un gioco o un'applicazione grafica viene eseguita in <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/vps\/abuzoustojchivye-vps\/\"   title=\"macchina virtuale\" data-wpil-keyword-link=\"linked\">macchina virtuale<\/a>, in cui si svolge il rendering, la codifica hardware del risultato tramite NVENC e la trasmissione dell'output a un utente remoto sotto forma di flusso video compresso.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=66344\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u043e\u0435\u043a\u0442 virtio-nvgpu \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 virtio-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a GPU NVIDIA \u0438\u0437 \u0433\u043e\u0441\u0442\u0435\u0432\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u0430 KVM, \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0442\u0435\u0440\u0435\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u0412 \u0441\u043e\u0441\u0442\u0430\u0432 \u0432\u0445\u043e\u0434\u0438\u0442 \u043c\u043e\u0434\u0443\u043b\u044c \u044f\u0434\u0440\u0430, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0439 \u0432 \u0433\u043e\u0441\u0442\u0435\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0438 virtio-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0435 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0445\u043e\u0441\u0442-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f. \u041a\u043e\u0434 \u043c\u043e\u0434\u0443\u043b\u044f \u044f\u0434\u0440\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438 \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 GPLv2, \u0430 \u043a\u043e\u0434 virtio-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 Rust [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-183477","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u043e\u0435\u043a\u0442 virtio-nvgpu \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 virtio-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a GPU NVIDIA \u0438\u0437 \u0433\u043e\u0441\u0442\u0435\u0432\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u0430 KVM, \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0442\u0435\u0440\u0435\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Alexander Kovalev\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/virtio-nvgpu-module-for-accessing-nvidia-gpus-from-kvm-virtual-machines\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47virtio-nvgpu \u2014 \u043c\u043e\u0434\u0443\u043b\u044c \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a GPU NVIDIA \u0438\u0437 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d KVM | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u043e\u0435\u043a\u0442 virtio-nvgpu \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 virtio-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a GPU NVIDIA \u0438\u0437 \u0433\u043e\u0441\u0442\u0435\u0432\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u0430 KVM, \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0442\u0435\u0440\u0435\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/virtio-nvgpu-module-for-accessing-nvidia-gpus-from-kvm-virtual-machines\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-26T14:53:23+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-26T14:53:28+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47virtio-nvgpu \u2014 modulo per fornire accesso alla GPU NVIDIA da macchine virtuali KVM | ProHoster","description":"Il progetto virtio-nvgpu sviluppa un dispositivo virtio che consente l'accesso alla GPU NVIDIA da sistemi guest in esecuzione sotto il hypervisor KVM, con una perdita di prestazioni minima.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/virtio-nvgpu-module-for-accessing-nvidia-gpus-from-kvm-virtual-machines","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47virtio-nvgpu \u2014 \u043c\u043e\u0434\u0443\u043b\u044c \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a GPU NVIDIA \u0438\u0437 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d KVM | ProHoster","og:description":"\u041f\u0440\u043e\u0435\u043a\u0442 virtio-nvgpu \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 virtio-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a GPU NVIDIA \u0438\u0437 \u0433\u043e\u0441\u0442\u0435\u0432\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u0430 KVM, \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0442\u0435\u0440\u0435\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/virtio-nvgpu-module-for-accessing-nvidia-gpus-from-kvm-virtual-machines","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-09-26T14:53:23+00:00","article:modified_time":"2026-09-26T14:53:28+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/183477","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=183477"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/183477\/revisions"}],"predecessor-version":[{"id":183478,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/183477\/revisions\/183478"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=183477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=183477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=183477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}