View Single Post
  #1   Spotlight this post!  
Unread 01-21-2016, 04:18 PM
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,069
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: GRIP on an NVIDIA Jetson TK1

Quote:
Originally Posted by marshall View Post
It's not nearly as automatic as you are making it seem from our experience working with it and moving images from the CPU to GPU memory is a chore, though definitely doable.*
It's tricky because the CPU and GPU do not/fundamentally cannot share address spaces. You need to explicitly upload your images to the GPU and download the results, which carries some performance overhead. If you are doing this multiple times per image (or even just once per image in some cases), it is possible that the overhead of all this memory copying more than nullifies the benefits of running a particular operation in parallelized fashion on the GPU.

FWIW, GPU implementations of many FRC-useful OpenCV functions are available (ex. Color space conversion, thresholding, resizing, binary morphological operations, edge and corner finding, feature finding, filtering, line and circle detection, etc.), and better yet a large number of them support streams (they're non-CPU blocking). However, other bread and butter FRC tools like line segment finding, contour finding, and convex hulls must be done on the CPU (unless you roll your own CUDA-powered version). I would be impressed by any team that finds a way to do the entire goal detection task reliably entirely on the GPU.