3DLabs P20 Announced

Looks very nice for Very Large scenes in the workstation market because of the 36 bit accuracy in the vertex operations.

Looks uber sweet and far closer in speed and *main stream* features then the P10 compared to the r300/nv30.

I doubt we will see it in the consumer market the thing is gonna cost a small fortune I bet.

Congrats to 3dlabs :)
 
It was clearly indicated that Creative bought 3dlabs to offer consumer market scaled versions of their technology. A single VPU solution looks well suited to the mainstream, if there aren't Parhelia-like clock speed issues and if throughput is roughly that of existing R3xx designs.

If a scaled down VSU is an option, such that it can go on one card with two VPUs, a dual VPU solution might be competitive in the upcoming high-end battle. Though this seems made unlikely by the apparent monstrosity of it, depending on clock speed.

But maybe I'm underestimating its performance? Tough to guess at the moment...maybe I should go look up P10 transistor and throughput figures?
 
Looking at the diagrams on the 3dlabs whitepaper page
it appears that the following is the case:

VPU (figures in brackets are Direct 3D nomenclature)
array of 16 vertex processors (4 SIMD vertex shaders)
array of 48 fragment processors (12 SIMD pixel shaders)

VSU
array of 32 vertex processors (8 SIMD vertex shaders)

So a maxed out VSU/VPU/VPU config has:
32 vertex processors (8 SIMD vertex shaders)
96 fragment processors (24 SIMD pixel shaders)

It's important to realise 3dlabs can dynamically handle
all instuction co-issue cases, so a like with like comparison
is tricky. They should cook up a demo doing a LOT of
scalar operations. :)

NV35: ~3 VS - 4 PS
R300: 4 VS - 8 PS
NV40: 6 VS - 16 PS
P20 VPU: 4 VS - 12 PS
P20 Max: 8 VS - 24 PS

Add in the memory bandwidth and you've got a monster. :)

Clock speed will be interesting too, as the chips are not
too large.
 
The last Creative 3Dlabs-based products weren't that interesting to say the least... ;)
Gonna give Creative a call tomorrow but I'm assume I'll just get a "can't give you any info yet".
 
They can't support VS3.0 for lack of texture units in the VS. This came as a surprise to me.

DemoCoder said:
Hell, I'd half expect 3dLabs to ship hardware support for Perlin Noise :)
I fully expect them to ship hardware support for noise, but I'm not sure it'll be Perlin Noise.

glw said:
NV35: ~3 VS - 4 PS
R300: 4 VS - 8 PS
NV40: 6 VS - 16 PS
P20 VPU: 4 VS - 12 PS
P20 Max: 8 VS - 24 PS
But it all depends on what a single scalar unit can do. NV40 has 16 TEX|SF|MULx4 + 16 MADx4|DOT. P20 could be 48 MAD + 12 TEX or something like this, but could behave very much different in other cases.
 
From the press release:
Wildcat Realizm technology implements a full floating-point VPU pipeline, with up to full 32-bit floating point per component accuracy and direct display of floating point pixels - an industry first.
Umh..that sounds weird to me. Are they doing tone mapping in hw?
 
nAo said:
From the press release:
Wildcat Realizm technology implements a full floating-point VPU pipeline, with up to full 32-bit floating point per component accuracy and direct display of floating point pixels - an industry first.
Umh..that sounds weird to me. Are they doing tone mapping in hw?
Why is that weird? Their RAMDAC is capable of reading a FP framebuffer and outputting it directly (with clamp to [0, 1], of course). They might be doing tone mapping in HW. NV40 can.

However, I'm not sure whether NV40 can or can't output float buffers. I believe it can't. But that's IMO not much of a problem, since when you render to a float color buffer you usually want to do HDR rendering, in which case you usually want a final "bloom" pass.
 
