Stream Processors and CUDA

In all what are they, how do they compare, do Nvidia cards have stream processors along with CUDA? The question arose since sorting AMD and Nvidia cards on newegg is either by stream processors or cuda cores.

The different kinds of "cores" are functionally the same thing, with architectural differences, of course. "Stream processor" is meant to be a generic term (even though only AMD uses it), while "CUDA core" is Nvidia's trademark name. "Shader" describes their older functionality, and not so much the general purpose computing they can do today, but it's the word I use.

Most people just refer to them as "cores", but that can be ambiguous. On GPUs from both manufacturers, the shaders are divided into modules called compute units or clusters (again, no agreed upon term). AMD compute units have 64 shaders each, and Nvidia's clusters have (I think) 192. Those modules could also be called cores.

From what I understand they're functionally the same thing in games, except that, from what I've heard, AMD's "stream processors" do much better in OpenGL while Nvidia's "cuda" cores do much better at "cuda rendering", go figure.