Vesuvius Challenge
Poprawka i porównanie pomiarowe dla oficjalnych narzędzi, które na Apple Silicon bez ostrzeżenia wybierały CPU mimo dostępnego MPS.
Projekt
Przygotowałem poprawkę dodającą MPS do wyboru urządzenia w oficjalnych narzędziach villa. Obejmuje ona inferencję wykrywania atramentu i obsługę mieszanej precyzji, miary z rodziny Dice oraz automatyczny wybór urządzenia w lasagna.
Jak to działa
Przygotowanie tych samych danych
Przygotowywany jest ten sam wycinek zwoju i wytrenowany model, a dostępne urządzenia obliczeniowe są sprawdzane.
Wybór dostępnego urządzenia
Poprawka sprawdza najpierw CUDA dla GPU firmy NVIDIA, potem MPS dla GPU firmy Apple; gdy żadna ścieżka nie jest dostępna, wybiera CPU.
Porównanie czasu i obrazów
CPU i MPS otrzymują te same dane; zapisywane są czas wykonania, różnice pikseli w obrazach wykrytego atramentu oraz ustawienia precyzji obliczeń.
Porównanie wykorzystuje ten sam rzeczywisty segment, wycinek i punkt kontrolny modelu na CPU oraz po poprawce na MPS. Oprócz czasu wykonania porównano obrazy wyjściowe piksel po pikselu.
W materiale odnotowano różną precyzję obliczeń na CPU i MPS. Szkice zgłoszenia i opisu do nagrody łączą przyczynę problemu, poprawkę oraz warunki odtworzenia wyniku.
Co wynika z dokumentacji
W przeprowadzonym porównaniu ścieżka MPS po poprawce była około 9,7 raza szybsza od CPU. Poprawka i pomiary stanowią przygotowywany materiał do zgłoszenia do Progress Prize.
- Zmienione pliki
- 6 plików
- Zmienione wiersze
- +28 / −9 wierszy
- Przyspieszenie MPS względem CPU
- Około 9,7×
Zakres
Pomiar dotyczy tych warunków inferencji i nie oznacza odczytania nowego tekstu.
