Nvidia Optimus - Nvidia Optimus

Nvidia Optimus bir bilgisayar GPU değiştirme tarafından oluşturulan teknoloji Nvidia bu, istemci yazılım uygulamaları tarafından üretilen kaynak yüküne bağlı olarak, sistemin grafik oluşturma donanımından maksimum performans veya minimum güç tüketimi sağlamak için bir bilgisayar sistemi içindeki iki grafik bağdaştırıcısı arasında sorunsuz bir şekilde geçiş yapar.

Tipik bir platform hem daha düşük performans içerir entegre grafik işlemcisi tarafından Intel ve Nvidia tarafından yüksek performanslı bir tane. Optimus, ayrık aygıtın gücünü otomatik olarak değiştirerek pil ömründen tasarruf sağlar Grafik İşleme Ünitesi (GPU) gerekmediğinde kapanır ve tekrar gerektiğinde açılır. Teknoloji esas olarak mobil bilgisayarları hedefliyor: defterler.[1][a] Ayrı GPU'nun performansından yararlanacağı belirlenen bir uygulama başlatılırken, ayrı GPU'ya güç verilir ve uygulama, bu GPU aracılığıyla bir işleme bağlamı tarafından sunulur. Aksi takdirde uygulama, entegre GPU'yu kullanan bir oluşturma bağlamı tarafından sunulur. Grafik işlemcileri arasında geçiş tamamen kusursuz olacak ve "perde arkasında" olacak şekilde tasarlanmıştır.

Nvidia tarafından desteklenen resmi işletim sistemleri Microsoft Windows ve Linux. Bumblebee adlı bir proje[4] bir alternatif açık kaynak Linux için Optimus desteğinin uygulanması.[5]

Operasyon

Bir kullanıcı bir uygulamayı başlattığında, grafikler sürücü uygulamanın ayrı GPU'dan fayda sağlayıp sağlamayacağını belirlemeye çalışır. Öyleyse, GPU bir Boşta durum ve tüm işleme çağrılarına geçilir. Bu durumda bile, son görüntüyü çıkarmak için entegre grafik işlemcisi (IGP) kullanılır. Daha az zorlu uygulamalar kullanıldığında, IGP tek kontrolü alarak daha uzun pil ömrü ve daha az fan gürültüsü sağlar. Windows altında Nvidia sürücüsü, bir yürütülebilir dosya başlatıldığında sağ tıklama menüsünde GPU'yu manuel olarak seçme seçeneği de sunar.

Nvidia GPU sürücüsünün donanım arabirim katmanı içinde Optimus Yönlendirme Katmanı, akıllı grafik yönetimi sağlar. Optimus Yönlendirme Katmanı ayrıca bir çekirdek -farklı grafik aygıtlarıyla ilişkili belirli sınıfları ve nesneleri tanımak ve yönetmek için düzey kitaplığı. Bu Nvidia yeniliği, her bir sürücü istemcisi (yani uygulama) için mimari kaynakları gerektiği gibi tahsis ederek durum ve içerik yönetimi gerçekleştirir. Bu bağlam yönetimi şemasında, her uygulama GPU'yu aynı anda kullanan diğer uygulamalardan haberdar değildir.

Optimus Yönlendirme Katmanı, belirlenen sınıfları tanıyarak, işleme performansını iyileştirmek için GPU'nun ne zaman kullanılabileceğini belirlemeye yardımcı olabilir. Özellikle, aşağıdaki üç çağrı türünden herhangi birini bulduğunda GPU'yu açmak için bir sinyal gönderir:

  • DX Çağrıları: Herhangi bir 3D oyun motoru veya DirectX uygulama bu çağrıları tetikleyecek
  • DXVA Çağrılar: Video oynatma bu çağrıları tetikleyecektir (DXVA = DirectX Video Hızlandırma)
  • CUDA Çağrılar: CUDA uygulamaları bu çağrıları tetikleyecektir

Önceden tanımlanmış profiller ayrıca fazladan grafik gücü gerekip gerekmediğini belirlemeye yardımcı olur. Bunlar, Nvidia Kontrol Paneli kullanılarak yönetilebilir.

