Nvidia Jetson TX1 Developer Kit SE
nvidia.com
nvidia.com
There are probably features on the TX2 that are not found on the TX1, though I haven't actually looked at the difference.
For instance, IIRC, the hardware accelerated jpeg decoding is pretty limited on the TK1, compared to the TX1/TK2. Basically you can decode and display (m)jpeg really fast, but you have little control over the output pixel format. It's a black box hidden in nvidia's special hardware. If you try to programmatically get at the pixel data, you'll find that the pointer is actually DMA-mapped, which means it's extremely slow to memcpy from, which defeats the purpose of hw acceleration.
I am suggesting that the author conflated "DMA allocation" with "write-combined allocation".
The hw accelerated jpeg decoding on the Jetson TK1 is backed by something called NVMM. I suspect it's a small chunk of memory that is closer to the special hw decoder, not part of the main 2 GiB RAM. When you decode jpeg, you get a DMA-mapped pointer to it.
When you memcpy from it, memcpy tries to copy the data one byte at a time (or in very small chunks, if vectorized). So what happens is that in order to copy data from a large block of DMA-mapped memory, memcpy makes many requests for single bytes or very small chunks, but DMA ends up fetching and staging the same large block multiple times for memcpy to read.
The same problem applies to any other operation that reads from the DMA-mapped memory in very small chunks. There is also no way to make the DMA-mapped pixel data directly available to a CUDA context, which is what Jetson board users would probably care about.
I'm not usually a system programmer so my explanation may be a bit fuzzy or inaccurate, but that's the gist of it.
A DMA transfer is done entirely by the external device, without any intervention by you or the CPU (apart from potentially a cache invalidation before/after, depending on platform). From the point of view of the CPU (and therefore you), data just magically appears. You don't need to memcpy anything anywhere, unless you need to make sure the external device doesn't accidentally overwrite things (who knows, it might be stupid). You can read and write directly to wherever it appeared as if it was any other memory. Caching still applies, although a fresh DMA transfer will of course be a cache miss.
There is a little bit of magic related to memory regions used for DMA transfers, but that is invisible to the end-user. 'memcpy' does not discriminate, and unless you're copying a single byte, memcpy will never operate on byte-sized chunks.
Source: I do driver development for devices that DMA at extremely high rates (we're desperately waiting for PCIe 4.0 to become normal—PCIe3.0x16's 126Gb/s is way too slow for us).
They're not bundling the camera so they gave the kit a new name. Doesn't seem so unreasonable to want to distinguish.
Everything here screams "we are trying to sell off stuff". Say it as such. It's called a "clearance". It's totally fine to call it that and as an engineer (their target market) I would respect them more for being direct and straightforward in their marketing.
As a customer I would prefer that new names be given to new designs, not existing designs with components that can be salvaged taken off. Trying to pull off this sales nonsense just reduces my respect for the NVIDIA brand by a notch.
If they came up with a redesigned TX1 module that consumes half the power, or a kit with a freshly-designed compact carrier board, or some other novel hardware features, then sure, call it the "TX1 SE" or "TX1s" or whatever they want.
I guess it's fortunate that it's US and Canada only, otherwise I'd probably buy one and not use it. :)
It's such a shame that Nvidia is no longer targeting the mobile market with their SoCs. I play games/emulators on my Shield TV, as well as h.265 4K HDR content and it's great, but I'd gladly buy another Shield TV using the X2 (to better handle GameCube/Dreamcast emulators). Unfortunately Nvidia doesn't seem to have a followup SoC designed for the 'mobile' market. They are going after the higher margin (less TDP sensitive) AI/computer vision market.
Runs QNX atleast and Linux/wayland, no idea about possible Xorg drivers...
PS: A raspberry PI will run Kodi perfectly :)
For Kodi and media purposes however it makes far more sense to buy either (1) the Nvidia Shield TV with the same chipset and also costs $200, if you're looking for a media player with and don't care about running your own software or (2) the Odroid C2, which is one third the cost of this, is a much smaller device (and probably more power efficient), will soon run mainline Linux (nightlies out already) and plays h265 and 4k just fine!
That combination is somewhat rare, especially in an affordable, ready-to-go format available in small quantities that developers can use to play around.
is it easy to join the developer program? Seems like not everyone gets this discount
they make it sound like an exclusive thing by leading with that line.