{"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\/pl\/blog\/news\/virtio-nvgpu-module-for-accessing-nvidia-gpus-from-kvm-virtual-machines","title":{"rendered":"virtio-nvgpu \u2014 modu\u0142 umo\u017cliwiaj\u0105cy dost\u0119p do GPU NVIDIA z maszyn wirtualnych KVM","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Projekt virtio-nvgpu rozwija urz\u0105dzenie virtio, kt\u00f3re umo\u017cliwia dost\u0119p do GPU NVIDIA z system\u00f3w go\u015bcinnych uruchamianych pod kontrol\u0105 hipernadzoru KVM, z minimalnymi stratami wydajno\u015bci. W sk\u0142ad projektu wchodzi modu\u0142 j\u0105dra \u0142adowany w systemie go\u015bcinnym oraz urz\u0105dzenie virtio uruchamiane po stronie hosta. Kod modu\u0142u j\u0105dra napisany jest w j\u0119zyku C i rozpowszechniany na licencji GPLv2, a kod urz\u0105dzenia virtio napisany jest w j\u0119zyku Rust i rozpowszechniany na licencji Apache 2.0.    <\/p>\n<p>Wed\u0142ug szacunk\u00f3w deweloper\u00f3w straty wydajno\u015bci przy dost\u0119pie do GPU nie przekraczaj\u0105 2%. Wysoka wydajno\u015b\u0107 osi\u0105gana jest dzi\u0119ki przekierowaniu wywo\u0142a\u0144 ioctl do natywnego sterownika NVIDIA i pracy na poziomie ABI sterownika NVIDIA, bez translacji \u017c\u0105da\u0144 na poziomie API. Po stronie systemu go\u015bcinnego stosowane s\u0105 standardowe biblioteki i wysoko poziomowe sterowniki NVIDIA dzia\u0142aj\u0105ce w przestrzeni u\u017cytkownika.     <\/p>\n<p>W systemie go\u015bcia \u0142adowany jest modu\u0142 j\u0105dra, kt\u00f3ry zapewnia pliki urz\u0105dze\u0144 \/dev\/nvidiactl, \/dev\/nvidia0\u2026N, \/dev\/nvidia-uvm i przekazuje wywo\u0142ania ioctl() oraz mmap() przez virtqueue do obs\u0142ugi na stronie \u015brodowiska hosta, kt\u00f3ra przekazuje je do sterownika NVIDIA na ho\u015bcie. Aby unikn\u0105\u0107 prze\u0142\u0105cze\u0144 kontekstu mi\u0119dzy systemem hosta a maszyn\u0105 wirtualn\u0105, bufory polece\u0144 s\u0105 odzwierciedlane (mmap) w pami\u0119ci wsp\u00f3\u0142dzielonej, dost\u0119pnej dla \u015brodowiska hosta i GPU.      <\/p>\n<p>W przeciwie\u0144stwie do ekskluzywnego przekazywania dost\u0119pu do GPU (VFIO Passthrough), projekt virtio-nvgpu zapewnia wsp\u00f3\u0142dzielony dost\u0119p do jednego GPU z wielu system\u00f3w go\u015bcinnych, a w przeciwie\u0144stwie do virtio-gpu (Venus, VirGL) dzia\u0142a poprzez przekazywanie ABI do sterownika NVIDIA, a nie na poziomie translacji API graficznych Vulkan i OpenGL. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/vps\/\"   title=\"maszyn wirtualnych\" data-wpil-keyword-link=\"linked\">maszyn wirtualnych<\/a>, a w przeciwie\u0144stwie do virtio-gpu (Venus, VirGL) dzia\u0142a poprzez przekazywanie ABI do sterownika NVIDIA, a nie na poziomie translacji API graficznych Vulkan i OpenGL. Wady virtio-nvgpu obejmuj\u0105 brak pe\u0142nej izolacji opartej na IOMMU (systemy go\u015bcinne dzia\u0142aj\u0105 poprzez sterownik NVIDIA hosta i s\u0105 ograniczone jedynie do filtrowania wywo\u0142a\u0144 ioctl) oraz zwi\u0105zanie z ABI sterownik\u00f3w NVIDIA (ABI zmienia si\u0119 w ka\u017cdej wersji i wymaga dostosowania virtio-nvgpu).    <\/p>\n<p>Mo\u017cliwo\u015bci virtio-nvgpu s\u0105 wystarczaj\u0105ce do renderowania, kodowania wideo oraz oblicze\u0144 za pomoc\u0105 API Vulkan, OpenGL, NVENC i CUDA. G\u0142\u00f3wnym obszarem zastosowania jest tworzenie chmurowych us\u0142ug gamingowych lub wirtualnych stanowisk roboczych, w kt\u00f3rych gra lub aplikacja graficzna jest uruchamiana w <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/vps\/abuzoustojchivye-vps\/\"   title=\"maszynie wirtualnej\" data-wpil-keyword-link=\"linked\">maszynie wirtualnej<\/a>, w kt\u00f3rej nast\u0119puje renderowanie, sprz\u0119towe kodowanie wynik\u00f3w za pomoc\u0105 NVENC i przesy\u0142anie wyj\u015bcia do zdalnego u\u017cytkownika w postaci skompresowanego strumienia wideo.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <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\/pl\/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=\"pl_PL\" \/>\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\/pl\/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 modu\u0142 zapewniaj\u0105cy dost\u0119p do GPU NVIDIA z maszyn wirtualnych KVM | ProHoster","description":"Projekt virtio-nvgpu rozwija urz\u0105dzenie virtio, kt\u00f3re umo\u017cliwia dost\u0119p do GPU NVIDIA z system\u00f3w go\u015bcinnych uruchamianych pod zarz\u0105dzaniem hipernadzorcy KVM, przy minimalnej utracie wydajno\u015bci.","canonical_url":"https:\/\/prohoster.info\/pl\/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":"pl_PL","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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/183477","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=183477"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/183477\/revisions"}],"predecessor-version":[{"id":183478,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/183477\/revisions\/183478"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=183477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=183477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=183477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}