GPU-programmeren
Welke reden waarom overdracht naar de GPU sneller gaat nadat het CPU-geheugen is vastgepind (page-locked), is juist?
- AOmdat het besturingssysteem die pagina niet verplaatst of verwijdert, kan de GPU rechtstreeks met DMA lezen en schrijven, is een tussenkopie niet nodig en is ook asynchrone overdracht mogelijk
- BOmdat de data bij het vastpinnen wordt gecomprimeerd
- COmdat bij het vastpinnen de generatie van PCI Express stijgt
Antwoord en toelichting tonen
Antwoord: A. Omdat het besturingssysteem die pagina niet verplaatst of verwijdert, kan de GPU rechtstreeks met DMA lezen en schrijven, is een tussenkopie niet nodig en is ook asynchrone overdracht mogelijk
Gewoon geheugen kan door het besturingssysteem altijd naar een andere fysieke pagina worden verplaatst of naar opslag worden verwijderd, dus het is gevaarlijk als DMA van de GPU er zomaar in leest of schrijft. Daarom wordt gewoonlijk eerst naar een tijdelijk vastgepind gebied gekopieerd en daarna overgedragen. Met geheugen dat vanaf het begin is vastgepind, vervalt deze extra kopie en kan de overdracht ook asynchroon, overlappend met CPU-verwerking, plaatsvinden.