Menu

#263 GPU usage

closed-rejected
nobody
None
5
2010-05-01
2010-04-20
jaskij
No

The topic is self explanatory. It's a whole hell of work, but I believe it's worth it. It would be particularly useful for 3d plotting. If not in general, then maybe at least for Win using DirectComputing (it should make it a bit easier).

Discussion

  • Ethan Merritt

    Ethan Merritt - 2010-04-22

    It would be more useful if you would describe a use case that gnuplot does not handle well, and let that spark discussion of how things might be improved. To jump to a proposed "solution" before even identifying a problem is not so useful. There are a couple of back-burner projects to remove bottlenecks when plotting huge data sets. Is that what you had in mind?

    Anyhow, gnuplot does not do true 3D plotting and so hardware acceleration is unlikely to help it.

     
  • Ethan Merritt

    Ethan Merritt - 2010-04-22
    • status: open --> open-rejected
     
  • jaskij

    jaskij - 2010-04-22

    What I had in mind is that GPU is generally way faster with floating point operations.
    At some point after buying this PC I joined some BOINC projects to test its capabillities. In one project, which supported GPU computing the GPU was about 60 times faster then a 2,66 GHz i5. And BOING projects don't involve graphics.

    For use cases - rendering 3d seems awfully slow and I don't think isosample set at 100 is that high... And a 200 frames of gif took like 2 hours or so... see for yourself, cause it may be the way I wrote the function, that made it so slow...
    http://jaskij.ovh.org/3d_waveform.zip

     
  • Ethan Merritt

    Ethan Merritt - 2010-04-23

    > And a 200 frames of gif took like 2 hours or so... see for yourself, cause it may be
    > the way I wrote the function, that made it so slow...
    http://jaskij.ovh.org/3d_waveform.zip

    Your script (200 frames) runs in just over 1 minute on my home machine (decent CPU, but hardly unusual).
    I might be possible to pick up another factor of 2x-4x by tweaking the compile options or FPE handling.

    If you are really seeing 200x worse performance, you may have serious problems in machine configuration, compiler options, or possibly choice of operating systems :-) At any rate, if you want to know where the bottleneck is you will need to do serious benchmarking. It is possible, for instance, that the bottleneck is in libgd rather than in gnuplot.

    [1] time gnuplot waveform3d3a.txt
    1/200
    ...
    200/200
    End of animation sequence
    66.577u 1.553s 1:08.51 99.4% 0+0k 680+13648io 7pf+0w
    [2] uname -a
    Linux stonelion 2.6.31.12-desktop-3mnb #1 SMP Thu Mar 25 13:24:09 EDT 2010 i686 Intel(R) Core(TM)2 Duo CPU T9400 @ 2.53GHz GNU/Linux

     
  • jaskij

    jaskij - 2010-04-23

    It's very possible, because I'm on win7 x64... I like to play games and I can't install Lin without losing data cause of RAID :/
    you didn't lower the isosample, did you? :p

     
  • Ethan Merritt

    Ethan Merritt - 2010-04-23

    Let's back up a bit. Please provide the output of the command "show version long". It will tell us whether your gnuplot executable was compiled with the option HIDDEN3D_QUADTREE.
    Disabling this option causes your test script to run slower by a factor of 5x. It is normally enabled by default, but please check. Of course, even so I can't explain the remaining 20x slowdown.

     
  • jaskij

    jaskij - 2010-04-23

    +READLINE -LIBREADLINE +HISTORY +BACKWARDS_COMPATIBILITY +BINARY_DATA
    +GD_PNG +GD_JPEG +GD_TTF +GD_GIF +ANIMATION
    -NOCWDRC +X11_POLYGON +X11_EXTERNAL +USE_MOUSE
    +DATASTRINGS +HISTOGRAMS +OBJECTS +STRINGVARS +MACROS +IMAGE

    I'm either blind or it's not there... and I even redownloaded the win32 bin...

     
  • Ethan Merritt

    Ethan Merritt - 2010-04-23

    Hmm. So that option was enabled in the win32 build.
    Well, you have the option to build it yourself from source, making sure that the option is turned on. But as I say, that option would only explain a small part of the slow run times you report.

    Anything further explanations will have to be sought by profiling on a system that suffers from the slowness. I really don't know what tools are available for that on Windows, but it almost certainly it will require rebuilding from the source with profiling options selected in the compiler settings.

     
  • Ethan Merritt

    Ethan Merritt - 2010-04-23

    > Hmm. So that option was enabled in the win32 build.

    Of course I meant to type " _not_ enabled in the win32 build".

     
  • jaskij

    jaskij - 2010-04-23

    Ah hell.. would like to help on that, but I'm not good at it :/ if you have the time and will to help me, it would be great.

     
  • jaskij

    jaskij - 2010-04-25

    Ok... there is something seriously wrong with those w32 binaries... after runnign the console ver I got from cygwin repositories the same scrip compiled in 1:16... Or maybe it's just the wgnuplot?

     
  • jaskij

    jaskij - 2010-04-25

    Sry for double... The cygwin version has hidden3d_quadtree...

     
  • Ethan Merritt

    Ethan Merritt - 2010-05-01
    • status: open-rejected --> closed-rejected
     

Log in to post a comment.

MongoDB Logo MongoDB