Jetson TX2 - "RPi" på sterioder

Trädvy Permalänk
Medlem
Registrerad
Dec 2001
Skrivet av Yoshman:

Volym och effekt.

Finns väldigt liten poäng att klämma på något mer än Cortex A55 på något likt en RPi. Cortex A53/A55 är helt designade för att ta minimalt med kiselyta och dra minimalt med effekt. Passar perfekt till de användningsområden som Single Board Computers, SBC, används till.

Förväntad försäljningsvolym av RPi var ju initialt tiotusentals, inte över 20 miljoner som man nu sålt...

Innan Cortex A76 får man egentligen bara ett system som vid lite högre frekvens kommer behöva kylfläns och helst även fläkt. Men det blir ändå något som inte kan matcha en NUC i prestanda. Så vad är då poängen om man samtidigt använder en relativt dyr 10 eller ännu värre 7 nm process?

Vad jag hoppas på är att vi framöver kommer få se PC-datorer med high-end ARM. Det helt enkelt då ARM kommer gå förbi x86 i absolut prestanda, man är redan förbi om man jämför prestanda vid samma frekvens!

När man gått förbi i absolut prestanda är inte längre priset ett problem. Att vara näst snabbast suger, i det läget måste du ha bättre prestanda/krona eller så är det en rätt meningslös produkt. När man är snabbast kan man i stället fokusera på perfektion, priset är då sekundärt!

Den stora bromsklossen kommer vara Windows, så initialt kommer det nog dyka upp serverplattformar. Men verkar ju vara bärbara baserade på Cortex A76 på gång till hösten. Förhoppningsvis fungerar de bättre under Linux än den första generationen 64-bitars ARM-laptops för Win10 som lanserades förra våren (Cortex A73 baserade, vilket var märkligt då A75 redan fanns ute i telefoner då).

De kommande A76 bärbara ska köra en systemkrets specifikt designade för bärbara. Första vågen Win10 ARM64 laptops körde ju exakt samma plattform som man körde i mobiler året innan...

Tack, det förklarar en del! För nog får man lite mixade känslor när man ser vad Apple lyckas göra med A12 (ARMv8.3, nästan 2.5 Ghz och brutal singeltrådprestanda, och klarar sig en liten kylfläns), och sen finns den bara i iPhones och iPads. En liten dator med den systemkretsen vore skoj, to say the least (och jo, jag följer ryktena noga).

Trust me, I'm an engineer!

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011
Skrivet av Alotiat:

@Yoshman: Jag sitter en hel del med olika GPGPU projekt. Funderar på att köpa en TX2, men är lite osäker på prestandan. Vad jag fått fram ska bandbredden alltså vara 60 GB/s och 256 CUDA kärnor. Hur ser det ut med streaming processors (SM) då? Vet man hur många aktiva det finns?

Att den kör Pascal är helt OK, jag behöver inte Turing.

Snabb mätning på TX2 och GT1030 med exemplet "bandwidthTest" i CUDA-SDKn

[CUDA Bandwidth Test] - Starting... Running on... Device 0: NVIDIA Tegra X2 Range Mode bandwidthTest-D2D, Bandwidth = 33537.5 MB/s, Time = 0.01706 s, Size = 600000000 bytes, NumDevsUsed = 1 bandwidthTest-D2D, Bandwidth = 32474.2 MB/s, Time = 0.02349 s, Size = 800000000 bytes, NumDevsUsed = 1 bandwidthTest-D2D, Bandwidth = 32107.9 MB/s, Time = 0.02970 s, Size = 1000000000 bytes, NumDevsUsed = 1 Result = PASS

[CUDA Bandwidth Test] - Starting... Running on... Device 0: GeForce GT 1030 Range Mode bandwidthTest-D2D, Bandwidth = 40407.4 MB/s, Time = 0.01416 s, Size = 600000000 bytes, NumDevsUsed = 1 bandwidthTest-D2D, Bandwidth = 40390.3 MB/s, Time = 0.01889 s, Size = 800000000 bytes, NumDevsUsed = 1 bandwidthTest-D2D, Bandwidth = 40405.7 MB/s, Time = 0.02360 s, Size = 1000000000 bytes, NumDevsUsed = 1 Result = PASS

TX2 verkar ligga strax under GT1030, ingen raket men är som sagt optimerat för att dra väldigt lite ström...

Fast om man går mellan CPU och GPU är det klar fördel Tegra. En PC måste ju över PCIe x16 då!

