Live data from Hacker News

Jetson AGX Xavier

nvidia.com

91–95 of 95 posts

Re: Jetson AGX Xavier

#91
post #75

Earlier quoted context omitted.

What's the single thread performance difference of a fast x86 cpu running emulated ARM code vs a fast ARM server or an AWS ARM instance?

It's quite fast if you use qemu-user.

qemu-user just gets you native speed sustem calls right? That's normally <10% of execution time so it can't be a very big help.

Re: Jetson AGX Xavier

#92

Earlier quoted context omitted.

Well, first some clarification - "edge" means "on robot" versus something in the cloud. And the reason you do this is latency and connectivity. I am designing a four wheel drive robot using the NVIDIA AGX Xavier [1] that will follow trails on its own or follow the operator on trails. You don't want your robot to lose cellular coverage and become useless. Even if you had coverage, there would be significant data usage…

Yes, but the GPU is needed for training so "we" do this on prem or in the cloud. But the actual prediction computations are fast. Do we really need an edge GPU for these?

Yes. An edge GPU is required to run inference on high resolution sensor data for many robotics applications. Running inference is faster than training but it’s not all “fast”. Inference on CPU can take many seconds with large image operations. Not useful for certain robotics applications.

Re: Jetson AGX Xavier

#93

Earlier quoted context omitted.

Maxwell does not have unified memory -> custom code compared to latest generation along with performance disadvantages.

Unified memory is useful during development when porting the application, but I don't know of any well-tuned applications that use it.

Any "well-tuned" multi-threaded application requires unified memory for simultaneous access to managed memory from the CPU and GPUs as it is not possible with compute capability lower than 6.0. This is because pre-Pascal GPUs lack hardware page faulting, so coherence can’t be guaranteed. On these GPUs, an access from the CPU while a kernel is running will cause a segmentation fault.

Re: Jetson AGX Xavier

#94
post #22

Earlier quoted context omitted.

Well, first some clarification - "edge" means "on robot" versus something in the cloud. And the reason you do this is latency and connectivity. I am designing a four wheel drive robot using the NVIDIA AGX Xavier [1] that will follow trails on its own or follow the operator on trails. You don't want your robot to lose cellular coverage and become useless. Even if you had coverage, there would be significant data usage…

This is a bit off topic, but I'm constantly looking at ways to efficiently stream 4K cameras live to local displays as well as remote displays at the highest framerate and resolution possible. How feasible would it be on the xavier to stream 2 4k cameras and display them on at least 2 4k screens? Extra points if you could do that and simultaneously upload to a streaming service, such as twitch.

Not on a Xavier but on a TX2 I was able to get a single reasonable 4K stream with NVENC and gstreamer. Quality wasn't super awesome since it's realtime encoding. We ended up using two TX2s (one for each stream). I'd probably go with two Xaviers for better quality or step down and do 2 higher quality 1080p streams.

Re: Jetson AGX Xavier

#95

My biggest complaint with the Jetson line is it's all ARM. Look, I get it. But the developer experience is horrible. Building Docker containers for ARM devices is a pain. Hell, building anything for a Jetson can be a pain unless it's a pre-packaged NVIDIA thing - really not a fan of building things from source. Add on top of that NVIDIA's very low level documentation for pretty much any tooling they ship, coupled wit…

These seem like very weird complaints to me. What are you trying to do with the Jetson? Build some kind of AI-based web service or something?

They're made as dev kits for people building "autonomous machines like delivery and logistics robots, factory systems, and large industrial UAVs". Deploying with Docker and running devkits in production isn't what I'd call normal in such applications. Usually you need to deal with that "giant pain" of properly integrating with your hardware. Flashing would usually happen in the factory as part of the process, either by flashing the flash before soldering/inserting it or through some exposed contacts on the board.

Post reply on HN