nV News Forums

 
 

nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   Poor bandwidth with 1.0-9746 (http://www.nvnews.net/vbulletin/showthread.php?t=84871)

javiersr 01-23-07 12:40 PM

Poor bandwidth with 1.0-9746
 
2 Attachment(s)
I'm experiencing bandwidth problems with 1.0-9746 driver release. I'm measuring a transference time of 500x the transference time with 1.0-8776.

I'm attaching the log with an 8800GTX and a 7800GTX (of course, 8800GTX does not work at all with 1.0-8776, but 7800GTX does).

I don't know what the cause can be and I can't give any extra information but the logs. They were taken in two different PC with two different cards (just in case it could be helpful).

Thank you in advance.

netllama 01-23-07 12:52 PM

Re: Poor bandwidth with 1.0-9746
 
How are you performing this measurement?

javiersr 01-24-07 05:06 AM

Re: Poor bandwidth with 1.0-9746
 
Something like:

gettimeofday(t0);
glTexSubImage2D( GL_TEXTURE_RECTANGLE_NV, 0, x, y, width, height, GL_RGBA, GL_FLOAT, (GLvoid*)data );
glFinish();
gettimeofday(t1);

and so on.

I'm writing and running more test right now to see if I can find something more concrete (may be something related to GL_NV_texture_rectangle, GL_NV_float_buffer, GLX_SGIX_pbuffer or any other of the extensions I'm using). I will post my result as soon as I get it.

javiersr 01-24-07 10:52 AM

Re: Poor bandwidth with 1.0-9746
 
1 Attachment(s)
Hello,
I enclosed the problem a little bit more. If I transfer the whole chunk of data to the texture, bandwidth performance is good (indeed, it is sightly faster with 8776). But if I subdivide the transferences into blocks, the performance with 9xxx drops fast, and the performance with 8776 is just a bit lower.

I'm attaching a test code. It works as follows:
  1. It expects three parameters: width, height and tiling
  2. It allocates a (width x height) floating point RGBA texture
  3. It sequentially writes (tiles x tiles) blocks of data in the texture
  4. It reads the whole texture and checks that everything went well

So if you run the test this way:
./test 2000 2000 1
The program will write the whole texture in one transference.

If you run the test like this:
./test 2000 2000 2
The program will write (four) 1000x1000 blocks, performing four transferences to fill the texture.

I'm getting the following results:

1.0-8776

./test 2000 2000 1
Writing time: 139347
Reading time: 102771
Residue: 0
./test 2000 2000 2
Writing time: 145235
Reading time: 103051
Residue: 0
./test 2000 2000 4
Writing time: 158381
Reading time: 102603
Residue: 0
1.0-9746

./test 2000 2000 1
Writing time: 143069
Reading time: 103248
Residue: 0
./test 2000 2000 2
Writing time: 538755
Reading time: 102028
Residue: 0
./test 2000 2000 4
Writing time: 1.77387e+06
Reading time: 101770
Residue: 0
Regards.

PD: I'm using GLEW for managing extensions, so you need it to compile the test.

netllama 01-24-07 05:50 PM

Re: Poor bandwidth with 1.0-9746
 
Thanks. I've reproduced the problem and opened bug 284530.

mooninite 02-04-07 12:29 PM

Re: Poor bandwidth with 1.0-9746
 
I just ran the attached test case and I also see the bandwidth problem.

Geforce 7900 GT
Fedora Core 6 x86_64
Intel Core 2 / i965 system


All times are GMT -5. The time now is 03:40 AM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.