Running on... Device 0: NVIDIA Tegra X2 Range Mode bandwidthTest-H2D-Pinned, Bandwidth = 9267.8 MB/s, Time = 0.10290 s, Size = 1000000000 bytes, NumDevsUsed = 1 Result = PASS

[CUDA Bandwidth Test] - Starting... Running on... Device 0: GeForce GT 1030 Range Mode bandwidthTest-H2D-Pinned, Bandwidth = 3251.8 MB/s, Time = 0.29328 s, Size = 1000000000 bytes, NumDevsUsed = 1 Result = PASS

Edit: och för att svara på din fråga om hur många CUDA-kärnor man ser, det är 256 st

./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking) Detected 1 CUDA Capable device(s) Device 0: "NVIDIA Tegra X2" CUDA Driver Version / Runtime Version 10.0 / 10.0 CUDA Capability Major/Minor version number: 6.2 Total amount of global memory: 7859 MBytes (8240648192 bytes) ( 2) Multiprocessors, (128) CUDA Cores/MP: 256 CUDA Cores GPU Max Clock rate: 1020 MHz (1.02 GHz) Memory Clock rate: 1300 Mhz Memory Bus Width: 128-bit L2 Cache Size: 524288 bytes Maximum Texture Dimension Size (x,y,z) 1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384) Maximum Layered 1D Texture Size, (num) layers 1D=(32768), 2048 layers Maximum Layered 2D Texture Size, (num) layers 2D=(32768, 32768), 2048 layers Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 49152 bytes Total number of registers available per block: 32768 Warp size: 32 Maximum number of threads per multiprocessor: 2048 Maximum number of threads per block: 1024 Max dimension size of a thread block (x,y,z): (1024, 1024, 64) Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535) Maximum memory pitch: 2147483647 bytes Texture alignment: 512 bytes Concurrent copy and kernel execution: Yes with 1 copy engine(s) Run time limit on kernels: No Integrated GPU sharing Host Memory: Yes Support host page-locked memory mapping: Yes Alignment requirement for Surfaces: Yes Device has ECC support: Disabled Device supports Unified Addressing (UVA): Yes Device supports Compute Preemption: Yes Supports Cooperative Kernel Launch: Yes Supports MultiDevice Co-op Kernel Launch: Yes Device PCI Domain ID / Bus ID / location ID: 0 / 0 / 0 Compute Mode: < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) > deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.0, CUDA Runtime Version = 10.0, NumDevs = 1 Result = PASS

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Sep 2013
Skrivet av Yoshman:

Ny leksak inskaffad, en Nvidia Jetson TX2 develeopment board.

Den officiella miljön för kortet är Ubuntu 16.04 LTS eller Ubuntu 18.04 LTS för 64-bitars ARM. Det är rätt mycket orsaken till inköpet, letat efter någon form av "vanlig" dator utrustad med 64-bitars ARM CPU. Har tillgång till flera plattformar med den CPUn på jobbet, men det är i form av väldigt nischade plattformar (inbyggda-system).

Här får man hyfsat mycket en "vanlig" dator, även om det är i begränsad upplaga.

  • 6 CPU-kärnor, tyvärr bara klockade till maximalt 2,0 GHz och är Cortex A57 (betydligt roligare om det varit A75/A76). A57 är ändå mer än dubbelt så snabb som A53 som man hittar i t.ex. RPi3 per cykel.

  • 8 GB DDD4

  • Pascal GPU med drivers direkt från Nvidia. Vissa kan ha åsikter om att det är en BLOB, för mig är det primära att saker fungerar utan problem vilket är fallet här! Prestanda är något högre än i Nintendo Switch, samma mängd CUDA-kärnor fast Pascal i stället för Maxwell och 200-300 MHz högre frekvens.

  • Gbit/s Ethernet, 802.11ac / Wifi-5

  • PCIe x4 slot

  • M.2 Key E (PCIe x2)

  • SATA

  • USB2 / USB3

  • Likt RPi och till skillnad från en "normal" PC finns även GPIO pinnar att leka med

Att det finns SATA-gränssnitt hjälper upp prestanda rätt ordentligt vid "vanlig" användning då man kan köra från en SSD i stället för ett långt segare minneskort.

https://i.imgur.com/PHGN2d4.jpg
https://i.imgur.com/SNunyeI.jpg?1
Semi-passiv fläkt, ska till hyfsat last innan den börjar snurra.
https://i.imgur.com/yLgU3N7.jpg?1
https://i.imgur.com/8gWHWyh.jpg

