Well, this one has about ~6x the computing power (if their numbers are to be believed), and it has an ARM core rather than x86. Some differences at the least.
You may be able to use it for a home server but unless you have a particular need for the NVIDIA parallel processor you're better off with other cheaper systems. If you're looking for a tiny home server check out a Raspberry Pi or ODroid: http://hardkernel.com/main/products/prdt_info.php
You can get the same performance for less money with a normal graphics card. Assuming you need a workstation card (for support or something), http://www.newegg.com/Product/Product.aspx?Item=N82E16814133... the Quadro K600 also has 192 cores and similar ~330 GFLOPS performance. It will probably use more power, but it's about the same price. If you use gaming cards instead of workstation cards, it gets much cheaper.
I've been looking for something to replace my Ouya as an XBMC box, but with enough power to support the incoming 4K content. I'm not sure this does it.
You'd probably be better off waiting for a 4K codec to settle out, and for hardware decoding support in new chipsets. As it stands, HDMI is barely capable of pushing 4K to the handful of displays that will accept it.
I'm impressed by the price point ($192) and pretty curious to see what I can do with it besides computer vision. Bioinformatics co-processor that works with my laptop? I've wanted that for a long while now.
What FPGA? Do you mean GPU? If so, then - it's improved a bit over the years, but it's still much different than CPU programming, and branching remains relatively expensive.
Here's more technical specification: http://goo.gl/AigVq5
Though I can't find its power consumption info anywhere. If anyone happens to stumble upon it, please let me know.
192 kepler cores: don't bother. this is just a desperate attempt to get someone to take TK1 chips off their hands. coincidentally, I'm sure, but AMD is shipping their AM1 platform.
NVIDIA is SIMD, a 32 thread warp doing the same instruction in lockstep (in 4 cycles usually on 8 SPs, the 192 SP chip can run 24 warps simultaneously, though specific numbers may change a bit from version to version) and heavily penalized for in-warp divergence.
this is very cool. It operates in the "sub-10 watt space", had pretty decent io options for a device of that size, no apparent moving parts, decent graphics capabilities, and a reasonable price point. Seems like a great little device for a media machine or a graphics installation; somewhere between a raspberry pi and a mac mini.
I hope Nvidia throws more support behind this than they did with past Tegra developer kits. I bought a Tegra devkit and perpetually got the feeling that the driver support / dev relations was being done by one person in their spare time.
I wonder if something like this could be the start of a decent key-value appliance. Hardware designed to perform the role of memcached on the network or similar.
Hmm. At first I thought this would be a waste, because you couldn't use all of its fast compute capabilities on doing key-value lookups. But these things also have much, much more memory bandwidth than regular CPUs (I can't remember if it's 10x or 100x, but that ballpark), and that might work well for these applications.
But I don't know how the GPU's memory caching infrastructure works. If the bandwidth is only for serial reads, that could be a problem.
True, but in my experience if you can avoid hitting the memory the amount of computation you can do per thing is absolutely terrifying.
The main thing I had in mind here was hashing for bloom filters. i.e. do the different algos in parallel on a GPU, then pass those values for the main lookup to be done by the CPU.
Like Content-addressable memory (CAM)? I've heard routers have used the stuff to do fast table lookups since forever, but I don't know if anyone has tried implementing a data cache with it.
If you wanted raw memcached performance there was an awesome paper on using an FPGA tied to 24GBs of regular DDR3 RAM and a 10G ethernet port. The result was a memcached server with 3.5 to 4.5 microsecond response time, capable of saturating the 10G port even with tiny key-value pairs, and 13 million requests per second while using 50W of power to do so.
If they would only stop hating OpenCL (read: Actually support it) I'd purchase one in a heartbeat as a testing rig and experimentation rig.
Having a board which works only with a certain vendor specific API is not really that useful unless I'd specifically want to develop a full fledged product using exactly that particular board.
So many posters here do not have a clue. Can I use it as a media server? So its similar to parellela! Xyz is better, cheaper, faster... People - This is the beginning of an epic shift in focus. We are at beginning of an exciting new period for computing. The focus is shifting to function - out there in the real world. The goal behind this nvidia drive is no less than the creation of useful real world robotics. This marks the very beginning of a curve that will take us all the way to west world. As long as the semiconductor industry keeps cranking out the production nodes, this story will remove humanity from the process of production -forever. You are here at the beginning, you are here to bear witness, don't let the gravity of this moment escape you.
My only gripe is that I decided to look at OpenCL and CUDA today and felt kind of.. underwhelmed. I have a lot of OpenGL experience and I guess it's not surprising that they are so similar to framebuffers and shaders. But I was really hoping for true general purpose computing, more like a hybrid between VHDL and say MATLAB. Ideally it would work like Go, where you would send a C-style function off to an execution unit or refer to other units by id, and use something like fork/join to tabulate the results, and maybe just give up on the notion of a global memory space. Instead it looked more like image processing kernels for doing convolutions and stuff, and I mean that's great, but didn't exactly wow me.
Maybe I'm missing something fundamental? Does anyone know of a site with more of a computer science approach, say like http://golang.org, instead of so much emphasis on graphics? Or possibly a compiler that would convert Go/MATLAB/Python to OpenCL/CUDA? Am I alone in feeling a little mystified here?
Is this for processing USB webcam data? I'd like to use industrial or broadcast-level cameras but the board seems to be lacking support for these kinds of inputs. Also, in both of those domains cameras can deliver true 10 to 12 bits per color channel uncompressed performance. Webcams don't come close, as far as I know.
Tegra 4 has a MIPI-CSI interface for image sensors and I would assume K1 is similar. Supposedly you can combine the ISP and GPU for image/video processing.
Notice they use the GigaFLOPs metric, which is a (maximum) floating point measure. Bitcoin hashing (it's been a while for me) is compute intensive on integer math. For a good ratio of performance/power you'd want to look at architectures like the GreenArray devices. But the world of bitcoin hashing is now firmly positioned in ASICs. You can't cut architecture fat beyond that so you'd have to look at (general purpose) architectures built on a faster silicon technology. Wouldn't count on it.
39 comments
[ 2.5 ms ] story [ 80.2 ms ] threadOh well, that was somewhat predictable: parallela competed with nvidia in something that nvidia cared about and could execute.
NVIDIA is SIMD, a 32 thread warp doing the same instruction in lockstep (in 4 cycles usually on 8 SPs, the 192 SP chip can run 24 warps simultaneously, though specific numbers may change a bit from version to version) and heavily penalized for in-warp divergence.
Parallela - i.e. Adapteva (http://www.adapteva.com/epiphanyiv/) is 64 independent (execution-wise) RISC cores.
But I don't know how the GPU's memory caching infrastructure works. If the bandwidth is only for serial reads, that could be a problem.
The main thing I had in mind here was hashing for bloom filters. i.e. do the different algos in parallel on a GPU, then pass those values for the main lookup to be done by the CPU.
http://en.wikipedia.org/wiki/Content-addressable_memory
http://0b4af6cdc2f0c5998459-c0245c5c937c5dedcca3f1764ecc9b2f...
Having a board which works only with a certain vendor specific API is not really that useful unless I'd specifically want to develop a full fledged product using exactly that particular board.
My only gripe is that I decided to look at OpenCL and CUDA today and felt kind of.. underwhelmed. I have a lot of OpenGL experience and I guess it's not surprising that they are so similar to framebuffers and shaders. But I was really hoping for true general purpose computing, more like a hybrid between VHDL and say MATLAB. Ideally it would work like Go, where you would send a C-style function off to an execution unit or refer to other units by id, and use something like fork/join to tabulate the results, and maybe just give up on the notion of a global memory space. Instead it looked more like image processing kernels for doing convolutions and stuff, and I mean that's great, but didn't exactly wow me.
Maybe I'm missing something fundamental? Does anyone know of a site with more of a computer science approach, say like http://golang.org, instead of so much emphasis on graphics? Or possibly a compiler that would convert Go/MATLAB/Python to OpenCL/CUDA? Am I alone in feeling a little mystified here?
Am I wrong?
http://www.greenarraychips.com