POV-Ray : Newsgroups : povray.off-topic : GPU rendering Server Time
7 Sep 2024 09:23:11 EDT (-0400)
  GPU rendering (Message 25 to 34 of 34)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: Chambers
Subject: Re: GPU rendering
Date: 22 Jul 2008 21:51:48
Message: <48868eb4$1@news.povray.org>
Orchid XP v8 wrote:
> Nicolas Alvarez wrote:
>> Orchid XP v8 wrote:
>>> (Also... I get the impression you need Vista for the GeForce 8 to work.)
>>
>> I have a 8600 GT. Used to use it on Windows XP. Now running Linux.
> 
> Oh, OK then.
> 

You need Vista to run DirectX 10.

You can still access all the functionality of the card through OpenGL, 
though, on XP, Linux, and MacOS.

In fact, I saw a demo that tricked XP into installing DX10, so you could 
still run almost everything that claimed it required Vista.

...Chambers


Post a reply to this message

From: Invisible
Subject: Re: GPU rendering
Date: 23 Jul 2008 04:22:48
Message: <4886ea58@news.povray.org>
Chambers wrote:

> You need Vista to run DirectX 10.
> 
> You can still access all the functionality of the card through OpenGL, 
> though, on XP, Linux, and MacOS.

Oh right. I'll have to check to see whether CUDA works. >:-D

Basically there's a couple of graphics demos I've seen out there that 
require a GeForce 8 or higher. How much do you want to bet that's really 
because they want DirectX 10?

> In fact, I saw a demo that tricked XP into installing DX10, so you could 
> still run almost everything that claimed it required Vista.

I find that a little surprising - AFAIK, Vista uses a radically 
different internal graphics pipeline, so you'd think it wouldn't be 
possible to make it work on XP at all.

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: scott
Subject: Re: GPU rendering
Date: 23 Jul 2008 04:53:21
Message: <4886f181@news.povray.org>
> I find that a little surprising - AFAIK, Vista uses a radically different 
> internal graphics pipeline, so you'd think it wouldn't be possible to make 
> it work on XP at all.

I imagine they've hacked the DX9 drivers to use some of the hardware 
functionality that is only exposed under DX10 (and thus only in Vista).  I 
would highly doubt that they have managed to replicate the Vista graphics 
system on XP, so there is no way all applications designed for DX10 are 
going to work.  To do that they would have had to pretty much rewrite the 
whole Vista graphics system and parts of the OS GUI to run on XP, which 
seems a bit unlikely.


Post a reply to this message

From: Chambers
Subject: Re: GPU rendering
Date: 23 Jul 2008 04:59:05
Message: <4886f2d9$1@news.povray.org>
scott wrote:
>> I find that a little surprising - AFAIK, Vista uses a radically 
>> different internal graphics pipeline, so you'd think it wouldn't be 
>> possible to make it work on XP at all.
> 
> I imagine they've hacked the DX9 drivers to use some of the hardware 
> functionality that is only exposed under DX10 (and thus only in Vista).  
> I would highly doubt that they have managed to replicate the Vista 
> graphics system on XP, so there is no way all applications designed for 
> DX10 are going to work.  To do that they would have had to pretty much 
> rewrite the whole Vista graphics system and parts of the OS GUI to run 
> on XP, which seems a bit unlikely.

They don't hack the DX9 drivers, and they don't replicate DX10 - they 
actually trick DX10 into installing on XP, so you get full functionality.

Such an act, of course, is against the EULA, and I wasn't willing to 
risk hosing my system enough to try it out - but it seemed interesting, 
at least :)

...Chambers


Post a reply to this message

From: Chambers
Subject: Re: GPU rendering
Date: 23 Jul 2008 05:00:52
Message: <4886f344$1@news.povray.org>
Invisible wrote:
> Basically there's a couple of graphics demos I've seen out there that 
> require a GeForce 8 or higher. How much do you want to bet that's really 
> because they want DirectX 10?

Rather, they want certain functionality in the cards that's only 
provided in the GF8 series and above, and that functionality is only 
exposed by DX10.  So it's not that they want DX10, it's that they want 
the card, and to use it to its fullest you need DX10 (or GL, but that's 
another matter).

...Chambers


Post a reply to this message

From: scott
Subject: Re: GPU rendering
Date: 23 Jul 2008 06:14:57
Message: <488704a1@news.povray.org>
> They don't hack the DX9 drivers, and they don't replicate DX10 - they 
> actually trick DX10 into installing on XP, so you get full functionality.