Mycket trevligt kort! Vi har ett gäng Jetson TX1 på jobbet som vi använder som plattform för bl.a. ett autonomous driving projekt tillsammans med RGB-D kameror. Väldigt smidiga för lite enklare ANN-träningar on-the-go (går faktiskt relativt fort)! Tänkte faktiskt inte på att det sitter en ARM Cortex A57 i dessa, känns lika snabb och flytande som min installation av Ubuntu på min laptop med en Kaby Lake i5:a.

Main || Intel Core i7 980X @ 4.12GHz || ASUS Rampage III Gene || Corsair Vengeance 6x4GB @ 1800MHz || EVGA GTX 780 Reference || Creative Sound Blaster ZxR || 2x Intel 530 240 GB || Western Digital Blue WD10EZEX 1000 GB || ASUS VG248QE (no G-sync) ||
Laptop || Lenovo Thinkpad X220 4291-37G ||
Project: Pentium Clockbox || Intel Pentium G3258 ||

Trädvy Permalänk
Medlem
Plats
Norrköping
Registrerad
Dec 2009

@Yoshman: Stort tack för loggen! Det var den typ av information jag sökte.

Ok så av vad man kan läsa av från deviceQuery så finns det alltså 2 stycken streaming multiprocessors i TX2:an (jag noterar här att nvidia kallar dessa för MP - jag kallar dem för SM). Varje MP har 256 CUDA kärnor, så 512 SP totalt. I warp-cykler översätts detta alltså till 16 parallella warps under exakt samma cykel (sedan sker byten mellan warps så fort en warp blivit inaktiverad).

Hmm... 2 stycken MP är inte mycket att hänga i granen. Det var lite svagare än vad jag förväntat mig. Dock får man tänka på den låga strömförbrukningen.

Har kollat runt lite och folk har sagt att den passar utmärkt till CNN/Deep Learning/Computer Vision/etc. Inget som jag jobbar på just nu, behöver mest rå beräkningskraft. Ju fler MPs desto bättre, samt högre bandbredd.

Jag tror den här är bra till för:

  • Folk som vill ha den kraftfullaste ARM plattformen på marknaden.

  • Folk som jobbar på light-weight beräkningar eller folk som jobbar med deep learning med bildbehandling. Exempelvis använder TensorFlow ramverket.

  • Om man vill ha en RPi på steroider. Som titeln antyder

Jag måste erkänna att den har en skyhög vill-ha-faktor. Om jag förstått rätt så kommer det förinstallerat Ubuntu? Är det specialanpassade drivrutiner till TX2 som finns där eller är det möjligt att köra Fedora/RH?

Trädvy Permalänk
Medlem
Registrerad
Aug 2015
Skrivet av filbunke:

Finns benchmarks på Phoronix.

----

Edit. Ville jag spendera $599+ på arm så hade jag nog hellre byggt ett raspberry pi kluster... Stödet för Jetson TX2 verkar också, två år efter det släpptes, inte vara särskilt stort...

Hmm, tog och kollade på dessa o sen körde lite benchmarks... Har jag inte missat nåt så var den fem till tio gånger långsammare än min phenom-ii. Så blir inte nåt köp nu.

Trädvy Permalänk
Medlem
Plats
Isla de Muerta
Registrerad
Okt 2009

Kostar en nolla mera än en PI bara
Moderkort med CPU och GPU integrerat, hade något liknande en gång i tiden till min HTPC innan RPI fanns.

CPU: 1600x 4Ghz 1.34v
RAM: 16GB
GPU: 1070 TI

Xbox one X (Helt ny på konsol sedan dec -18).

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011
Skrivet av SAFA:

Hmm, tog och kollade på dessa o sen körde lite benchmarks... Har jag inte missat nåt så var den fem till tio gånger långsammare än min phenom-ii. Så blir inte nåt köp nu.

De Phoronix tester som listas ovan kör enbart på de fyra Cortex A57 kärnorna + att man kör i 1,5 GHz. Finns andra tester där man kör med alla sex kärnor, även de två Denver kärnorna. Tyvärr fortfarande i 1,5 GHz. De fall som skalar perfekt med CPU-kärnor, som t.ex. C-ray, är 30 % snabbare om man kör CPU-kärnor på 2,0 GHz. Notera deras C-ray resultat här, jag får strax över 40s p.g.a. 2,0 GHz mot 1,5 GHz.

TX2 kortet jag har är ett utvecklingskort, medan TX2 plattformen finns i lite olika konfigurationer. Utvecklingskortet kan konfigureras så det uppför sig som alla varianter av TX2. Att det är ett utvecklingskort är en stor förklaring till det relativa höga priset. Som i ett större perspektiv är riktigt billigt. De flesta utvecklingskort vi har på jobbet ligger i spannet $2000-$4000 och de är i majoriteten av fallet långsammare med mindre RAM än detta!

