Sdílet prostřednictvím


Ladění kódu GPU

Můžete ladit kód jazyka C++, která běží na jednotku zpracování grafiky (GPU).GPU podpora v aplikaci Visual Studio pro ladění zahrnuje zjišťování rasy procesy spuštění a připojení, a začlenění do okna ladění.

Podporované platformy

Debugging is supported on Windows 7, Windows 8, Windows Server 2008 R2, and Windows Server 2012.Pro ladění na emulátor software Windows 8, nebo Windows Server 2012 je vyžadován.Pro ladění na hardwaru je nutné nainstalovat ovladače pro grafickou kartu.Ne všichni dodavatelé hardwaru provádět všechny funkce ladicí program.Omezení v dokumentaci dodavatele.

[!POZNÁMKA]

Nezávislí dodavatelé hardwaru kteří chtějí podporovat GPU ladění v aplikaci Visual Studio vytvořit DLL knihovna, která implementuje rozhraní VSD3DDebug a cíle své vlastní ovladače.

Konfigurace ladění GPU

Ladicí program nelze přerušit na obou CPU a GPU kód v rámci stejné aplikace.Ve výchozím nastavení ladicí program rozdělí na kódu procesoru.Ladění kódu GPU, použijte jednu z následujících dvou kroků:

  • V Ladění typu seznam na Standardní nástrojů, zvolte GPU pouze.

  • V Průzkumník řešení, v místní nabídce pro projekt, zvolte Vlastnosti.V Stránky vlastností dialogové okno, vyberte laděnía pak vyberte GPU pouze v Typ ladicího programu seznam.

Spouštění a připojování aplikací

Ladění příkazy aplikace Visual Studio můžete použít ke spuštění a zastavení ladění GPU.Další informace naleznete v tématu Zastavení, pozastavení, krok, spuštění prostřednictvím kódu a ukončení ladění v sadě Visual Studio.Můžete také připojit ladicí program GPU pro spuštěný proces, ale pouze pokud tento proces spustí kód GPU.Další informace naleznete v tématu Připojení ke spuštěným procesům pomocí ladicího programu sady Visual Studio.

Spustit aktuální dlaždice kurzor a spustit ke kurzoru

Jestliže ladíte na GPU, máte dvě možnosti pro spuštění až do místa kurzoru.Příkazy pro obě možnosti jsou k dispozici v místní nabídce editoru kódu.

  1. Run to Cursor příkaz spuštěn aplikací, dokud není dosaženo umístění kurzoru pak rozdělí.To neznamená, že aktuální podproces spuštěn kurzor; spíše znamená to, že spustí první podproces, který dosáhne bodu kurzor konec.Viz téma Zastavení, pozastavení, krok, spuštění prostřednictvím kódu a ukončení ladění v sadě Visual Studio.

  2. Spustit aktuální dlaždice kurzor příkaz spuštěn aplikací, dokud všechna vlákna v aktuální dlaždice nedosáhnou kurzor a konce.

Ladění systému Windows

Pomocí určitých ladění systému windows zkontrolujte, vlajky a zablokování podprocesů GPU.Další informace naleznete v části:

Výjimky synchronizace dat

Ladicí program lze identifikovat několik podmínek synchronizace dat při spuštění.Pokud je zjištěn stav, ladicí program vstoupí do stavu přerušení.Máte dvě možnosti –Konec nebo pokračovat.Pomocí výjimky dialogové okno, můžete nakonfigurovat, zda ladicí program rozpoznává tyto podmínky a také podmínky, které ji přeruší pro.Další informace naleznete v tématu Zpracování výjimek (ladění).Můžete použít také Možnosti dialogové okno Chcete-li určit, že ladicí program je třeba ignorovat výjimky v případě, že hodnoty dat nedochází ke změně dat, který je napsán.Další informace naleznete v tématu Obecné, ladění, dialogové okno Možnosti.

Poradce při potížích

Určení akcelerátor

Zarážky v kódu GPU jsou přístupů, pouze pokud je kód spuštěn accelerator::direct3d_ref akcelerátor (REF).Pokud nezadáte akcelerátor ve vašem kódu, je automaticky vybráno jako akcelerátor REF Ladění klávesových zkratek typu ve vlastnostech projektu.Pokud váš kód explicitně vybere akcelerátor, akcelerátor REF nebudou použity během ladění a zarážce není přístupů, pokud GPU hardware má podporu ladění.To lze napravit napsáním kódu tak, aby používala akcelerátor REF během ladění.Další informace naleznete v tématu vlastnosti projektu a Používání akcelerátoru a objektů accelerator_view a Nastavení projektu pro konfiguraci ladění jazyka C++.

Podmíněné zarážky

Podporovány jsou podmíněné zarážky v kódu GPU, ale ne každý výraz může být vyhodnocen v zařízení.Pokud výraz nelze vyhodnotit na zařízení, je vyhodnocena ladicí program.Ladicí program bude pravděpodobně pracovat pomaleji než zařízení.

Chyba: Existuje problém konfigurace vybraného typu ladění klávesových zkratek. 

K této chybě dochází, pokud existuje nekonzistence mezi nastavení projektu a konfiguraci počítače, ke kterému jsou ladění na.Další informace naleznete v tématu Nastavení projektu pro konfiguraci ladění jazyka C++.

Chyba: Ladění ovladač pro vybraný typ urychlovače ladění není nainstalován na cílovém počítači.

Tato chyba se objeví, Jestliže ladíte na vzdáleném počítači.Ladicí program až do spuštění nelze určit, zda jsou ovladače nainstalovány na vzdálený počítač.Ovladače jsou k dispozici u výrobce grafické karty.

Chyba: Časový limit detekce a obnovení (TDR) musí být zakázána na vzdáleném serveru.

Je možné pro výpočty C++ AMP překročí výchozí časový interval nastavený časový limit vyhledávání systému Windows a procesu obnovení (TDR).Když se to stane, výpočtu je zrušen a data budou ztracena.Další informace naleznete v tématu Zpracování TDRs v C++ AMP.

Viz také

Úkoly

Návod: Ladění aplikace C++ AMP

Referenční dokumentace

Nastavení projektu pro konfiguraci ladění jazyka C++

Další zdroje

Spuštění GPU ladění v aplikaci Visual Studio