The problems of measurements of the execution time for CUDA kernels are considered in this paper. A few estimators are compared for different execution times. The proper measurements are important for code optimization using evolutionary compilers. The best estimator for fast time kernels (ms) is the minimal value estimator. The single run value is applicable for long time kernels (seconds). The disturbances of measurements are also related to the time between kernel runs, which is an unexpected result.
PL
Kompilatory ewolucyjne pozwalają na optymalizację kodu źródłowego i uzyskanie bardziej optymalnego (szybszego) kodu wynikowego. Wykorzystując metody optymalizacji nieliniowej możliwe jest znalezienie lepszej kombinacji instrukcji (rys. 3). Jest to istotne dla układów z nieznaną metryką wykonywania kodu. Tego typu sytuacja ma miejsce dla kart GPGPU z platformą CUDA, gdzie możliwe jest programowanie na poziomie języka C (CUDA) lub kodu pośredniego (PTX [3]) – rys. 1. Z uwagi na niemożność programowania na poziomie procesora GPU i brak informacji na temat architektury, konieczna jest optymalizacja na wyższym poziomie. W tym celu należy wykorzystać pomiary czasu wykonywania (rys. 2), jednak jest to trudne z uwagi na zakłócenia pomiaru ze strony systemu operacyjnego i innych urządzeń komputera. Sugerowany pomiar średniego czasu dla kilkunastu uruchomień jest nieadekwatny w wielu sytuacjach. O ile dla długich czasów wykonywania kodu GPGPU rzędu sekund jest to akceptowalne (rys. 6), to nie jest to prawidłowe dla krótkich czasów rzędu ms. Wykorzystując estymatory (2-5) można poszukiwać lepszego rozwiązania. Najbardziej nieoczekiwanym jest to, że istnieje silny wpływ opóźnienia między kolejnymi uruchomieniami kodu GPGPU na wynik (rys. 7). Estymator średniej jest lepszy od mediany, która potrafi fałszować wyniki, ale najlepszym jest wartość minimalna dla wielu uruchomień. Niestety także wartość minimalna zależy od czasu opóźnienia między uruchomieniami, przy błędzie 15%.
2
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
W drugiej części artykułu podano ogólne wiadomości o budowie współczesnych urządzeń do pomiaru czasu i tendencje w ich rozwoju. Poza podstawową funkcją jaką spełniają zegary, tj. pomiarem czasu, omówiono także inne ich funkcje: estetyczne, reprezentacyjne, hobbystyczne i inne.
EN
In the second part of the paper there is provided a general information on designing the modern devices for measurements of time as well as trends of their development. Except for the basic function the clocks perform, i. e. measuring time, their other functions are also discussed, as referred to aesthetics, presentableness, hobby and other.
3
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
W pierwszej części artykułu omówiono najważniejsze osiągnięcia w konstrukcji urządzeń do pomiaru czasu oraz na tym tle - różne definicje podstawowej jednostki czasu (sekundy), które - w miarę udoskonalania techniki pomiarów czasów - kolejno były przyjmowane jako obowiązujące.
EN
In the first part of the paper there are discussed the most important achievements in designing devices for measurements of time, and against this backround - various definitions of the basic unit of time (second), which - as the technique of measuring time progressed - were successively acepted as the obligatory.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.