AMD i Intel chcą połączyć prace nad optymalizacją PyTorch dla procesorów x86 w bibliotece oneDNN. AMD ma włączyć do niej rozwiązania rozwijane w projekcie ZenDNN, tworząc wspólną ścieżkę programową dla procesorów obu firm. To zapowiedź współpracy, a nie informacja o zakończonej integracji: firmy nie podały harmonogramu ani wyników testów wydajności.
2
3
18
Co ogłosiły firmy?
Zgodnie z rekomendacją x86 Ecosystem Advisory Group AMD i Intel wskazały oneDNN jako domyślną bibliotekę open source do przyspieszania obliczeń x86 w PyTorch. AMD planuje przenieść do niej optymalizacje ZenDNN, jednocześnie nadal rozwijając rozwiązania dostosowane do swoich procesorów.
2
18
oneDNN to biblioteka do optymalizacji obliczeń wykorzystywanych w uczeniu głębokim. Została zapoczątkowana przez Intela, a obecnie jest zarządzana przez Unified Acceleration Foundation (UXL). ZenDNN zawiera optymalizacje przygotowane z myślą o architekturze Zen firmy AMD.
6
13
Celem wspólnej pracy jest ułatwienie tworzenia i optymalizowania aplikacji PyTorch działających na procesorach AMD i Intel — bez konieczności utrzymywania odrębnych ścieżek programowych dla każdego producenta. Tak opisał założenie współpracy Jeff McVeigh z Intela.
1 Firmy nie przedstawiły jednak szczegółowych kryteriów, na podstawie których grupa doradcza zarekomendowała oneDNN.
1
2
Wspólna biblioteka, ale nie koniec optymalizacji pod konkretne procesory
Integracja ZenDNN z oneDNN ma skupić prace obu firm w jednym projekcie. Nie oznacza to jednak rezygnacji z dostrajania oprogramowania do konkretnych procesorów: AMD zapowiada, że będzie nadal optymalizować swoje rozwiązania pod własne układy.
2
18
AMD dołączyło również do UXL jako członek komitetu sterującego. Daje to firmie udział w pracach organizacji zarządzającej oneDNN, ale dostępne informacje nie precyzują praw głosu AMD ani szczegółowego wpływu tej zmiany na decyzje dotyczące projektu.
2
9
Kiedy pojawią się efekty?
Nie ogłoszono daty zakończenia integracji ZenDNN, docelowej wersji PyTorch ani konkretnego wydania oneDNN, w którym zmiany mają być gotowe. Nie opublikowano też pomiarów pokazujących, jak współpraca wpłynie na wydajność.
3
4
AMD i Intel zapowiadają ponadto przyszłe aktualizacje oneDNN z obsługą AI Compute Extensions (ACE), zaprojektowanych z myślą o przyspieszaniu mnożenia macierzy. Wersja kandydująca oneDNN 3.14 zawiera już wstępną obsługę instrukcji ACE, ale nie włącza jej domyślnie. Trzeba ją aktywować zmienną środowiskową ONEDNN_MAX_CPU_ISA=AVX10_2_ACE.
7
10
Sama obecność tej funkcji w wersji kandydującej nie przesądza, kiedy ACE będzie dostępne w PyTorch. Na dziś najważniejsza jest więc zapowiedź wspólnej biblioteki i dalszej integracji — nie gotowa zmiana, która już trafiła do instalacji PyTorch.
5
10