Nvidia Jetson TK1 review
With 192 Kepler GPU cores, the Jetson is king of the ARM-based developer boards
No doubt inspired by the phenomenal success of the Raspberry Pi, Nvidia has upped the ante with the Jetson TK1 - the most powerful commercially-available ARM-based developer board.
Jetson includes the same graphics core design you'd find in Nvidia's laptop and desktop graphics products and even in its top-end Tesla high-performance computing (HPC) acceleration boards.
The TK1 is targeting developers who want to deploy compute-intensive systems in the automotive, computer vision, robotics and medical industries.
32-bit ARM Cortex-A15 general-purpose processing cores running at 2.3GHz.
There's a low-power ARM Cortex-15 core known as the 'Shadow Core', designed to keep the system ticking over when it's idle. And 192 Kepler-class graphics cores with CUDA (Compute Unified Device Architecture) support provide the graphical horsepower.
It's clear from the specifications Nvidia is pushing power, and the Jetson TK1 has it in abundance. The cross-platform SysBench CPU test was blitzed in 7.31ms, faster than any ARM or single-board x86 computer we've ever tested.
Its Peacekeeper web-browsing score of 1,239 places it just below the iPad Air in terms of performance, and gives a clue as to its usability as a general-purpose computer.
The most impressive figure comes as a result of the Kepler CUDA cores: for those willing to port their applications to Nvidia's GPU offload language it hits 300GFLOP/s (billion floating point operations per second) in single-precision mode, although this figure plummets drastically in double-precision mode.
Installing Nvidia's CUDA libraries requires free membership of its developer program, which explains why they are not bundled as standard. The examples and tests included with the CUDA software development kit make it easy to get started, and despite having far fewer CUDA cores than a desktop graphics card, the Jetson TK1 runs through the sample programs with aplomb.
The Jetson TK1 is pre-installed with a copy of Linux 4 Tegra (L4T), a re-branding of Canonical's popular Ubuntu 14.04 Linux distribution, on a 16GB NAND flash partition. Initially, the system boots into a text-only console; a script, referenced in the brief documentation, installs some required drivers and loads the graphical user interface.
At this point, using the Jetson becomes the same as any other PC. Its responsiveness is excellent, as you would expect from a quad-core 2.3GHz processor, and the use of Ubuntu's software library means an excellent array of packages waiting to be installed.
L4T is also the only operating system supported by the Jetson TK1. The company has confirmed it will not be bringing Google's Android platform to the board, despite the Tegra K1 SoC seeing its most common use in Android-based tablets.
The lack of Android support is baffling. Nvidia's Tegra products rarely find uses outside of Google's ecosystem, and the first confirmed products to use the Tegra K1 all use the popular operating mobile system.
Small start-up firms looking to evaluate the Tegra K1 for an Android-based micro-console, tablet or smartphone could have used the Jetson TK1 as a low-cost system for prototyping and proving. But with only the Ubuntu-based Linux 4 Tegra operating system available, this route is forever closed.
Another aspect makes the Jetson TK1 a less tempting proposition for hobbyists is the general-purpose input-output (GPIO) header. Although 125 pins sounds extensive, compared to 26 pins of the Raspberry Pi, only seven on the TK1 are available for general use, plus a handful of extras that can be toggled. The remainder are designed for specific add-ons, such as touch-sensitive display panels and cameras.
The header also uses 2mm - rather than the common 2.54mm - pin spacing and 1.8V logic, making it impossible to directly connect widely used 3.3V and 5V logic components.
Nvidia specifies two target markets: CUDA developers looking to branch into embedded applications, and embedded developers looking to access more compute power.
The TK1 is a tempting device for the former market. Even Nvidia's low-end graphics cards draw too much power to be of use in embedded platforms, whereas the TK1 peaked at 14W during our testing. The chip that powers the Jetson, the Tegra K1, is already being implemented in automotive applications to do in a 10W envelope what had previously taken 100W.
For embedded developers it's a harder sell. While the ARM instruction set architecture is a de-facto standard for the embedded market, devs wanting to make the most of the TK1 will need to learn Nvidia's GPGPU offload language CUDA and port their applications accordingly.
With 300 GFLOP/s of single-precision compute on offer, it could well turn out to be a worthwhile investment - especially in computer vision applications, for which Nvidia provides mature libraries as part of its CUDA software development kit.
The Jetson's GPIO header suggests Nvidia's target market is professionals, but it is equally accessible for hobbyists as it can be picked up from high-street retailer Maplin Electronics in the UK.
Hobbyists may be tempted by the promise of extreme performance and GPU-accelerated computer vision libraries, but are likely to struggle to get the most out of the board. Enterprise users, meanwhile, will likely opt for Nvidia's partner-only reference designs and their usual non-disclosure agreements.
Still, there is high-performance on offer here if you can tap into it as the Kepler CUDA cores are great for acceleration of highly-parallelisable workloads.
The Jetson provides high performance at a premium. Hobbyists will be frustrated by the limited general-purpose input-output (GPIO) while developers will bemoan the lack of Android support.
OS: Tegra 4 Linux (Canonical Ubuntu 14.04)Processor: 2.3GHz Nvidia Tegra K1, four Cortex-A15 cores, one Cortex-A15 'Shadow Core'Graphics: 192 852MHz Kepler CUDA coresMemory: 2GB DDR3L 933MHz RAM on a 64-bit bus, 4MB ROMStorage: 16GB NAND flash (SD card, SATA expansion available)Connectivity: Realtek RTL8111GS 10/100/1000 Ethernet networkingPorts: 1x RS232, 1x HDMI, 1x USB 3.0, 1x micro-USB 2.0, 1x Ethernet, 1x analogue audio out, 1x analogue audio in, 1x SATA with four-pin power, 1x JTAG, 125x GPIO, 1x single-lane mini-PCI Express slotPower Draw: ~3W idle, ~14W full load (CPU and GPU)Size: 133mm x 133mm x 30mmWeight: 120g (excluding PSU)