TensorFlow on Jetson TK1

So this is available now, however CUDA 7.0 is not…

Does anyone here have any interest or any ideas on work arounds?

The new Jetson TX1 comes with CUDA 7.0 support http://www.nvidia.com/object/embedded-systems.html

I tried to install Tensor Flow on Jetson TK1. You need to install from source and getting bazel to build is quite challenging.
Once I got bazel to run, I hacked the configuration files to use CUDA 6.5, the proper compute capability and the 32 bit ARM architecture ( before I started I thought that could be impossible for a build system to be more annoying than Cmake, I was wrong…).

I got the build to start but nvcc in 6.5 is not able to process one of eigen header file ( this is why I suspect they indicate 7.0 as a minimum requirement). I then tried to build for cpu only, but gcc 4.8.4 is also giving an internal compiler error during the build.

I will play a little more tomorrow but it seems like if you want to do deep learning, Caffe is a more appropriate package for Jetson TK1.

Same here … I’ve pinged Tensor Flow people at Github, if anyone else wants to ask for CUDA 6.5 + Arm support please do so! https://github.com/tensorflow

I’ll check out the TX1 but I’ve got a cluster so I’m a bit tied to the TK1 as well!

Ouch the TX1 seems awesome but priced a lot higher than the TK1! Hope you guys come to Maker Faire again this year!

I finally got a build for TK1 that uses the 6.5 runtime.
I will write all the steps required to build it once I am back from a conference next week.

This is a link to download the binary for the pip install if someone wants to try it:

Jetson TK1 has a limited amount of memory ( CPU+GPU <2GB) so most of the examples will not run without modifications but aside from Out Of Memory errors, TensorFlow runs just fine.

You rock thank you! Going to try it as soon as I get home tomorrow!

FYI, swap would normally kill performance, but add more memory flexibility. You could use iSCSI over gigabit to mount that swap…networking would slow things down compared to locally mounted swap, but it seems a remote machine with lots of ram could mount a swap formatted ram disk of a small size (e.g., 2GB) and still run faster than locally mounted ordinary hard drives.

Stupid question - did you build with gpu support?

Looks like it works with cuda 6.5 installed and cudnn! awesome thank you so much for this!

A few things - it appears the GK20 isn’t coded in the supported hardware, this might be a hackable thing too. I haven’t been able to figure out where the hardware is listed in and of the headers or libs for tensorflow, but the error I got from attempting to run an example was:

python example3.py
I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 1
modprobe: FATAL: Module nvidia not found.
E tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:875] could not open file to read NUMA node: /sys/bus/pci/devices/0000:00:00.0/numa_node
I tensorflow/core/common_runtime/gpu/gpu_init.cc:88] Found device 0 with properties:
name: GK20A
major: 3 minor: 2 memoryClockRate (GHz) 0.852
pciBusID 0000:00:00.0
Total memory: 1.70GiB
Free memory: 15.93MiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:112] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:122] 0:   Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GK20A, pci bus id: 0000:00:00.0)
I tensorflow/core/common_runtime/gpu/gpu_region_allocator.cc:47] Setting region size to 16707584
I tensorflow/core/common_runtime/local_session.cc:45] Local session inter op parallelism threads: 1
assertion failed: status == cudaSuccess in function void Eigen::initializeDeviceProp() at third_party/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceType.h:462

dear mfatica

Have you tried to rebuild tensorflow 1.5 or at least version 1.2 on jetson tk1 ? if so please let me know how?

I use this link https://syed-ahmed.gitbooks.io/nvidia-jetson-tx2-recipes/content/first-question.html and using bazel 0.4.5 but when i ./compile.sh in bazel they are out of memory



Please remember to add some swap space:

# Create a swapfile for Ubuntu at the current directory location
fallocate -l 8G swapfile
# List out the file
ls -lh swapfile
# Change permissions so that only root can use it
chmod 600 swapfile
# List out the file
ls -lh swapfile
# Set up the Linux swap area
mkswap swapfile
# Now start using the swapfile
sudo swapon swapfile
# Show that it's now being used
swapon -s


Dear All

I have a problem with Jetson TK1, How to solve this

Cuda Configuration Error: Cannot find line containing ‘#define CUDNN_MAJOR’ in /usr/local/cuda-6.5/include/cudnn.h when i tried to compile tensorflow from the source . I use bazel-0.5.4-dist, install cuda from NVIDIA jetpack3.1



Here is a tutorial for installing TensorFlow on Jetson TK1: