Trying out NVidia’s Jetson TX1 was fun, and checking out the Jetson TX2 is even better. The Jetson TX2 doubles the performance of its older sibling (Fig. 1). Alternatively, it can replace the Jetson TX1 while consuming half the power. Both approaches have merit, and many designs will take advantage of the lower power operation and higher performance. For example, a Jetson TX2 could handle two cameras where it was working with one before, or it might be able to track twice as many objects.
1. The Jetson TX2 (right) delivers twice the performance of its older sibling, the Jetson TX1 (left).
The Jetson TX2 uses the Pascal GPU architecture first released in the high-end NVidia Tesla P100. The Jetson TX2’s main compute engine is the GPU with 256 CUDA cores, but the module has a hoard of CPU cores as well (Fig. 2). There are a pair of NVidia’s 64-bit, Denver 2 ARM-compatible cores, plus a quad-core Cortex-A57 cluster. As with many new high end ARM system-on-chip (SoC) solutions, the pair of high-end cores will outperform four of the lower-end cores. This configuration allows a designer to ramp up all the cores for performance or idle more power-consuming cores while an application runs on one or two lower-power cores. A Cortex-R5 handles secure boot and power management, while a Cortex-A9 works the audio side of things.
2. The Jetson TX2 has a 256 CUDA core Pascal-based GPU plus multiple ARM-based cores.
The Jetson TX2’s video system can handle 4K × 2K video at 60 frames/s. This includes encode and decode support. The 12 CSI lanes run at 2.5 Gbytes/s/lane and support up to six cameras. The 8 Gbytes of LPDDR4 memory and 32 Gbytes of eMMC flash memory are twice that of the Jetson TX1. The Jetson TX2 retains the 802.11ac and Bluetooth wireless support, as well as a 1Gbit Ethernet port.
Now that we have the basic specs out of the way, we can take a look at the NVidia development board (Fig. 3) I have been working with. It is essentially the same carrier board found in the Jetson TX1 kit I reviewed earlier except it has a Jetson TX2 module installed.
3. The Jetson TX2 development board is identical to is predecessor with the replacement of the module under the heat sink. Not shown are the wireless antenna connections between the module and the pair of antenna jacks in the lower right.
The board exposes most of the interfaces, including multiple storage options from M.2 to SATA and an SD card slot. There are multiple display options, including HDMI support. There is only one camera supplied with the board, though more can be added. The Mini-ITX board form factor allows it to be placed in a case, but that would give the camera a great view of the interior of a box. The PCI Express socket is properly positioned.
From a developer’s perspective, the big news is the matching release of the newest JetPack 3.0, the Jetson Development Pack. JetPack supports the Jetson TX1, TX2, and TK1 (an even earlier NVidia platform). It is based on Ubuntu 14.04 Linux, but includes a plethora of documented, integrated, and tested software packages. The VisionWorks 1.6 package includes CUDA 8.0, which also supports cuDNN v5.1, the CUDA Deep Neural Network (DNN) support. Artificial intelligence and specifically DNNs and machine learning (ML) are prime targets for the module and software.
The cuDNN support is the underpinning for the TensorRT 1.0 software that runs the TensorFlow inference engine. TensorRT is part of JetPack, while many of the other DNN platforms like Caffe can be installed after JetPack is installed. Other major components of JetPack include the Tegra System Profiler, now at version 3.7, and the Tegra Graphics Debugger 2.4.
JetPack installation seemed a bit more streamlined than before, so it is essentially install and select options. I still prefer cross compilation from a hosted virtual machine running Ubuntu to preserve flash memory space on the module, but Jetson TX2 works well as a self-hosted development platform.
Of course, it will run rings around a Raspberry Pi 3 and most systems short of a multicore AMD or Intel platform. Adding a large SSD or hard disk to the Jetson system actually eliminates the flash issues but it requires an additional power supply unless you use something like an M.2 module or a Virtium’s Slim SATA drive module that I pulled from my Jetson TX1 kit (Fig. 4). Virtium’s Slim SATA solid-state drive module is designed for embedded applications and is available in three industrial endurance grades that employ SLC, iMLC, and MLC technology.
4. Virtium’s Slim SATA solid-state drive module is designed for embedded applications and is available in three industrial endurance grades.
But back to the installation.
This version of JetPack comes with more sample code, so making sure everything is running and highlighting CUDA is now part of the install procedure (optional, of course). Likewise, many of the tools and online repositories and sites have been updated with more examples, so getting started on a project should be significantly easier. Having TensorRT installed was a big help compared to my initial Jetson TX1 review. There is a growing number of tutorials, including NVidia’s video tutorials, that cover everything from the Jetson’s camera to OpenCV.
The 50-mm by 87-mm Jetson TX2 module is a plug-in replacement for the Jetson TX1, allowing it to work with most existing Jetson TX1-enabled hardware. This includes Connect Tech’s carrier boards (Fig. 5) that I have tried with the Jetson TX1. It is great to be able to hold this much compute power in your hand. It will even fly in a sufficiently large drone.
5. The Jetson TX2 module will work with almost any board designed for the Jetson TX1 including Connect Tech’s Sprocket.
By the way, you can still get the Jetson TX1. The price reduction may make it interesting to developers, as well as for deployments where power consumption is less of an issue, assuming the Jetson TX1 has the necessary performance for the application.