SantyagoSantyago
Avatar

Witaj!
Blog archiwalny. Już niebawem nowy serwis!

YouTube RSS Facebook GitHub

W poprzedniej części przyglądaliśmy się budowie nowego Jetsona TX1, dlatego dziś nadszedł czas aby sprawdzić, jak najnowsze dziecko od NVIDIA sprawuje się na tle innych SBC, a przede wszystkim w starciu ze swoim starszym bratem Jetson TK1.

Zanim jednak przejdziemy do wyników, musimy zdać sobą sprawę z tego, że budowa Jetsona TX1 jest diametralnie inna niż ta, którą znamy z wersji TK1.

Różnią się nie tylko zegarami taktowania CPU, które w przypadku TX1 są niższe i wynoszą 1.9GHz (w porównaniu do 2.3GHz dla TK1), ale i samą architekturą, która tym razem jest 64-bitowa. Na wyniki będziemy musieli więc spojrzeć nieco inaczej, ponieważ w niektórych momentach są dość zaskakujące.

Bez cienia wątpliwości istotny jest również dostarczony system Linux4Tegra, który obecnie jest 32-bitowy, podczas gdy jądro jest 64-bitowe. Dlatego w przyszlości testy trzeba będzie zapewne powtórzyć :)

Tuning

Zanim przystąpimy do testów, upewnijmy się, że wyciśniemy z naszego Jetsona TX1 wszystkie możliwe soki. Wyłączymy zatem cpuquiet, odpowiedzialne za "usypanie" nieaktywnych rdzeni procesora, ale także ustawimy scaling_governor w tryb wydajności.

  1. echo 0 > /sys/devices/system/cpu/cpuquiet/tegra_cpuquiet/enable
  2. echo 1 > /sys/devices/system/cpu/cpu0/online
  3. echo 1 > /sys/devices/system/cpu/cpu1/online
  4. echo 1 > /sys/devices/system/cpu/cpu2/online
  5. echo 1 > /sys/devices/system/cpu/cpu3/online
  6. echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Mamy również możliwość ręcznego (lub dynamicznego) ustawiania częstotliwości dla każdego z rdzeni z osobna, już od wartości 102 MHz. Jest to bardzo ważna kwestia, jeśli weźmiemy pod uwagę jak bardzo możemy ograniczyć pobór energii naszej jednostki.

Dostępne częstotliwości przedstawiają się następująco:

  1. cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
  2. 102000 204000 307200 403200 518400 614400 710400 825600 921600 1036800 1132800 1224000 1326000 1428000 1530000 1632000 1734000 1836000 1912500

W przypadku GPU możemy wybrać częstotliwość z zakresu od 76MHz do 998MHz. Oczywiście wybierzemy maksymalny zegar.

  1. cat /sys/kernel/debug/clock/gbus/possible_rates
  2. 76800 153600 230400 307200 384000 460800 537600 614400 691200 768000 844800 921600 998400 (kHz)
  1. echo 998400000 > /sys/kernel/debug/clock/override.gbus/rate
  2. echo 1 > /sys/kernel/debug/clock/override.gbus/state

Testy CPU

Pomimo mniejszej częstotliwości taktowania TX1 (bo mówimy tutaj o 20% różnicy), wyniki jakie osiąga Jetson TX1 są zdumiewające i zbliżone do wyników swojego poprzednika TK1. Wyjątkiem jest tutaj wynik, który osiąga ODROID-XU3 - ale pamiętajmy, że dysponuje on aż ośmioma rdzeniami.

Najbardziej miarodajne informacje dadzą nam wyniki "per rdzeń":

Bardzo zastanawiającą sprawą są tutaj wyniki przepustowości pamięci, które są niemal o połowę słabsze od wyników jakie uzyskał TK1.

Jetson TX1 posiada niskonapięciową pamięć typu LPDDR4, podczas gdy Jetson TK1 - DDR3L.

Sytuacja nieco odwraca się przy wykorzystaniu wszystkich czterech wątków, gdzie wynik TX1 jest lepszy, przy zdecydowanie niższym poborze energii elelktrycznej.