Xmas said:
Why is that weird? Their RAMDAC is capable of reading a FP framebuffer and outputting it directly (with clamp to [0, 1], of course). They might be doing tone mapping in HW. NV40 can.
It's weird cause a developer would like to control the tone mapping pass with custom filters.If P20 just clamps fp values to 0..1 and then to an integer representation I wouldn't call it as 'tone mapping'. In fact they don't in the press release :)
Don't get me wrong, a RAMDAC capable of reading fp values is a good thing, it will save some memory bandwith ;)

ciao,
Marco
 
WRT to the pixel pipeline functionality, I've had some more information from 3Dlabs. They acknowldge them to be PS3.0 compliant. They state they have a 48-way SIMD array, however they have a chip diagram with the functional blocks highlighted - it would appear that the 48 SIMD array is distributed across 3 blocks. My guess is that each block is operating on a quad and hence each quad has 16 vector units apportioned to it. Curiously, each of the pixel diagram blocks only has two texture units each.

While the whole of the "VPU" was designed by the Wildcat VP / Egham team, the VSU comes from the US / former Integraph side of the business.
 
Evildeus said:
Xmas said:
They can't support VS3.0 for lack of texture units in the VS. This came as a surprise to me.

DemoCoder said:
Hell, I'd half expect 3dLabs to ship hardware support for Perlin Noise :)
I fully expect them to ship hardware support for noise, but I'm not sure it'll be Perlin Noise.
Are you sure? and what's the consequencies of Noise() fonction removed of GSLS?
http://www.beyond3d.com/forum/viewtopic.php?t=11734
The noise() function isn't removed from GLSlang. But compilers might choose to ignore it.

"When the built-in noise function is accelerated in hardware and fast enough for your purposes, use it"
From the GLSL Master Class pdf, http://www.3dlabs.com/support/developer/ogl2/presentations/index.htm#master2004
 
Ok thanks. I reread Deano Calver's comment, and i did overlook the last part. Do you think that his post (the part in italic) takes into account the new P20?

Another sad thing, was a acceptance that some things are just going to be ignored, noise() being the big one. While no hardware has a noise function, OpenGL has a clear rule to support this, fall back to software. But it seems to have been accepted that in this case, it o.k. just to run the shader but ignore the noise instruction.
 
On up coming gen of cards ( N40/R420 ) it would be nice to see perlin noise when #pragma optimize(off) is set but a 3d texture by default.
 
Evildeus said:
Ok thanks. I reread Deano Calver's comment, and i did overlook the last part. Do you think that his post (the part in italic) takes into account the new P20?

Another sad thing, was a acceptance that some things are just going to be ignored, noise() being the big one. While no hardware has a noise function, OpenGL has a clear rule to support this, fall back to software. But it seems to have been accepted that in this case, it o.k. just to run the shader but ignore the noise instruction.

Randi did say there new chip (P20) doesn't support noise, they also don't believe the instruction should do a texture version (due to quality issues).

Currently AFAIK NVIDIA just ignore it (return 0.f), ATI fallback to software and the current P20 drivers don't do anything but they haven't finished them yet so it might just fallback to software.

He mentioned that next-generation (or the next) might do it in hardware. But for now if you want noise do it via textures.
 
So if i understand what you are saying deanoc, there's 3 different paths ATM:
- Nv ignores noise functions
- Ati uses a software fallback
- 3dLabs ask to use textures if you want noise.

Thanks for the clarification :)
 
DaveBaumann said:
He said NVIDIA ignores the call (its not there in hardware).
Not quite ignored. Just not very noisy yet.

Code:
//"Noise library"
float noise1( genType x ) { return 0.0; }
vec2  noise2( genType x ) { return vec2( 0.0 ); }
vec3  noise3( genType x ) { return vec3( 0.0 ); }
vec4  noise4( genType x ) { return vec4( 0.0 ); }
I think it's important for all conforming implementations to support the built-in function library, including noise, as specified.

-mr. bill
 
Back
Top