Optimus, bir donanım kullanımından kaçınır çoklayıcı ve ekran yüzeyini GPU'dan aktararak ekran sürücüsünün IGP'den GPU'ya değiştirilmesiyle ilişkili aksaklıkları önler çerçeve arabelleği PCI Express veri yolu üzerinden IGP tarafından kullanılan ana bellek tabanlı çerçeve arabelleğine. Optimus Copy Engine, geleneksele yeni bir alternatiftir. DMA GPU çerçeve arabelleği belleği ile IGP tarafından kullanılan ana bellek arasındaki aktarımlar.

Linux desteği

Ortada, ücretsiz ve açık kaynaklı sürücü yığını şunlardan oluşur: Mesa 3D ve kullanıcı alanında libDRM ve DRM /KMS sürücüsü Linux çekirdeğinde. Nvidia'nın tescilli çekirdek bloğu, DMA BUF lisans kısıtlamaları nedeniyle.


İkili Nvidia sürücüsü, 3 Mayıs 2013'te 319.17'de kısmi Optimus desteği ekledi.[6] Mayıs 2013 itibarıyla, ayrı kart için güç yönetimi desteklenmemektedir, bu da Nvidia grafik kartını tamamen kapatarak pil tasarrufu yapamayacağı anlamına gelir.[7]

Açık kaynak projesi Yaban arısı grafik çipi geçişi için destek sağlamaya çalışır. Windows uygulamasında olduğu gibi, varsayılan olarak tüm uygulamalar entegre grafik işlemcisi üzerinden çalışır. 2013 itibarıyla yalnızca, ayrı GPU'da iyileştirilmiş grafik performansı olan bir programı, bunu açıkça bu şekilde çağırarak çalıştırabilir: örneğin, Komut satırı veya özel olarak yapılandırılmış kısayol simgesi aracılığıyla. Grafik işlemcileri arasında otomatik algılama ve geçiş henüz mevcut değil.

Bir üzerinde devam eden çalışma grafik arayüzü - yaban arısı-ui - Gerektiğinde geliştirilmiş grafik performansı için programların daha rahat başlatılmasına izin vermeyi amaçlar.

Buhar Linux için, oyunları ayrı GPU (Steam Topluluğu: Linux için Optimus ve Steam ).

Bumblebee Projesi, Linux'un grafik mimarisinde daha gerekli yazılım değişiklikleri yapıldıkça gelişmeye devam ediyor. En iyi şekilde yararlanmak için, yeni bir Linux dağıtımını kullanmak en iyisidir. 2013 itibarıyla, Bumblebee yazılım havuzları Arch Linux, Debian, Fedora, Gentoo, Mandriva, OpenSuSE ve Ubuntu. Kaynak paketi diğer dağıtımlar için kullanılabilir.

Nvidia tarafından Optimus'u destekleme girişimi DMA BUF, bir Linux çekirdeği paylaşım mekanizması tamponlar donanım genelinde (potansiyel olarak GPU'lar), çekirdek geliştiricileri tarafından Ocak 2012'de reddedildi. lisans arasındaki uyumsuzluk GPL lisanslı çekirdek kodu ve tescilli lisanslı Nvidia damla.[8]

Grafik bağdaştırıcıları arasında geçiş yapmak için herhangi bir yazılım mekanizması olmadığında, sistem, kurulu bir grafik sürücüsü desteklese bile, Nvidia GPU'yu hiç kullanamaz.[9]

Modern Optimus Desteği

Pek çok linux dağıtımı artık nvidia kartının tüm işlemeyi yaptığı Nvidia boşaltmayı destekliyor. Dahili dizüstü bilgisayar ekranı fiziksel olarak intel sürücüye bağlı olduğundan, nvidia kartı intel ekran belleğini işler. Yırtılmayı önlemek için, xorg sunucusunda vsync'e benzer şekilde yırtılmayı önlemek için bu arabellek güncellemelerini zamanlamak için Prime Synchronization adlı bir mekanizma vardır; bunun çalışması için nvidia sürücüsünün bir çekirdek modülü olarak yüklenmesi gerekir. Bu genellikle varsayılan olarak etkinleştirilmez.