Testy aplikacji

W naszych standardowych testach aplikacji lame, bzip, 7z wyniki są bardzo zbliżone i odpowiadają wydajności pojedyńczego rdzenia CPU, którego wykorzystują.

Nośniki pamięci

Jeśli chodzi o podstawowy nośnik danych w Jetson TX1 jakim jest pamięć eMMC 5.1, to prędkości (papierowe) powinny wynosić 125 MB/s dla zapisu oraz 250 MB/s dla odczytu.

O ile Jetson TX1 osiągnął zdumiewającą prędkość odczytu 237 MB/s co pokrywa się ze standardem pamięci eMMC 5.1, to już zapis niestety nie. Jedyne co udało mi się "wyciągnąć" to marne 60 MB/s.

SATA / USB 3.0 / SD

Skoro jesteśmy już przy nośnikach danych, to wypadałoby również sprawdzić jak sprawuje się port SATA oraz jakie możliwości daje podłączenie badanych dysków pod USB 3.0.

W naszym teście ponownie wykorzystałem Seagate ST500LM000 oraz dysk SSD ADATA SX300 mSATA.

  SATA USB 3.0 SD
  Odczyt Zapis Odczyt Zapis Odczyt Zapis
Seagate ST500LM000 107 MB/s 93 MB/s 108 MB/s 90 MB/s - -
SSD ADATA SX300 mSATA + Adapter SATA 217 MB/s 162 MB/s 111 MB/s 100 MB/s - -
SanDisk Ultra SDHC 32GB - 40 / 20
SL32G
- - - - 39 MB/s 12 MB/s
Patriot LX Series SDHC 16GB - 20 / 10
PSF16GSDHC10
- - - - 26 MB/s 12 MB/s
Patriot LX Series SDXC 64GB - 70 / 20
64GSXC10-1421AMA
 - -  - - 77 MB/s 19 MB/s
Kingston microSD - 90 / 45
SDCA10/16GB
- - - - 76 MB/s 30 MB/s

Ethernet

Gigabitowy port Ethernet nie ma dla nas przykrych niespodzianek.

OpenGL / OpenGL ES

Prawdziwe pazury pokazuje nam układ graficzny Maxwell, który w przypadku glmark2 dla implementacji OpenGL uzyskał 85% skok wydajności!

Wyniki dla OpenGL ES wyglądają niemal identycznie. Niestety do dnia dzisiejszego, w przypadku Jetson TK1, nie udało mi się uruchomić glmark2-es2.

Zobaczmy jak przekłada się to na rozrywkę w Nexuiz.

CUDA

Jeśli chodzi o 256 rdzeni CUDA (dla przypomnienia Jetson TK1 posiada 192 rdzeni) to wynik jest równie imponujący, osiągając dwukrotnie lepszy wynik 317 GFLOPS.

   Host to Device Bandwidth  Device to Host Bandwidth  Device to Device Bandwidth
Jetson TX1 GM20B 5208 MB/s 5117 MB/s 16966 MB/s
Jetson TK1 GK20A 2484 MB/s 5144 MB/s 11079 MB/s

Biorąc pod uwagę fakt, że nie udało mi się przekroczyć 18W przy 100% obciążeniu GPU i 100% obciążeniu CPU, mamy wręcz wspaniały przelicznik wydajności na 1W z którym póki co, nie spotkamy się nigdzie indziej.

W kolejnym wpisie, postarmy się przyjrzeć nieco bliżej multimediom. Do zobaczenia!

Komentarze Komentarze
Avatar 1
cyt Windows / Safari 537.36
09 February 2016 - 23:34 Brak informacji

Witam,
Mam pytanie: z jakiego adaptera korzystasz do podłączenia dysku SATA? Chodzi mi o nazwę firmy, model. Bo ten co ja mam zakupiony do Odroid U2 to jakieś nieporozumienie jest.
Dzięki.

Avatar 2
Korneliusz Linux Ubuntu / Mozilla Firefox 43.0
09 February 2016 - 23:50 Bytom

To jest adapter z Seagate Back Up Plus:


Oryginalny obraz posiada rozmiar 550x367