Jetson TX2 borde dra väldigt jämnt med en fyrkärnig Pheonom II klockad runt 2,0-2,5 GHz. Tyvärr finns inte Linux versionen av Geekbench 4 på ARM för nedladdning, men ställer man en Pheonom II körnades Linux (är i princip identiskt resultat med Windows) mot Galaxy S6 som har 4 st Cortex 57 och 4 st Cortex A53 är det riktigt jämnt.

Det stämmer väl med upplevd hastighet när man kör Jetson TX2 som Ubuntu desktop. I praktiken är den ungefär hälften så snabb som en likvärdigt klockad Skylake med lika många kärnor. Det coola här är att Cortex A76 är ~x2,2 gånger snabbare än Cortex A57 vid samma frekvens. D.v.s. inte bara Apples ARM som passerat x86 i IPC, så har även de ARM CPUer "alla" har tillgång till!

Skrivet av hakd:

Kostar en nolla mera än en PI bara
Moderkort med CPU och GPU integrerat, hade något liknande en gång i tiden till min HTPC innan RPI fanns.

Har nämnt det i tråden, Jetson TX2 är egentligen inte direkt jämförbar med RPi3 då den förra har stöd för SATA, två PCIe slottar (en "vanlig x4" och en M.2 x2), USB3 betydligt mer RAM. Hade prislappen bara varit en nolla till hade den slagit RPi3 i prestanda/pris på var enda punkt, nu är det en skillnad på ~x20 i pris.

Jetson Nano och RPi3 är betydligt mer jämförbar. I väldigt många typiska "mikrokontroller" fall är redan en RPi3 overkill så där är ju RPi det klart bättre valet p.g.a. lägre pris och något lägre strömförbrukning.

Jetson Nano kostar "bara" x3 (~1000 kr) mer än RPi3, CPU-delen är långt mer än x3 snabbare och GPU-delen är >x10 snabbare. Så om man vill bygga en robot med datorseende eller något annat där GPU-delen kommer till användning så är Jetson totalt överlägsen RPi3. Dels p.g.a. överlägset programvarustöd för just den typen av programvara, dels då många programstackar för GPGPU endera fungerar bäst på CUDA eller i många fall fungerar bara med CUDA. Jetson har officiellt stöd för CUDA, en teknik som tyvärr är Nvidia specifik

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Trädvy Permalänk
Medlem
Registrerad
Aug 2015
Skrivet av Yoshman:

De Phoronix tester som listas ovan kör enbart på de fyra Cortex A57 kärnorna + att man kör i 1,5 GHz. Finns andra tester där man kör med alla sex kärnor, även de två Denver kärnorna. Tyvärr fortfarande i 1,5 GHz. De fall som skalar perfekt med CPU-kärnor, som t.ex. C-ray, är 30 % snabbare om man kör CPU-kärnor på 2,0 GHz. Notera deras C-ray resultat här, jag får strax över 40s p.g.a. 2,0 GHz mot 1,5 GHz.

TX2 kortet jag har är ett utvecklingskort, medan TX2 plattformen finns i lite olika konfigurationer. Utvecklingskortet kan konfigureras så det uppför sig som alla varianter av TX2. Att det är ett utvecklingskort är en stor förklaring till det relativa höga priset. Som i ett större perspektiv är riktigt billigt. De flesta utvecklingskort vi har på jobbet ligger i spannet $2000-$4000 och de är i majoriteten av fallet långsammare med mindre RAM än detta!

Jetson TX2 borde dra väldigt jämnt med en fyrkärnig Pheonom II klockad runt 2,0-2,5 GHz. Tyvärr finns inte Linux versionen av Geekbench 4 på ARM för nedladdning, men ställer man en Pheonom II körnades Linux (är i princip identiskt resultat med Windows) mot Galaxy S6 som har 4 st Cortex 57 och 4 st Cortex A53 är det riktigt jämnt.

Det stämmer väl med upplevd hastighet när man kör Jetson TX2 som Ubuntu desktop. I praktiken är den ungefär hälften så snabb som en likvärdigt klockad Skylake med lika många kärnor. Det coola här är att Cortex A76 är ~x2,2 gånger snabbare än Cortex A57 vid samma frekvens. D.v.s. inte bara Apples ARM som passerat x86 i IPC, så har även de ARM CPUer "alla" har tillgång till!

Såja, det där såg ju klart bättre ut