Slashdot Mirror


GPU Gems 2 Gets Call for Participation

An anonymous reader writes "Following the publication of GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics, NVIDIA has decided to produce a second GPU Gems volume in order to showcase the best new ideas and techniques for the latest programmable GPUs. Tentatively titled GPU Gems II: Techniques for Graphics and Compute Intensive Programming, NVIDIA is looking for innovative ideas from developers who are using GPUs in new ways to create stunning graphics and cutting-edge applications. GPU Gems II will have an increased focus on chapters exploring non-graphics applications of the computational capabilities of GPU hardware (learn more at www.GPGPU.org). If you would like to participate, please read through the submission guidelines and send an e-mail to articlesubmissions@nvidia.com with your proposed chapter title as the subject line, and the required description in the e-mail body. The deadline for submissions is Monday, August 16, 2004."

11 comments

  1. 64 bit calculation by Ann+Coulter · · Score: 3, Interesting

    What would really spike my interest is if GPU makers would add 64 bit floating point intensities to their GPUs. By that I mean that color components would be 64 bits instead of the current maximum of 32 bits. This would allow for us to produce very fast computational libraries based around the GPU with the full precision we have come to expect from existing libraries. The current 32 bits, which is actually 24 bits if you really consider that only the mantissa counts toward precision, is not enough for certain applications. We need 52 bit mantissas especially for polished results. By the way, it is not that hard to implement 64 bit calculations into the GPU. So in essense, general numerical analysis, and especially linear algebra, will greatly benefit from the implementation of a relatively uninteresting detail to most. Having 64 bit color intensities will not give any great enhancement in visual quality as we would use our GPUs for in the usual case. Although the immediate visual benefit is negligible, processing of visual data requires a lot more precision than the presentation precision. For example, brightening a scene will require low order bits to come forth. If the precision is limited, aliasing will occur. So there is an immediate benefit to higher precision 64 bit GPUs. The benefits of high precision intensities all revolve around processing, something that GPUs are becoming more and more adept at starting with the introduction of shader technology. In closing, 64 bit intensities only increase manufacturing costs by a small amount while providing great benefits to processing applications. I would believe that we will definitely have 64 bit super-parallel processors (such as a GPU) in the future (hopefully the near future). Having 64 bits is sufficient for most numerical analysis applications used in physical problems. However, 32 bits is not always sufficient. Therefore, the scientific field will most likely demand the introduction of super-parallel 64 bit processors when it becomes well know the benefits of super-parallel processing as opposed to the more traditional processing with our CPUs. I hope to see GPUs with 64 bit intensities as it is the logical step into the future of super-parallel processing.

    1. Re:64 bit calculation by grmoc · · Score: 1

      However.. it would negatively impact the performance for those of us who want to use the card just to make graphics, where 24 bits of precision isn't all that bad.

      You'd have to add at least another stage to every comparator, adder, etc, and that doesn't just use up more silicon.. that also increases latencies.

    2. Re:64 bit calculation by pkhuong · · Score: 1

      i'm really talking out of my ass here, but i remember a paper that discussed using n single-precision values to simulate higher precision. Couldn't you do that with multiple passes?

      --
      Try Corewar @ www.koth.org - rec.games.corewar
    3. Re:64 bit calculation by rmull · · Score: 1

      you can always fake precision if you want to badly enough, but it's really slow. One arithmetic operation vs. many, not to mention the various memory accesses that may need to happen, depending on how it's implemented.

      Also talking out of my ass. :)

      --
      See you, space cowboy...
    4. Re:64 bit calculation by John+Miles · · Score: 1

      I wouldn't hold my breath. It was hard enough to convince manufacturers that floating-point frame buffers and textures were needed in the first place.

      Even now, only the NV40 offers what you could honestly call single-precision floats. The ATI cards give you 24 bits for the whole value.

      --
      Dahlmann tightly grips the knife, which he may have no idea how to use, and steps out into the plain.
    5. Re:64 bit calculation by Shinobi · · Score: 2, Informative

      The GeForce 6800 series can actually handle 64-bit floating point calculations.

    6. Re:64 bit calculation by SpootFinallyRegister · · Score: 1
      this goes against the entire point of the GPU.

      32 bits is enough for a GPU. why? the point of a GPU is to produce good-looking graphics fast. precision problems with single precision IEEE754s are by and large far too small to notice once the end result is shipped off to a screen as color. so, 64 bits is killing a fly with a sledgehammer in a GPU.

      the brightening example holds no water. 24 bits of intensity precision, mapped to the gamut of a crt or lcd, is orders of magnitude more than necessary for extremely atttractive real-time graphics. there are situations where the additional precision is necessary, but active moving scenes will not require it purely from the fact they are dynamic. for static scenes, teh computations can be produced more slowly on the gpu via simulated extended precision or off of the gpu.

      32 bits is often not enough for a general math processor, but guess what? gpus are not general processors. thats the whole point -- specialized hardware that does one thing well and nothign else is cheaper and faster than general hardare. thats why it exists, and thats the point of the GPU.

      64 bit processors DO significantly increase costs as well as hamper performance. if the gpu was converted to natively operate only on 64 bit, it would require significantly more silicon, as well as exhibiting increased latency for 32 bit operations -- both to convert to a 64 bit value and perform the operation. if the gpu were to support both 32 and 64 bit opeartions natively, the latency hit would be reduced, but there would be a massive increase in transistor count, and a major cost increase.

      and, the super parallelism argument is bunk. parallelism (in a single machine) is not forcefeeding general computation to a specialized processor that isnt designed for it. im willing to wager the "scientific field" knows what it wants, and at no point has someone been doing research and cursed his GPU as not being useful for general computation.

      basically, these are all things that are nice to have, but have no place on a gpu designed to produce good graphics fast. i understand your frustration over having that mighty little piece of silicon sitting in your computer and feeling like you cant fully tap it, but that just isnt what its made for; and if it were able to do it, it would be worse at what it is supposed to do.

    7. Re:64 bit calculation by MisterFancypants · · Score: 2, Informative
      You just spent a lot of words being wrong. 32 bits are NOT enough for GPUs and gaming. 32 bit is plenty fine when you're talking about a single texture, but when you're doing 10-20 passes to do textures, normal maps, lighting, etc, you start seeing rounding errors that accumulate giving you banding artifacts similar to those that were common when 16 bit color was king.

      In any case, the Nvidia 6800 does 64bit color NOW and 64bit is going to be pretty much standard equipement across the board within the next year.

    8. Re:64 bit calculation by mikael · · Score: 1

      One of the most time consuming processes in image process is the FFT (Fast Fourier Transform) and theIFFT (Inverse Fast Fourier Transform). For digital images, the DFT (Discrete Fourier Transform) can be used instead. These are used to implement many types of image processing calculation (convolution, image sharpening/blurring and texture classification). However, due to precision requirements, all calculations must use 64-bit floating point values (doubles) in order to guarantee accuracy. Although, since each colour channel is actually represented as a complex number, having textures with eight channels wouldn't be a bad thing either).

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
  2. Such a pain by Anonymous Coward · · Score: 0

    If only someone would move to create a GPU that was instead just a partial precision, massive chunk of silicon with a huge number of vector processing, Floating Point specializing CPUs...
    Being able to run a whole game on the GPU, or at least program GPUs to the point that one doesn't have to get very annoyed at [D3D/OGL/nVidia/ATi/whatever excessively restrictive GPU communications "tool"] would be awesome, from my eyes as a game coder.
    but alas, instead of going for the cheap, easy and developer friendly path, nVidia and ATi choose to overcomplicate their chips, adding useless things such as umpteen ways to filter textures, ways to split pipelines for Z/stencil operations, etc. all adding to latency, silicon size, heat output and R&D costs, when the same could be done on software for much cheaper.