Slashdot Mirror


Intel Develops Linux 'Software GPU' That's ~29-51x Faster (phoronix.com)

An anonymous reader writes: Intel is open-sourcing their work on creating a high-performance graphics software rasterizer that originally was developed for scientific visualizations. Intel is planning to integrate this new OpenSWR project with Mesa to deploy it on the Linux desktop as a faster software rasterizer than what's currently available (LLVMpipe). OpenSWR should be ideal for cases where there isn't a discrete GPU available or the drivers fail to function. This software rasterizer implements OpenGL 3.2 on Intel/AMD CPUs supporting AVX(2) (Sandy Bridge / Bulldozer and newer) while being 29~51x faster than LLVMpipe and the code is MIT licensed. The code prior to being integrated in Mesa is offered on GitHub.

15 of 111 comments (clear)

  1. How does it compare to a low-end graphics card? by Anonymous Coward · · Score: 5, Insightful

    That's the really interesting question, since on board graphics just tend to work nowadays and the only real use case of such software for a consumer is as a fall back for when it doesn't and in that case the fancy graphics tend to get turned off anyway.

    1. Re:How does it compare to a low-end graphics card? by edxwelch · · Score: 3, Interesting

      Even more interesting question, how does something like Half-Life run on it? Is it a slide show, or is it playable?

    2. Re:How does it compare to a low-end graphics card? by Lunix+Nutcase · · Score: 2

      Probably not optimally since it's for scientific visualization not gaming.

    3. Re:How does it compare to a low-end graphics card? by Kjella · · Score: 2

      That's the really interesting question, since on board graphics just tend to work nowadays and the only real use case of such software for a consumer is as a fall back for when it doesn't and in that case the fancy graphics tend to get turned off anyway.

      For the scientific visualizations they use it for it's probably quite good, since they're not using a GPU. For gaming and such a consumer might want it's probably bad since it is has high vertex complexity and low shader complexity. So lots of details using primitives, but not all the shader work to make realistic graphics. It seems like a special case though.

      --
      Live today, because you never know what tomorrow brings
    4. Re:How does it compare to a low-end graphics card? by TheRaven64 · · Score: 3, Interesting
      I've not tried it, but to give a few data points:

      I have a slow AMD E-350 (1.6GHz, dual core, low power chip) in the machine I use as a media centre. With the original MESA software fallback, I got about 3 frames per second in the UI. It was totally unusable. After FreeBSD gained support for the GPU, I tried it again and got about 20-30fps. This seemed a bit low, and I discovered that I'd misconfigured it and it was still using the software fallback, only now it was using LLVMPipe. I don't know how much faster the GPU actually is, because at 60fps it hits vsync and doesn't try to go faster, though CPU usage drops from 100% to around 10% (of one core). Of course, this CPU doesn't have AVX, so won't benefit from this code.

      The release announcement has a couple more details. This new back end is optimised for workloads with large vertex counts but simple shaders and for machines with a lot of cores. There are a lot of ways that you can make OpenGL shaders faster if you're optimising for the simple case. Half Life 1 works on a fixed-function pipeline, so should be fast on this. Half Life 2 uses a bit more by way of shaders, but possibly not enough to cause it to struggle. Stuff that runs well on a GPU is likely to also run well on multiple cores, if you get the synchronisation right, but the existing LLVM pipe uses a single thread.

      My main interest in this is whether you can turn off the GPU entirely for normal compositing desktop workloads and whether it will make a big difference to the power consumption if you do. Compositing desktops generally do a lot of simple compositing, but have very simple shaders and quite simple geometry. I'd be very interested to see whether doing this on the AVX pipelines is cheaper than having an entire separate core doing the work, especially given that the GPU core is generally optimised for more complex graphical workloads.

      --
      I am TheRaven on Soylent News
    5. Re:How does it compare to a low-end graphics card? by mikael · · Score: 2

      Scientific visualization applications use data sets that are in the Gigabyte range - a volume cube of 1024x1024x1024 representing a supernova and streamed off a supercomputer, or maybe they have a high-resolution grid of an aircraft and jet engines and and want to see where the areas of turbulence are. With all the CPU cores available, it's easier to render on the CPU's that it is to funnel the data into GPU memory just to render one frame.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
  2. Up to by itamihn · · Score: 2

    Not 29-51x faster, but _up to_ 29-51x faster (in a specific use case -for which it was developed-)

    1. Re:Up to by ShanghaiBill · · Score: 4, Insightful

      Then it should have just said "up to 51x faster" ... or more ...

      "Up to" is just a weasel word way of saying "less than".

      I have up to a billion dollars in my pocket.

  3. No, it's not for playing games by CajunArson · · Score: 5, Informative

    Despite the ignorance (or perhaps intentional clickbaityness) of the post, nobody at Intel expects this to replace a GPU to do regular graphics or play games. They haven't been investing big money in going from effectively zero GPU power in 2010 to beating AMD's best solutions in 2015 to replace it with a software gimmick now.

    This renderer is designed to do all kinds of graphical visualization that doesn't make sense to do with a traditional GPU, just like running POVRay or rendering complex images in scientific applications.

    It is NOT going to replace a real GPU for what a real GPU does.
    Nobody at Intel ever said it would replace a GPU.
    The Internet, however, isn't so smart.

    --
    AntiFA: An abbreviation for Anti First Amendment.
    1. Re:No, it's not for playing games by hairyfeet · · Score: 2

      "They haven't been investing big money in going from effectively zero GPU power in 2010 to beating AMD's best solutions in 2015 to replace it with a software gimmick now."...quit bogarting bro, share some of that crazy smoke weed you been puffing. after all if you think Intel graphics are gonna beat Radeons? That be some damned good shit now!

      --
      ACs don't waste your time replying, your posts are never seen by me.
    2. Re:No, it's not for playing games by thechao · · Score: 2

      One of the original authors, here: this is exactly correct. This thing was a toy that we wrote for our own entertainment that grew rapidly out of scale. As a joke, we'd implemented display-lists on OpenGL 1.2 and began playing Quake III. (This required monstrous multi-socket Xeon workstations, with all the fans going flat-out.) It just happens to turn out that (at the time) regular old top-of-the-line GPUs were crashing under the TACC workloads. Weirdly, our rasterizer was both faster than the GPUs (even the high-end ones) [1], and didn't crash. That's where SWR came from. OpenSWR is the natural outgrowth of dealing with academics.

      My interest was in the compiler, the implementation of an "old skool" high performance GL driver, and the texture-unit. The other two guys wanted to write an interpolator, and a threading/caching model—the stuff we never got to do on the old Larrabee projects.

      [1] The workloads didn't fit into the on-card video-ram, so the GPUs were strongly bandwidth bound—maybe 5GB/s; we had >70GB/s of bandwidth at our disposal.

  4. -22 by Tablizer · · Score: 2, Funny

    I did the math, and got -22x faster. I'll pass on it, Thank You.

    1. Re:-22 by dfsmith · · Score: 2

      Are you kidding!? Negative 22x faster means it will produce the image before you asked for it! Please excuse me while I go and render the current NYSE prices....

  5. Massive Scientific Visualization by friedmud · · Score: 3, Informative

    This is seriously useful for massive scientific visualization... where raw rendering speed isn't always the bottleneck (but of course, faster is better).

    We do simulations on supercomputers that generate terabytes of output. You then have to use a smaller cluster (typically 1000-2000 processors) to read that data and generate visualizations of it (using software like Paraview ( http://www.paraview.org/ ) ). Those smaller clusters often don't have any graphics cards on the compute nodes at all... and we currently fall back to Mesa for rendering frames.

    If you're interested in what some of these visualizations look like... here's a video of some of our stuff: https://www.youtube.com/watch?...

  6. Re:Holy shit by wonkey_monkey · · Score: 2

    Intel is planning to integrate this new OpenSWR project with Mesa to deploy it on the Linux desktop

    What hardware do I need?

      * Any x86 processor with at least AVX (introduced in the Intel
          SandyBridge and AMD Bulldozer microarchitectures in 2011) will
          work.

      * You don't need a fire-breathing Xeon machine to work on SWR - we do
          day-to-day development with laptops and desktop CPUs.

    TL:DR; it's for whoever wants to use it on whatever hardware they want to use.

    --
    systemd is Roko's Basilisk.