Starcie tytanów: Jetson TX1 vs Jetson TK1
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.
- echo 0 > /sys/devices/system/cpu/cpuquiet/tegra_cpuquiet/enable
- echo 1 > /sys/devices/system/cpu/cpu0/online
- echo 1 > /sys/devices/system/cpu/cpu1/online
- echo 1 > /sys/devices/system/cpu/cpu2/online
- echo 1 > /sys/devices/system/cpu/cpu3/online
- 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:
- cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
- 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.
- cat /sys/kernel/debug/clock/gbus/possible_rates
- 76800 153600 230400 307200 384000 460800 537600 614400 691200 768000 844800 921600 998400 (kHz)
- echo 998400000 > /sys/kernel/debug/clock/override.gbus/rate
- 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!
Wpisy na podobny temat
- 25 Jul 2014 » Jetson TK1 i drobne testy wydajnościowe Hardware
- 13 Jul 2014 » NVIDIA Jetson TK1 - pierwsze wrażenia Hardware
- 02 Aug 2014 » 8MP kamera See3CAM_80 z autofocusem i USB 3.0 Hardware
Komentarze
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.
To jest adapter z Seagate Back Up Plus:
Oryginalny obraz posiada rozmiar 550x367