Bumblebee'nin aksine, bu boşaltma çözümü çoklu monitör grafiklerine izin verir. Dezavantajı, nvidia kartını değiştirmek oturumun kapatılmasını gerektirmesidir.

Bu yaklaşımın önde gelen uygulaması, Ubuntu'nun nvidia kartını kapatmak için bir komut satırı ve grafik aracı olan 'prime-select' paketidir. Windows'un aksine, bu dinamik olarak yapılmaz ve değişikliğin etkili olması için kullanıcının oturum açma oturumunu yeniden başlatması gerekir.

Ubuntu'nun ana seçim komut dosyası, bazı durumlarda kendi grafik araçlarını ekleyen Ubuntu türevlerinde mevcuttur. Prime-offload yaklaşımı kemer ve fedora'da taşınmış veya yeniden uygulanmıştır.

2016'da Nvidia, GL Vendor Neutral Dispatch'i duyurdu, yani hem intel hem de nvidia sürücüleri aynı anda kurulabilir. Bu, dağıtımların avantaj sağlamaya başlaması 2018 yılına kadar sürmesine rağmen, mod değiştirme sürecini büyük ölçüde basitleştirdi.

Bazı eski ve ileri teknoloji dizüstü bilgisayarlarda bir BIOS çıkışı iki video cihazı arasında değiştirmek için donanım çoklayıcısının durumunu manuel olarak seçmek için ayar. Bu durumda, bir Linux kullanıcısı, dizüstü bilgisayarı yalnızca bir grafik aygıtının bulunduğu donanım yapılandırmalarına yerleştirebilir. Bu, iki grafik sürücüsünü çalıştırmanın karmaşıklığını ortadan kaldırır, ancak güç tasarrufu sağlamaz.

Sürücü sürümü 435'ten bu yana, tescilli sürücü, tek bir pencerenin yükleme boşaltmasını destekler. DGPU'nun oluşturduğu sanal bir ekran oluşturur ve bu, yüksüz uygulama için ana ekrandaki pencerede görüntülenir.[10] Ekim 2019 itibarıyla bu, gerekli değişiklikler henüz yayınlanmadığından xorg geliştirme şubesinin kullanımını gerektirmektedir.

Ayrıca bakınız

Notlar

  1. ^ Desktop Optimus, Haziran 2011'de piyasaya sürülecek.[2] adı altında Sinerji,[3] ama asla başaramadı.

Referanslar

  1. ^ "Optimus Teknolojisi". Nvidia. Alındı 10 Nisan 2016.
  2. ^ Lee, Terence (23 Nisan 2011). "NVIDIA, COMPUTEX'te Desktop Optimus / Synergy'yi Başlatacak". Alındı 10 Nisan 2016.
  3. ^ Pop, Sebastian (26 Nisan 2011). "NVIDIA Optimus Masaüstü Bilgisayarlara Düşüyor". Alındı 10 Nisan 2016.
  4. ^ "Bumblebee Daemon". GitHub. 22 Nisan 2013. Alındı 10 Nisan 2016.
  5. ^ "Bumblebee sürüm 3.0" Tumbleweed "sürümü". 20 Ocak 2012. Alındı 10 Nisan 2016.
  6. ^ Plattner, Aaron (2 Mayıs 2013). "Linux, Solaris ve FreeBSD sürücüsü 319.17 (uzun ömürlü şube sürümü)". Nvidia. Alındı 10 Nisan 2016.
  7. ^ "Veri toplama sistemi NVIDIA 319.17 Optimus ve RandR 1.4" (Rusça). 2 Mayıs 2013. Alındı 10 Nisan 2016.
  8. ^ "NVIDIA, Linux İçin Optimus Olanaklarından Bahsetti". Phoronix. 25 Ocak 2012.
  9. ^ "Bu donanım çoklayıcıya sahip olmayan dizüstü bilgisayarlarda şu anda NVIDIA GPU'yu görüntüleme için kullanamazsınız.", 23 Temmuz 2010, 27 Kasım 2010'da erişildi. Arşivlendi 18 Temmuz 2011, at Wayback Makinesi
  10. ^ "Bölüm 35. PRIME Render Aktarımı". download.nvidia.com. Alındı 2019-10-09.

Dış bağlantılar