But that's impossible to keep full functionality, DX10 has many new function 
calls that talk to the new window manager in Vista.  Such things simply will 
not work in XP.  I suspect that at the moment very few programs actually use 
those calls (to make developing DX9 and DX10 versions simultaneously 
easier), so most programs probably will still work ok.  One example is how 
Vista handles the mouse pointer compared to XP.

Of course a limited functionality of DX10 would be useful on XP, but I 
imagine it's very buggy in places, which is why MS never bothered spending 
the effort to really tidy it up and get it working properly.


Post a reply to this message

From: scott
Subject: Re: GPU rendering [98K]
Date: 23 Jul 2008 06:59:51
Message: <48870f27@news.povray.org>
> OK, so for anybody who knows about such things... Would it be feasible to 
> render an Iterated Function System image using a GPU? And would it be any 
> faster than using the CPU?

See attached image. That spike in the right CPU chart was where I started 
the program.

I'm using the standard fern algorithm that's on the wikipedia page about 
IFS.

Speed: 23.2 million iterations per second (512x512 points in parallel per 
frame at 88 fps)

This is on an nVidia FX1700, if I get time I'll try it on my FX7900 tonight, 
should be significantly faster.

I don't know how this compares to how fast a CPU would be, if I get time 
later I will try out the same on the CPU for comparison.

The hardest bit was actually getting a good random number generator inside 
the pixel shader.  What I ended up doing was to generate a big texture full 
of random numbers at the start of the code, then in the pixel shader it 
generates an xy coord based on a number of things and looks up the value in 
the random texture at that position.  Seems to work well, because believe 
me, if your random number generator is just a little bit wonky, the fern 
doesn't look very nice at all!


Post a reply to this message


Attachments:
Download 'image1.jpg' (99 KB)

Preview of image 'image1.jpg'
image1.jpg


 

From: Invisible
Subject: Re: GPU rendering [98K]
Date: 23 Jul 2008 07:16:18
Message: <48871302$1@news.povray.org>
scott wrote:

> See attached image. That spike in the right CPU chart was where I 
> started the program.

Sweet! That looks pretty awesome.

Next step: realtime animation. ;-)

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: scott
Subject: Re: GPU rendering [98K]
Date: 24 Jul 2008 03:38:07
Message: <4888315f$1@news.povray.org>
> Speed: 23.2 million iterations per second (512x512 points in parallel per
> frame at 88 fps)
>
> This is on an nVidia FX1700, if I get time I'll try it on my FX7900 
> tonight,
> should be significantly faster.

OK so my FX7900 wasn't that much faster (37 million per second), despite the 
specs indicating about 5x the pixel throughput.  The speed bottleneck is 
obviously somewhere else in this code then, probably in the texture lookup 
in the vertex shader, I guess that isn't very optimised yet.  If I had a 
DX10 card I could use a geometry shader to cut the number of texture lookups 
and vertex shader calls by a factor of 4, that would definitely speed things 
up significantly.

> I don't know how this compares to how fast a CPU would be, if I get time
> later I will try out the same on the CPU for comparison.

Using a single core of an Intel E6400 I get 11 million iterations per second 
(C++, but with no graphics).

Also it took me like 5 minutes to write the CPU code from scratch, but 
several hours to get the GPU code working correctly!


Post a reply to this message

From: Invisible
Subject: Re: GPU rendering [98K]
Date: 24 Jul 2008 03:52:47
Message: <488834cf$1@news.povray.org>
>> Speed: 23.2 million iterations per second (512x512 points in parallel per
>> frame at 88 fps)
>>
>> This is on an nVidia FX1700, if I get time I'll try it on my FX7900 
>> tonight,
>> should be significantly faster.
> 
> OK so my FX7900 wasn't that much faster (37 million per second), despite 
> the specs indicating about 5x the pixel throughput.  The speed 
> bottleneck is obviously somewhere else in this code then, probably in 
> the texture lookup in the vertex shader, I guess that isn't very 
> optimised yet.  If I had a DX10 card I could use a geometry shader to 
> cut the number of texture lookups and vertex shader calls by a factor of 
> 4, that would definitely speed things up significantly.

Ooo... profiling GPU code... THAT SOUNDS FUN! o_O

>> I don't know how this compares to how fast a CPU would be, if I get time
>> later I will try out the same on the CPU for comparison.
> 
> Using a single core of an Intel E6400 I get 11 million iterations per 
> second (C++, but with no graphics).

Mmm, OK.

> Also it took me like 5 minutes to write the CPU code from scratch, but 
> several hours to get the GPU code working correctly!

Heh. All hail the day when GHC has a GPU backend! ;-)

(Mind you, apparently Roman Cheplyaka is working on a physics engine 
using Data Parallel Haskell as a Google SoC project. Apparently rigid 
body collision is working already...)

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.