Parallel Thread Execution (PTX) – niskopoziomowa maszyna wirtualna, język jej asemblera i model programowy procesora (ISA) dla kart graficznych firmy Nvidia obsługujących technologię obliczeniową CUDA. PTX stanowi uniwersalny, pośredni etap w translacji programów napisanych w językach wysokiego poziomu, np. C lub C++, na kod maszynowy zoptymalizowany dla konkretnych architektur GPU firmy Nvidia.
Do tłumaczenia programów z języków C i C++ na PTX wykorzystuje się specjalny kompilator (nvopencc), który opiera się na technologii Open64. Translacja kodów PTX na kod maszynowy może stanowić jedną z faz kompilacji (kompilator uruchamia specjalny translator, ptxas) lub zostać wykonany dopiero w chwili uruchomienia programu przez sterownik karty graficznej (tzw. kompilacja w locie, JIT). Efektem kompilacji programów w CUDA mogą być repozytoria kodów (ang. device code repositories) zawierające np. kod pośredni PTX w wersji 1.0 oraz jeden lub kilka kodów maszynowych przeznaczonych dla konkretnych procesorów. Dostępność kodu PTX w podstawowej wersji gwarantuje możliwość uruchomienia programu na dowolnym sprzęcie obsługującym PTX 1.0, a więc na wszystkich kartach graficznych obsługujących technologię CUDA, w tym na sprzęcie nowych, nieistniejących jeszcze generacji (producent gwarantuje zgodność wszystkich istniejących i przyszłych produktów z PTX 1.0). Z kolei dołączenie kodów maszynowych dla istniejących modeli kart graficznych eliminuje potrzebę kompilacji kodu PTX przez sterownik urządzenia i skraca w ten sposób czas uruchamiania programu.
Obecnie (sierpień 2011) najnowsza stabilna wersja PTX dla architektury Fermi ma numer 2.3 (PTX 2.3; 18 stycznia 2011); PTX dla wcześniejszych architektur ma numer 1.4 (PTX 1.4; 23 sierpnia 2010).
Według zapewnień producenta, PTX realizuje następujące cele: