Wydajność urządzeń w OpenCL DES

Przetłumaczone automatycznie z angielskiego. Przeczytaj oryginał

Wśród różnych urządzeń obliczeniowych, które mam, jest jedno, które się wyróżnia – NVIDIA Quadro NVS 140M – ponieważ obsługuje tylko operacje FP32 (float), ale nie FP64 (double). Jest po prostu zbyt stare. W OpenCL mamy zarówno funkcję pow, która przyjmuje parametry double, jak i float. Ta druga nazywa się pown. Pierwszej używam właśnie do benchmarkowania obliczeń podwójnej precyzji.

ModelRokRdzenieJednostkiZegarWyd.1k10k100k
NVS 4200M20114811480156/12131161163
Tesla K20xm20122688147323935/13122324
Intel i7 2640M2011242800n/a327281
RTX 3050 Ti Mobile202125602016955299/8321090
Intel UHD 10200H2020192121050422/?419192
NVS 140M (FP32)200716280025/-474454453

Najszybsza w tym porównaniu jest Tesla K20xm, co uważam za nieco zaskakujące, ponieważ pochodzi z 2012 roku, a wygrywa z RTX 3050 Ti Mobile z 2021 roku. Jeśli jednak weźmiemy pod uwagę, że wydajność FP64 Tesli jest 15 razy większa (tylko 4 razy w rzeczywistym czasie) niż RTX, to powinno być oczywiste, dlaczego wygrywa.

Szczerze mówiąc, nie mam potrzeby używać double (liczby całkowite powinny tu w zupełności wystarczyć), ale to świetna okazja, by zobaczyć różnice w wydajności między różnymi urządzeniami. Przy użyciu FP32 dość trudno byłoby uzyskać tak szeroki zakres czasów. Użycie pown(float, integer) nieco zmienia powyższą tabelę, ponieważ zaczynamy korzystać z obliczeń FP32 (przy 100 tys. elementów):

  • Tesla K20xm: 12 ms
  • RTX 3050 Ti Mobile: 3 ms
  • NVS 4200m: 352 ms
  • NVS140M: 4453 ms

Teraz spójrzmy na te czasy z perspektywy teoretycznej wydajności mierzonej w GFLOPS. Porównując NVS 4200M i NVS 140M, mamy relację około 6-krotną (156 vs 25), ale relacja czasów wynosi tylko niespełna 4. Wchodzą tu więc w grę także inne czynniki. Porównując RTX 3050 Ti i Teslę K20xm, mamy 1,34 (5299 vs 3935), ale relacja czasów wynosi 4. Rzeczywisty wzrost wydajności jest więc znacznie wyższy, niż spodziewałbym się, porównując pomiary GFLOPS.

Zdobycie Tesli K20xm to prawdziwa okazja, jeśli chodzi o obliczenia FP64, ponieważ jest na podobnym poziomie co RTX 4090.

Wersja Markdown

Wszystkie treści na tej stronie są udostępniane na licencji Uznanie autorstwa – Użycie niekomercyjne – Bez utworów zależnych 4.0 Międzynarodowe (CC BY-NC-ND 4.0). Cytuj jako: Michał Sobczak, „Wydajność urządzeń w OpenCL DES”, 17 stycznia 2023, https://michalasobczak.pl/pl/posts/device-performance-in-opencl-des.html