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).

Cele PTX

edytuj

Według zapewnień producenta, PTX realizuje następujące cele:

  • Stanowi stabilny model programowy procesora (ISA) dla wielu generacji GPU.
  • Umożliwia w programach kompilowanych z języków wysokiego poziomu osiągnięcie wydajności porównywalnej z wydajnością uzyskiwaną w programach pisanych bezpośrednio dla konkretnych GPU.
  • Stanowi niezależny od sprzętu model programowy procesora (ISA) dla kompilatorów.
  • Stanowi platformę dystrybucyjną kodu dla twórców aplikacji i bibliotek.
  • Stanowi wspólny wyjściowy model programowy procesora (ISA) dla optymalizatorów generowanego kodu maszynowego
  • Ułatwia ręczne kodowanie wysokowydajnych bibliotek, kerneli i testów architektur GPU
  • Stanowi skalowalny model programowania obejmujący zarówno pojedyncze GPU, jak i ich działające równolegle klastry.

Bibliografia

edytuj

📚 Artikel Terkait di Wikipedia

Lista języków programowania

NASM Nemerle NetLogo occam OpenGL Shading Language Oxygene Parallel Thread Execution Pascal PL/I Python Q# QCL .QL R Rapira RPG RPL Ruby Rust SAKO SAS 4GL

PTX

odma opłucnowa pikrotoksyna PTX (Parallel Thread Execution) – język programowania dla maszyny wirtualnej w technologii CUDA.

Lista skrótów i skrótowców używanych w informatyce

Letter Quality NNTP – Network News Transport Protocol NPTL – Native POSIX Thread Library NPU – Neural Processing Unit NT – New Technology NTFS – New Technology

Elegia napisana ręką własną w Tower przed kaźnią

kaźnią (ang. Elegie, written with his own hand in the Tower before his execution) – wiersz angielskiego poety Chidiocka Tichborne'a napisany krótko przed