Slashdot Mirror


Transcoding in 1/5 the Time with Help from the GPU

mikemuch writes "ExtremeTech's Jason Cross got a lead about a technology ATI is developing called Avivo Transcode that will use ATI graphics cards to cut down the time it takes to transcode video by a factor of five. It's part of the general-purpose computation on GPU movement. The Aviva Transcode software can only work with ATI's latest 1000-series GPUs, and the company is working on profiles that will allow, for example, transcoding DVDs for Sony's PSP."

221 comments

  1. great... by know1 · · Score: 0, Insightful

    Added power to the user, just as those wacky halloween shenanigans occur to cripple hardware such as this to only pipe a tune when it's paid

  2. This would be great for MythTV.. Linux support?? by tji · · Score: 4, Insightful


    My educated guess is, No, there won't be Linux support..

    ATI was the leader in MPEG2 acceleration, enabling iDCT+MC offload to their video processor almost 10 years ago. How'd that go in terms of Linux support, you ask? Well, we're still waiting for that to be enabled in Linux.

    Nvidia and S3/VIA/Unichrome have drivers that support XvMC, but ATI is notably absent from the game they created. So, I won't hold my breath on Linux support for this very cool feature.

  3. Re:Transcode? by Anonymous Coward · · Score: 0

    I want transgendering!

    You don't have to fly to Sweeden anymore for that.

  4. Slashdotted! by Anonymous Coward · · Score: 4, Funny

    I wonder if http://www.gpgpu.org/ could offload some of the Slashdot effect to their GPU?

    1. Re:Slashdotted! by mikael · · Score: 1

      I heard there's a startup who have just announced a slashdot coprocessor board - it automatically searches for and downloads slashdot articles you might be interested in reading - unfortunately, it never stops and completely hogs your bandwidth connection, even with a 1 Terabit connection.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    2. Re:Slashdotted! by bprime · · Score: 1

      I don't know - better link to it again though, just to be safe!

  5. What I want to see. by Anonymous Coward · · Score: 5, Interesting

    Maybe others have had this idea. Maybe it's too expensive or just not practical. Imagine using PCI cards with a handful of FPGAs on board to provide reconfigurable heavy number crunching abilities to specific applications. Processes designed to use them will use one or more FPGAs if they are available, else they'll fall back to using the main CPU in "software mode."

    1. Re:What I want to see. by Enigma_Man · · Score: 1

      That's a really cool idea. I've had ideas that were along that line, but never quite made it through the thought process to what you are suggesting. It's like having an external floating-point processor, but extremely general-purpose and reconfigurable. That'd be a great component to have on one of the new PCI-Express boards, those have tons of available bandwidth that you could use up if what you were processing required lots of I/O, even on the 1x slots.

      -Jesse

      --
      Nothing says "unprofessional job" like wrinkles in your duct tape.
    2. Re:What I want to see. by roguewraith · · Score: 1

      The Ohio Supercomputer center is working on promotting FPGA applications. http://www.openfpga.org/

    3. Re:What I want to see. by Anonymous Coward · · Score: 0
      Imagine using PCI cards with a handful of FPGAs on board to provide reconfigurable heavy number crunching abilities to specific applications


      So, what you're effectively saying is: "imagine a beowulf cluster of these!" ?
    4. Re:What I want to see. by non0score · · Score: 1

      IIRC, I think this "reconfigurable processing element" idea was pointed out on AMD's roadmap for something "in the future." Check Anand's recent AMD roadmap article for more information.

    5. Re:What I want to see. by Anonymous Coward · · Score: 0

      pro audio shops do this to offload certain effects and such to dsp cards. check out digidesigns.com or mackie.com. been doing it for awhile. i'm sure it just takes software support.

    6. Re:What I want to see. by NixLuver · · Score: 1

      I would just point out that the GPU maths are usually limited precision, so they would lend little assistance for many high precision functions...

    7. Re:What I want to see. by Anonymous Coward · · Score: 0

      These things already exist. You can buy PCI plug-in modules from Nallatech (http://www.nallatech.com/). Complete systems are also available from SGI (http://www.sgi.com/company_info/newsroom/press_re leases/2005/september/rasc.html).

      From what I understand, it is still very hard to program these things, but software techonology is starting to catch up. SGI has a version of GDB which is FPGA aware.

    8. Re:What I want to see. by hrieke · · Score: 1

      Well there was that joke about the SETI processing card [ 1 ] [ http://web.archive.org/web/20010413215232/http://w ww.krasnoconv.com/index.html [fn1] ], and now there is a company building the general purpose Physics card for games (I wonder what else it would work on?), so taking this to the next step, by having a card filled with FPGAs or the like isn't all that new of an idea.
      Seeing someone make some money off of it would be.
      [fn1] - Bug in the HTML Format posting ablility- /. doesn't like two http:/// in the herf=URL. Oh well...

      --
      III.IIVIVIXIIVIVIIIVVIIIIXVIIIXIIIIIIIIVIIIIVVIIIV IIVIIIIIIVIII...
    9. Re:What I want to see. by Moses_Gunn · · Score: 1

      Some Cray supercomputers have this ability today...and I think they are running Linux, too. :)

    10. Re:What I want to see. by Anonymous Coward · · Score: 0
    11. Re:What I want to see. by networkBoy · · Score: 1

      This already exists.
      One such company is Cyclone Microsystems. They offer i960 coprocessor based systems.
      I don't remember the other vendor I looked at but they offered a xylinx FPGA solution or a TI DSP solution.
      -nB

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    12. Re:What I want to see. by Surt · · Score: 1

      I think there are a couple of issues preventing this:

      1) What does the API for this look like from the application perspective?
      2) Top of the line (read: pricey) FPGAs are mostly in the 500mhz range right now, which is in the same range as a GPU. So unless a GPU doesn't solve the problem, why would you need this? GPUs have a design that solves #1.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    13. Re:What I want to see. by mcowger · · Score: 1

      Ding!

      http://www.tarari.com/products-cp.html

      They were in Startup Alley a few years ago at N+I demoing their cards doing Perl regex's and spam checking.

    14. Re:What I want to see. by lemaymd · · Score: 1

      As pointed out by someone else in this thread, Cray Canada makes the XD1 Opteron cluster (http://www.cray.com/products/xd1/index.html) with FPGAs built in. Might cost a little more than a PCIe card though. :-) They can even be programmed in C now, rather than a full-blown hardware design language like Verilog, since Cray bundles a special C-to-FPGA compiler.

      I also went to demo of the SRC6 (SRC = Seymour Roger Cray, Cray's last spinoff in Colorado that has never quite taken off) here at the U of I in Urbana-Champaign. It appears to have similar capabilities and is quite neat, but is a smaller system. (http://www.srccomp.com/HardwareElements.htm) Somebody who knows more about these machines could probably point out more differences...

    15. Re:What I want to see. by Anonymous Coward · · Score: 0

      Take a look at things like www.varisys.co.uk, you can get a PowerPC processor on a PCI card. We used them in my last company for performing the heavy grunt work of multiple channels of 'real-time' speech recognition.

    16. Re:What I want to see. by CoderJoe · · Score: 1

      Short Circuit, is that you?

    17. Re:What I want to see. by Ilgaz · · Score: 1

      There is a card for you but will not help if you aren't a scientist.

      http://www.clearspeed.com/

      Folding@home (Stanford) is internally testing it. That thing is damn fast. We are speaking about 25 GFlops (sustained) speed here.

    18. Re:What I want to see. by amigabill · · Score: 1

      > Imagine using PCI cards with a handful of FPGAs on board to provide...

      I thought of something like that some years ago, a project that would have provided a hardware codec system for the old Amiga computers. Since their 68K CPUs topped out at 66MHz when overclocked, the things barely play back mp3s at full quality, and mpeg video quickly gets unpleasant, while mpeg4/divx is unwatchable. Those with PPC upgrades had it a little better, but I never had one at the time, and even today those rare cards sell for over US$700 if you can find one at all.Ick! An FPGA on a card would have been way cheaper.

      A reconfigurable FPGA would let you swap in and out various audio or video codecs as needed, could act as an encrypt.decruption accelerator for something like dnetc client, protein folding accelerator, seti, or any number of other things. Alas, laziness won out, and now I have a PC that handles the things I wanted to do well enough in software on CPU.

    19. Re:What I want to see. by Anonymous Coward · · Score: 0

      Not Short Circuit, just a computers/electronics enthusiast.

      Who's Short Circuit anyway? Sounds like a character off Reboot or something.

    20. Re:What I want to see. by TooMuchToDo · · Score: 2, Informative

      I use to play with this idea 4-5 years ago. A small team was going to look into building FPGA PCI boards that could be used with http://www.distributed.net/ to help crack DES/RC5/*insert-your-choice-encryption-here*.

    21. Re:What I want to see. by Fjornir · · Score: 1

      They've taken it a bit further, that's for sure. It now plugs in with both Apache and IIS to offload compression of returned pages. Last demo I saw didn't show it but they maintained it could also virus scan mail on a mailserver.

      --
      I want a new world. I think this one is broken.
    22. Re:What I want to see. by rew · · Score: 1

      We have the Altera Stratix development kit. It's a PCI card with a Stratix on it among lots of other goodies. Leave off the goodies, and you're in business, right? Well, there is the issue of cost. The stratix we have costs around $600, clean. i.e. no board, no peripherals. That is one expensive chip. The computing power you can get from a $600 CPU is quite a lot higher than what you get from the stratix.

      Of course, there are a bunch of things that the Stratix is good at.

  6. Re:This would be great for MythTV.. Linux support? by ZephyrXero · · Score: 1

    Hasn't nVidia been talking about using the GPU for video acceleration since the GeForce 5 came out? I don't understand why this isn't already available...

    --
    "A truly wise man realizes he knows nothing."
  7. I'm rarely impressed... by HotNeedleOfInquiry · · Score: 2, Insightful

    With tech stuff these days, but this is awesome. A very clever use of technology just sitting in your computer and a huge timesaver. Anyone that does any transcoding will have immediate justification for laying out bucks for a premium video card.

    --
    "Eve of Destruction", it's not just for old hippies anymore...
    1. Re:I'm rarely impressed... by drinkypoo · · Score: 4, Interesting

      I'd like to see it but I wonder what the quality is going to be like as compared to the best current encoders. I mean you can already see a big difference between cinema craft and j. random mpeg2 encoder...

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    2. Re:I'm rarely impressed... by poj · · Score: 1

      A very clever use indeed.
      If you have hardware that does certain kinds of calculations much more effcient way than a general purpose processor, why not use it?
      From an engineering standpoint it's the right thing to do. A GPU is a specialized processor when it comes to certain mathematical operations. If you specialize you can be very good at what you do.

    3. Re:I'm rarely impressed... by BarryNorton · · Score: 1
      Anyone that does any transcoding will have immediate justification for laying out bucks for a premium video card
      Hardly - I do a lot, but I wouldn't pay three hundred quid for this even though it is impressive...
    4. Re:I'm rarely impressed... by Dr.+Spork · · Score: 3, Informative

      You don't get it. ATI is not releasing a new encoder. The test used standard codecs, which do the very same work when assisted by the GPU, only 5X faster.

    5. Re:I'm rarely impressed... by Anonymous Coward · · Score: 0

      That kinda misses the point. This is about going from mpeg2 -> mpeg4 etc. Not about ultimate mpeg2 quality. People still go DVD9 to DVD-R but more and more its a dvd9/dv cam to mpeg4 H.264 world. Its quite possible that the mpeg2 profile it uses isn't as good as cce but A) it can be improved and B) for 1/5 the time does it matter?

      Now of course there is the little matter of audio being ignored. *cough*. But still if these features are part of every gpu being sold in 1 year or so then it will be a real boon for transcoding.

    6. Re:I'm rarely impressed... by drinkypoo · · Score: 1

      A) it can be improved and B) for 1/5 the time does it matter?

      A) Then improve it! Quality is everything. B) Of course it matters! unless we're talking about sending someone a video email or something, and then we're probably not talking MPEG[24] but more like H.263. Granted you do make that point, but since the target is much lower-resolution this is actually less important in that area. This is more significant when people are transcoding their MiniDV-source video to MPEG2 so they can put their home movies on DVDs and snailmail them to their family members. To do that with any decent quality requires multiple pass encoding and still takes ages.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    7. Re:I'm rarely impressed... by aflippman · · Score: 1

      Based on the article, the quality of encodes is likely to be poor - it sounds like they left out some important parts of the encode process like B frames and decent re-sizing. Leaving out things like B frames (I think they also mentioned leaving out 1/4 pixel motion estimation) will hurt bit efficiency. Using cheap resizing will also somewhat hurt bit eficiency (by turning smooth features into jagged ones, that then need more bits on a frame by frame basis to encode), but will also just introduce artifacts that look bad. Also, it sounded like the output size was determined in part by the encode profile - and one of the fastest ways of speeding up encode is to do a quick (read as not very high quality) resize of the original to a smaller frame size and then encode. So - hard to tell if the 5x is even slightly an apples to apples comparison! BUT - If the quality isn't too bad, the plus of this card might eventually be to allow the use of multiple cards withing a single box to allow N simultaneous encodings to occur.

    8. Re:I'm rarely impressed... by benwaggoner · · Score: 1

      Honestly, I think CinemaCraft is a little overrated. Nothing wrong with it, but I generally get better results out of both Compressor 2 and ProCoder/Carbon. And yes, this is backed up by double-blind third party quality review - I've got an article about this coming out in DV Magazine in a few weeks.

    9. Re:I'm rarely impressed... by CyricZ · · Score: 1

      What sort of transcoding do you do, Professor Norton?

      --
      Cyric Zndovzny at your service.
  8. Re:404 file not found by Anonymous Coward · · Score: 0

    We need more info for the bug report. Did you go for a #1 or a #2?

  9. Re:This would be great for MythTV.. Linux support? by ceoyoyo · · Score: 5, Interesting

    This should be written in Shader Language (or whatever it's called these days) which is portable between cards. There's no reason NOT to release this on any platform. Since it only runs on the latest ATI cards it probably uses some feature that nVidia will have in it's next batch of cards as well. If ATI doesn't release it for Linux and the Mac hopefully it won't be that difficult to duplicate their efforts. After all, shader programs are uploaded to the video driver as plain text.... ;)

  10. But is it worth it? by Anonymous Coward · · Score: 3, Interesting

    the X1800XT ties almost exactly with the 7800GTX @ stock of 430 core in most gaming benchmarks.

    with nVIDIA's 512mb implementation of the G70 core touted to be at 550mhz core, it should theoretically thrash the living daylights out of the X1800XT.

    http://theinquirer.net/?article=27400

    the decision is between aVIVO's encode and transcode abilities for h.264, or superior performance by nVIDIAs offering?

    1. Re:But is it worth it? by Dr.+Spork · · Score: 2, Insightful
      Well, if you can see the difference between 150fps and 200fps, and you don't waiting and don't care about spending an extra $200, you really should wait for the G70.

      I don't play the sort of games that need a graphics card over $200 to look good. I never even considered looking at the high end. However, this video encoding improvement will certainly make me do a double take. I was proud of my little CPU overclock that improves my encoding rate by 20%. But the article talks about improvements of over 500%! That's worth a couple of extra bucks.

      Of course, by the time the software to do this actually becomes full-featured and useful, the price of the 1800 ATIs will hopefully drop a bit. Still, I have a feeling this will be my next GPU.

      Unless nVidia can produce something equally impressive, of course!

    2. Re:But is it worth it? by nine-times · · Score: 2, Insightful

      Well, I'm assuming that the hope is that support for encoding/decoding h264 will be put into hardware going forward (meaning it will find its way into low-end cards as well). I know encoding h264 is the longest, most processor intensive task I do with a computer these days, and a hardware solution that would drop any time off that task would be appreciated.

    3. Re:But is it worth it? by centipetalforce · · Score: 1

      I think if you are a video professional (like me) and you've seen how obsenely slow rendering h.264 can be (which is an amazing codec) and you spend half your time waiting for rendering, than I think the answer is a profound YES it is worth it (if it works).

    4. Re:But is it worth it? by teko_teko · · Score: 1

      What's weird is Radeon X1800 beats GF7800 in Quake 4 according to this benchmark though X1800 still loses to GF 7800 in other games. So, surprisingly ATI is doing better (than nVidia) in OpenGL in the X1000 series?

      Regarding the Avivo, according to this article: ATI's Avivo vs. NVIDIA's PureVideo: De-Interlacing Quality Compared, Avivo is still behind nVidia's PureVideo in terms of de-interlacing quality.

      An in-depth article on Avivo for those who might be interested: http://www.beyond3d.com/previews/ati/avivo/

    5. Re:But is it worth it? by xgamer04 · · Score: 1

      Yeah, I'm also having a hard time deciding whether to buy a freight train or a convertible. They can both do similar things (transport stuff), so I should consider them both and compare them directly, right?

      --
      When you look at the state of the world, how can you not become a radical, liberal anarchist?
  11. Re:Transcode? by Anonymous Coward · · Score: 0

    Why? Do you want to date yourself?

  12. Crippled? by bigberk · · Score: 4, Funny

    But will the outputs have to be certified by Hollywood or the media industry? You know, because the only reason for processing audio or video is to steal profits from Sony, BMG, Warner, ... and renegade hacker tactics like A/D conversion should be legislated back to the hell they came from

    1. Re:Crippled? by ZachPruckowski · · Score: 1

      Why bother? If we force ATI and the other card creators to simply give themselves over to the MPAA companies, we're guaranteed that they'll never make something that can break the rules. For that matter, why don't we just let the MPAA run anything related to video, and the RIAA run anything related to audio? It'd be the perfect solution. We wouldn't have to worry about this kind of stuff, because we know they have our best interests at heart, and aren't remotely corrupt or greedy...

  13. Re:This would be great for MythTV.. Linux support? by ratboy666 · · Score: 2, Informative

    GPU Stream programming can be done with Brook http://graphics.stanford.edu/projects/brookgpu/. Brook supports the nVidia series, so that is what you purchase.

    Pick up a 5200FX card (for SVIDEO/DVI output) and then use the GPU to do audio and video transcode. I have been thinking about audio (MP3) transcode as a first "trial" application.

    "Heftier" GPUs may be used to assist in video transcode -- but it strikes me that the choice of stream programming system is most important (to allow code to move to other GPUs, driver permitting). I think that nVidia also supports developers using the GPU (there are comments and test results generated by nVidia available on the 'web). So far, not much from ATI, so I think nVidia gets the nod...

    Ratboy.

    --
    Just another "Cubible(sic) Joe" 2 17 3061
  14. Re:Transcode? by LilGuy · · Score: 0, Offtopic

    I wouldn't date myself if I were the last person on Earth.

    --

    You're nothing; like me.
  15. Already available.. by LWATCDR · · Score: 2, Insightful

    I have seen a combo FPGA/PPC chip for embedded applications. The issue I see with this is how long would it be useful? FPGAs are slower then ASICs. Something like the Cell or a GPU will probably be faster than an FPGA. There are a few companies looking at "reconfigurable" computers. So far I have heard about any products from them yet.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    1. Re:Already available.. by Anonymous Coward · · Score: 1, Interesting

      Yeah, FPGAs are indeed slower than ASICs. How long would it be useful? I was imagining if it ever got popular (like in every gamer's computer) they'd be upgradeable like video cards and CPUs where every year the technology gets better and frequencies go up.

      I got the idea when I saw the work done on the saarcor hardware realtime raytracing architecture. They tested their work using FPGAs.

    2. Re:Already available.. by tomstdenis · · Score: 3, Interesting

      FPGAs aren't always slower than what you can do in silicon. AES [sorry I have a crypto background] takes 1 cycle per round in most designs. You can probably clock it around 30-40Mhz if your interface isn't too stupid. AES on a PPC probably takes the same time as a MIPs which is about 1000-1200 cycles.

      Your clock advantage is about 10x [say] that is typical 400Mhz PPC vs. 40Mhz FPGA ... so that 1000 cycles is 100 FPGA cycles. But an AES block takes 11 FPGA cycles [plus load/unload time] so say about 16 cycles. Discounting bus activity [which would affect your software AES anyways] you're still ahead by ~80 FPGA cycles [800 PPC cycles].

      Though the more common use for an FPGA aside from co-processing is just to make a flexible interface to hardware. E.g. want something to drive your USB, LCD and other periphs without paying to go to ASIC? Drop an FPGA in the thing. I assure you controlling a USB or LCD device is much more efficient in an FPGA than in software on a PPC.

      Tom

      --
      Someday, I'll have a real sig.
    3. Re:Already available.. by anonymous22 · · Score: 0

      Somebody mod the parent informative please.

      --
      Anyone who runs is V.C. Anyone who stands still is well-disciplined V.C.
      Door Gunner, Full Metal Jacket
    4. Re:Already available.. by ZorinLynx · · Score: 1

      >Florida Power and lights SUCKS 8 days without power and counting!

      No, they rule. I saw them working in heavy rain to get my feeder back on. It came back later that night. They could have easily postponed the job until the next day, but they did it.

      They have a lot of work on their plate; relax, they'll get to you.

      -Z

    5. Re:Already available.. by Breakfast+Pants · · Score: 1

      >They suck, they didn't fix my situation
       
      No, no, no, they rock they fixed my situation.
       
      Charles L. Stevenson would be proud.

      --

      --

      WHO ATE MY BREAKFAST PANTS?
    6. Re:Already available.. by forkazoo · · Score: 2, Informative

      Ummm... Comparing a general purpose CPU to an FPGA is a bit odd. The grand-parent post was talking about ASIC's vs. FPGA's. An ASIC can impliment exactly the same structure as an FPGA, so it can work just as efficiently, but an ASIC can be made to clock higher than an FPGA. Somebody mod the parent post "non-sequitor."

    7. Re:Already available.. by njyoder · · Score: 1, Flamebait

      You can probably clock it around 30-40Mhz if your interface isn't too stupid. AES on a PPC probably takes the same time as a MIPs which is about 1000-1200 cycles.

      I was considering just modding this down, but other ignorant people would probably waste mod points modding it back up, so I thought I'd reply instead. It's fine that you're an amateur cryptographer, but that is a completely different field than computer engineering and doesn't qualify you to make statements about it. I have no doubt your figures were pulled out of your ass and come from complete ignorance of computer architecture.

      That said, you actually demonstrated your ignorance right away by showing that a) you don't know what FPGAs actually are and b) you don't know what ASICs are. Apparently, according to you, FPGAs aren't made from silicon, they're made from fluffy bunny pixie dust (or some other substance, you never specified). Also, you apparently don't realize that ASIC stands for Application Specific Integrated Circuit, meaning a chip designed for a specific purpose.

      A PPC is very much the antithesis of an ASIC. Now, I suppose it's understandable that an expert in the field might get confused about an ASIC and classify something which is the exact opposite of it as one, so I guess I can excuse that.

      E.g. want something to drive your USB, LCD and other periphs without paying to go to ASIC? Drop an FPGA in the thing. I assure you controlling a USB or LCD device is much more efficient in an FPGA than in software on a PPC.

      Ignoring the fact that a PPC is not an ASIC, there are plenty of microcontrollers and various ASICs with built in features that make this easy which are cheaper than FPGAs. Now, if you were familiar with computer engineering (which you aren't--you're talking out of your ass), you'd know that. Hell, if you had even bothered looking at the development hardware for FPGAs you'd know that. FPGAs have their purposes, but your broad sweeping generalizations about them simply aren't accurate, especially when you're suggesting paying up the ass when there are much cheaper alternatives, in ASIC and other forms.

    8. Re:Already available.. by OpenGLFan · · Score: 1

      There's another problem with general-purpose FPGAs.
      (order of magnitude comparison only):
      Athlon 64 4000 (from pricewatch): $330
      Xilinx 2.4Million gate design (from digikey): $2100-$5000.

      The computing world would look a lot different if there were good $100 high-speed, high-capacity FPGAs. Now, I wouldn't argue with a good ASIC or highspeed DSP implementation for some algorithms...

    9. Re:Already available.. by thebdj · · Score: 1

      Wait, are you telling me I am not the only Computer Engineer (well actually, Electrical and Computer Engineer, complain to Ohio State) on here? But I am glad to see that some people around here know what an FPGA and ASIC are and that I am not alone. Btw, you know anybody hiring someone to do some ASIC design work or anything else that might take advantage of my VLSI and digital design course work from college...

      --
      "Some days you just can't get rid of a bomb."
    10. Re:Already available.. by tomstdenis · · Score: 2, Insightful

      It's fine that you're an amateur cryptographer, but that is a completely different field than computer engineering

      Which is interesting because I'm the author of some widely deploy cryptographic software, I worked at a IP design company [for cryptographic cores]. I'd say I'm no longer an amateur when I make enough money to live on my own.

      Apparently, according to you, FPGAs aren't made from silicon, they're made from fluffy bunny pixie dust

      There is a strong price difference from PCB design and tapeout. If you're making less than a million devices or so it's cheaper to just use an FPGA because the tapeout alone will cost you millions.

      "going to silicon" is a common expression which means to tapeout a design in real hardware. Sure FPGAs are "real silicon" but there is a big difference between using an FPGA and an ASIC in a fielded design.

      Your last paragraph is about as far from the truth as can get. The last design I know of where the CPU controlled the peripherals was the Atari 2600. Even the gameboy had dedicated LCD controllers.

      You're right I'm not an EE. I never claimed to be. Though what I speak of is from my experience working alongside these folk [as well as I have quite a few friends who design FPGAs for a living].

      In otherwords you're trying to look all cutsie by trying to make me look stupid but really you haven't the first foggiest clue what you are talking about.

      Tom

      --
      Someday, I'll have a real sig.
    11. Re:Already available.. by tomstdenis · · Score: 1

      You don't need a 2.4Mgate FPGA to host an AES core, or USB controller, or ...

      2.4Mgates can be quite a bit [depending on the measure of "gates"]. The typical AES-CCM core in Virtex gates is ~30k or so.

      Tom

      --
      Someday, I'll have a real sig.
    12. Re:Already available.. by photon317 · · Score: 1


      The original post never mentioned ASICs that I saw. But in any case ASIC vs FPGA isn't all that relevant to the article, whereas FPGA vs Generic CPU is very relevant (and isn't at all odd). As the post you replied to said, if you do the math and it appears you can offload an operation you would normally do on your general purpose CPU to an FPGA and get the results back sooner than you could have calculated it on the CPU, it's a win (hell even if the net times are identical, you've freed up some general purpose cpu idle time for other things).

      The idea of sticking one or more FPGAs into a machine via an I/O bus certainly has merit. I think the main issue is that we don't have compiler toolchains, libraries, and kernels ready to take advantage of it in an intelligent way. The biggest problem is that the FPGA computations need to be able to fallback to the general purpose CPU, which has an entirely different instruction set. A method that might be used, for example, would be to wrap things up such that in the application source code you have two functions with identical call signatures and supposedly identical behavior - one is for the cpu, the other is for fpga offloading. Then the runtime linker and the kernel can work magic together and schedule applications any time they need on the FPGAs and dynamically cause an application to fallback to its cpu code as well.

      --
      11*43+456^2
    13. Re:Already available.. by LWATCDR · · Score: 1

      I agree the work crews rock.
      The people in charge suck! Most homes and even mobile homes came through the storm just fine. My phone line never went down. 98% of my county lost power. The people in charge SUCK!

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    14. Re:Already available.. by CoderJoe · · Score: 1

      Your last paragraph is about as far from the truth as can get. The last design I know of where the CPU controlled the peripherals was the Atari 2600. Even the gameboy had dedicated LCD controllers.

      His last paragraph never SAID "CPU controls the peripherals" in any sense. Let's revisit his last paragraph, shall we?

      Ignoring the fact that a PPC is not an ASIC, there are plenty of microcontrollers and various ASICs with built in features that make this easy which are cheaper than FPGAs. Now, if you were familiar with computer engineering (which you aren't--you're talking out of your ass), you'd know that. Hell, if you had even bothered looking at the development hardware for FPGAs you'd know that. FPGAs have their purposes, but your broad sweeping generalizations about them simply aren't accurate, especially when you're suggesting paying up the ass when there are much cheaper alternatives, in ASIC and other forms.

      What he is saying there is that there are already ASICs for doing all kinds of hardware interface stuff, like combined microcontroller/USB ASICs, meant for making all kinds of different USB devices. Or PCI bus interface ASICs. Why bother duplicating the complexity of these things in an FPGA when you can buy an existing product that does the thing you need and drop it in your circuit design?

    15. Re:Already available.. by Jerry+Coffin · · Score: 2, Informative
      There's another problem with general-purpose FPGAs. (order of magnitude comparison only): Athlon 64 4000 (from pricewatch): $330 Xilinx 2.4Million gate design (from digikey): $2100-$5000.

      You haven't specified which FPGAs you're talking about, but at those prices, you should be getting more like 6 million gates or so (e.g. an XC2V6000 goes for about $4000). Perhaps you're looking at something like a Virtex-4 FX? If so, you should be aware that what you're looking at not only includes FPGA gates, but also includes a PowerPC core (or perhaps 2) as well.

      The computing world would look a lot different if there were good $100 high-speed, high-capacity FPGAs. Now, I wouldn't argue with a good ASIC or highspeed DSP implementation for some algorithms...

      It depends a bit on what you mean by high capacity and high speed. At around $100US, you can get a 1.5 million gate Spartan 3, or a somewhat smaller Virtex (which will generally run a bit faster).

      These obviously aren't the biggest or fastest FPGAs available, but for the right kind of job, they'll still blow away a general purpose CPU pretty easily.

      As far as ASICs vs. FPGAs goes, it's really not a contest: ASICs are fast, but have specific purposes. FPGAs are slower, but can be programmed. Given the idea originally stated in this thread, ASICs simply don't seem (to me) like contenders at all.

      --
      The universe is a figment of its own imagination.

      --
      The universe is a figment of its own imagination.
    16. Re:Already available.. by Anonymous Coward · · Score: 0

      Compare the cost of manufacturing a handful of Athlon 64 4000 vs just 1 FPGA and you quickly realize why production hardware has to sell in the millions of units before you can justify switching from FPGA to Athlon 64.

    17. Re:Already available.. by njyoder · · Score: 1

      I'm the author of some widely deploy cryptographic software ...and that would be? Furthermore, how is that even relevent to the point? It's interesting, in your response you realized that you were completely wrong, so now you're going off on a tangent about irrelevent work experience. Just so you know, writing software that uses cryptography doesn't make you a cryptographer. A cryptographer designs cryptography, the implementation side is something PROGRAMMERS or CE/EEs do. So even if you were working for a fortune 100 company, if you were just implementing well known cryptographic protocols/algorithms (read:ones you didn't design), it really wouldn't make you a "professional cryptographer" in any reasonable sense of the term.

      If you're making less than a million devices or so it's cheaper to just use an FPGA because the tapeout alone will cost you millions.

      Less than a million devices of WHAT? That what is pretty important. One would think you'd take into account what they were creating as part of the R&D costs, but since we're using retard-math here, I guess not. One might also take into account R&D costs on previous versions, because you don't just start from scratch each time either, but I guess not. Now this is all ignoring the fact that everything down to gate level design is going to be the same, so those costs are going to be the same.

      You know, there already are cryptography ASICs in use (and have been in use for many years), strangely FPGAs haven't and won't ever replace them. Obviously your retard-math is off, because the real world sales of the products don't reflect what you're saying. If the FPGAs are so great for cryptography, why are their sales ABYSMAL by comparison? THere are plenty of "open cores" for cryptography, so that can't be it. Obviously, it's hardware costs.

      The last design I know of where the CPU controlled the peripherals was the Atari 2600. Even the gameboy had dedicated LCD controllers.

      WTF? Do you STILL not know what ASIC means? I already explained it to you. As the other poster explained, I was never referring to a general purpose CPU. "CPU controled" would be the opposite. Do you understand OPPOSITE?! Jesus. It's like speaking to a brick wall here. A general purpose cpu is designed to be a general purpose CPU, not to control an LCD, therefore it is not "application specific" to LCDs. Duh, dumbfuck.

      That said, low-mid end LCDs are often bundled with controllers. Some are made using microcontrollers and others using ASICs, NONE using FPGAs. I have yet to see a single one made using an FPGA. And as I said, you can get cheapo usb ASICs and microcontrolers with built-in USB support for ultra-cheap now, a FPGA would be a waste of money. How do I know this? Because I've worked with this stuff. You haven't. Stop being an idiot and talking about things you haven't worked with.

      Though what I speak of is from my experience working alongside these folk [as well as I have quite a few friends who design FPGAs for a living].

      So is everything here quoting from them? Because if it isn't, then you are speaking out of an area of expertise you don't have. I've programmed LCD displays, I've programmed FPGAs, what have YOU done? I actually am an electrical engineer. Maybe it's time you admit that you're wrong.

      In otherwords you're trying to look all cutsie by trying to make me look stupid but really you haven't the first foggiest clue what you are talking about.

      This coming from a guy who didn't know what an ASIC was?! Even in your reply you still didn't know what it was, you thought an atari general purpose cpu would qualify as an ASIC. It's the OPPOSITE. You even thought FPGAs are suitable LCD controllers, when all of them use either micotronollers and/or ASICs (btw--there are standard LCD interfaces--which equates to fairly standard LCD controllers). Cryptography boards, as used by servers, have been in used for many years--guess what they use--ASICs! PCI FPGA boards have been around years too, but they're never used for that purpose, why do you think that is? The reality of the situation doesn't reflect what you say in thes slightest.

    18. Re:Already available.. by tomstdenis · · Score: 1

      Your first paragraph shows your complete lack of understanding.

      First off ... I DO develop algorithms and perform research.

      Second ... There is more to a secure cryptosystem than just "coding". Cryptographers are responsible to glue the entire system together.

      By your logic a bridge engineer must develop new design concepts before he's an engineer. Otherwise he's a lowly construction grunt. I'd like to think the person who designs a bridge to withstand nature, loads, etc is more than a tool swinging grunt.

      Third ... There is more to developing than just "coding". You have to know what algorithms to use and when/why. You have to be able to work with them with the utmost flexibility [e.g. you don't always get ideal situations, etc].

      As to the whole FPGA vs. ASIC vs. whatever.

      I may have mispoken but I know of designs that use FPGAs in fielded products, for example this is one. In things like gameboys and what not they use ASICs but they also produce MILLIONS of gameboys.

      In short runs it's actually cheaper to plug in a small FPGA then get real ASICs made. If you think otherwise it's because you're a fucking moron and you have no clue whatsoever.

      Tom

      --
      Someday, I'll have a real sig.
    19. Re:Already available.. by forkazoo · · Score: 2, Informative
      Photon317 writes:
      The original post never mentioned ASICs that I saw.

      Ummm... Okay, here is a quote from the original post again... by LWATCDR:
      I have seen a combo FPGA/PPC chip for embedded applications. The issue I see with this is how long would it be useful? FPGAs are slower then ASICs.

      And then a quote from tomstdenis:
      FPGAs aren't always slower than what you can do in silicon.

      tom then goes on to talk about PPC versus FPGA's, as if LWATCDR weren't talking about ASICs. Since this conversation now ivolves so many people, I hope I've quoted clearly enough. Anyhow, the explanation that an FPGA can be faster than a general purpose CPU was correct, but a complete non-sequitor from LWATCDR's point that ASICs are faster than FPGA.

      I do agree that the basic question of general-purpose CPU vs. other is relevant to the article. I couldn't quite bring myself to claim he was off-topic, just non-sequitor. Now, to get to something interesting you said, rather than just picking nits about who said what...
      photon37:
      The idea of sticking one or more FPGAs into a machine via an I/O bus certainly has merit. I think the main issue is that we don't have compiler toolchains, libraries, and kernels ready to take advantage of it in an intelligent way. The biggest problem is that the FPGA computations need to be able to fallback to the general purpose CPU, which has an entirely different instruction set. A method that might be used, for example, would be to wrap things up such that in the application source code you have two functions with identical call signatures and supposedly identical behavior - one is for the cpu, the other is for fpga offloading. Then the runtime linker and the kernel can work magic together and schedule applications any time they need on the FPGAs and dynamically cause an application to fallback to its cpu code as well.

      I like the basic idea, but I'm not so sure how well dynamically sharing a function between an FPGA and a CPU would work in practice. In theory, it would be like a thread migrating from one normal CPU to another.

      Since FPGAs have significant latency when they are reconfigured, I have to think that you wouldn't really want the kernel to be dynamically deciding which app gets FPGA time, and which gets CPU time. I think a better interface would be that the programmer has to manually write an optimisation for an FPGA. This eliminates the need to have automatically generated matching functions in hardware and software. The programmer can decide that the specific functions X, Y, and Z should be able to run on an FPGA if it is available. Whether the FPGA programming code comes from a C compiler or from hand coded FPGA specific stuff doesn't matter. There should be some standard interchange format for the FPGA data. gcc should be able to take some C code an output FPGA intermediate programming data from it.

      Then, at run time, an app can do something like:
      register_fpga(num_gates_needed, programming_data, function_name);

      with a matching "unregister_fpga(function_name)"

      These two functions would act sort of like a malloc and free for the FPGA, so the kernel could choose to assign any given function to any of the 0 or more FPGA's in the system. Many applications could each allocate chunks of the FPGA(s). The application itself just needs to call the function by a function pointer, so it can use the hardware or software version by swapping the value of the pointer. (Just like we do now with code bases that have optimised versions of functions for various SIMD variants)

      calc_foo = soft_calc_foo; // or calc_foo = fpga_calc_foo, or sse_calc_foo, or altivec_calc_foo

      With each app only registering the functions that it knows will most benefit from optimisation, there will be more room on the FPGA hardware for other apps...
    20. Re:Already available.. by njyoder · · Score: 1

      First off ... I DO develop algorithms and perform research.

      The issue was professional research. No one cares about your non-notable amateur research.

      There is more to a secure cryptosystem than just "coding". Cryptographers are responsible to glue the entire system together.

      Yeah, they do that using things called standards, standards which you took no part in developing.

      By your logic a bridge engineer must develop new design concepts before he's an engineer. Otherwise he's a lowly construction grunt.

      No, that's nothing like what I said. With regard to the ASIC comments, you've already demonstrated that you have trouble following what people are saying. What you're doing is akin to reimplementing the same bridge design in a slightly different location, if you must use that horrid analogy. You're implementing pre-existing existing standards which have been implemented a million times over.

      And no, I'm not just referring to the lowest level algorithms, I am well aware of the design of higher level cryptographic standards and protocols. You might as well suggest that you're a web protocol designer because you implemented a standards compliant http/1.1 server. Let me guess, you implemented some PKCS crap and now you want some pats on the back for being a "professional cryptographer"?

      . You have to know what algorithms to use and when/why. You have to be able to work with them with the utmost flexibility [e.g. you don't always get ideal situations, etc].

      It sounds to me like you were TOLD what algorithms to implement, and you didn't really have any control over when they were used. Designing regression tests doesn't involve much of knowing when to use them and why.

      I may have mispoken

      Good to see that you can admit when you're wrong, sort of.

      but I know of designs that use FPGAs in fielded products, for example this is one.

      Congratulations, you found one really obscure product which will more than likely flop. It's not even an end-user product really, it's just a geek toy designed to be appealing because you can reprogram it, not because it's PRAGMATIC. I will defer back to the non-obscure cryptography hardware and tons of other ASIC hardware that's been in use for years.

      In short runs it's actually cheaper to plug in a small FPGA then get real ASICs made. If you think otherwise it's because you're a fucking moron and you have no clue whatsoever.

      Now now, what happened to all your numbers and math? Before you had all these specific calculations regarding where that cut-off point was. Now instead you've resorted to vague language "short run" which could mean anything really. Or are you still standing by that arbitrary millions number? Because I'd like to see you back that wild generalization up, because I'm pretty sure the custom cryptography hardware used in servers for SSL hasn't sold millions of units. It's also cute that you think the bigger difference in cost is going to be R&D for no apparent reason.

    21. Re:Already available.. by tomstdenis · · Score: 1

      It's clear from your post that you think anything I say is immaterial. So I say "you win". I don't need to impress you to continue living.

      It's sad that you feel the need to impose like you did. I guess in your important and busy life you felt it so important to stop what you're doing to try and rip on other people. I guess this is part of your "professional life" eh?

      Tom

      --
      Someday, I'll have a real sig.
    22. Re:Already available.. by njyoder · · Score: 1

      I guess in your important and busy life you felt it so important to stop what you're doing to try and rip on other people. I guess this is part of your "professional life" eh?

      Yes, I am a private contractor for a certain fortune 500 company who goes onto online forums and makes inflammatory comments in order to boost product sales. I'm a professional troll.

    23. Re:Already available.. by tomstdenis · · Score: 1

      Good to know your success depends on insulting others.

      I'll sulk with the knowledge mine depends on me actually being good at what I do.

      I mean seriously. You shot down everything I said without offering an ounce of your credentials. That speaks volumes to your usefulness and ability. :-)

      Tom

      --
      Someday, I'll have a real sig.
    24. Re:Already available.. by njyoder · · Score: 1

      You shot down everything I said without offering an ounce of your credentials.

      Indeed. I don't rely on ad hominem, appeals to authority, nor non-sequiturs. It amuses me greatly that you can manage to implicitly admit to using ad hominem, while being so oblivious that you're doing it. I'll explain it to you in simple terms.

      An egostistical and insecure fool responds to an argument first by presenting his totally irrelevent credentials (non-sequitur). Now, this is the point where I mention I'm right because I sang in the state honors choir in the 5th grade.

      That said, the clever debater uses a well reasoned argument and facts instead, and has no need to rely on their personal status for an argument. Nonetheless, I did mention SOME of my credentials as an aside, because I know you're the type who prefer emotional and logically fallacious arguments.

      To someone familiar with formal logic, you would know that credentials are only relevent if they represent expertise in the relevent subject area. You were attempting to cite yourself as an EE expert of some kind, but clearly that is not your area of expertise, so instead of being an appeal to expert testimony, it is an appeal to a false authority.

    25. Re:Already available.. by tomstdenis · · Score: 1

      Well you admitted you're a troll. I guess we can leave it at that?

      Tom

      --
      Someday, I'll have a real sig.
    26. Re:Already available.. by njyoder · · Score: 1

      Just because I'm a troll doesn't mean I'm wrong. Don't be such a racist. Our people have had to overcome so many hardships and you're just turning back the clock, it's rude and unfair.

    27. Re:Already available.. by tomstdenis · · Score: 1

      Um, what are you right about? You said I'm an amateur. That's false. I make money [re: a living] at desiging and implementating cryptographic algorithms. I have the tax slips to prove it.

      You said I don't design algorithms. You're wrong I do.

      You said I have no experience working with FPGAs. You're wrong. That's what I've been doing for the last 8 months.

      My software is used throughout industry in products you can readily buy at any electronics store as well as inhouse business to business tools from companies big and small.

      etc, etc, etc. Then you have the audacity to say that *I'm* the one wrongly calling credentials into question.

      So I think your claims that I'm an amateur are unfounded, immature and show that you really are just a brat incapable of proper cogent arguments so you rely on insulting others to look intelligent.

      Tom

      --
      Someday, I'll have a real sig.
    28. Re:Already available.. by njyoder · · Score: 1

      You just implement them, you don't design them. That makes you a code monkey. Those algorithms you designed weren't for your employer, they were done on your free time, so they hardly qualify as 'professional.' Plus, I SERIOUSLY doubt a company would hire a completely undistinguished cryptographer to design new algorithms for a commercial product. As a self-proclaimed expert in cryptographer, you should know that would be an incredibly stupid thing to do, especially with all the very good, already existing algorithms.

      Your work with FPGAs is entirely indirect. You don't actually know any *HDLs, you aren't actually programming the FPGAs, so it's a bit disingenuous to say that you've worked with FPGAs when really you're just testing the output produced by them. Just so we're absolutely clear here: you can't legitimately claim that you "work with FPGAs" until you at least know a hardware design language.

      I looked at your CV, it specifically just says you're doing regression testing, which means you take the output from FPGAs (work done by OTHER PEOPLE) and you test it with SOFTWARE you wrote. In other words, you are not doing hardware/FPGA development. And you keep saying your software is used all over the place, but you fail to mention where it's used, which can only lead me to believe it's used practically nowhere.

      By the way! Even if you were being totally honest about the above, it still wouldn't qualify as you as an expert about ASIC and FPGA production and R&D costs. Hell, you didn't even know what ASICs were until I pointed them out to you, except instead of just admitting you were wrong, you excused yourself as having "misspoke." That's actually something an EE or a microE would know, or especially a manager directly in charge of the business aspect of that would know, since we're dealing with the specific numbers. You don't even provide a source for your numbers, all we have is a vague reference to some friends you have who MIGHT know actual numbers.

      Now, I actually used the many real world examples of ASICs in production, including crypography ASICs used with servers for SSL purposes, which aren't produced in anywhere near the quantity of gameboys. You have yet to address the production of those crypto cards. Instead you keep launching on irrelevent tangents to try to distract away from the point. You can't actually defend yourself from my obvious real world examples (again--CRYPTO CARDS CURRENTLY BEING USED WHICH USE ASICs), so you just change the subject to your personal credentials.

      Look, it's obvious you have very shoddy debate skills. Every time I challenge one of your strongly held numerical assertions by bringing up real world examples of actually produced hardware, you try to change subject by bringing up your credentials. I'm sorry, but if I say "but 2 + 2 DOESN'T actually equal 5 tom", it's simply no proper to counter with your credentials, no matter how great they are. Oh and your credentials aren't great, believe me, mr. code monkey.

      P.S. Why are you racist against trolls? I bet you make pro-life exceptions for trolls. Sicko.

    29. Re:Already available.. by Hurricane78 · · Score: 2, Informative

      > There should be some standard interchange format for the FPGA data. gcc should be able to take some C code an output FPGA intermediate programming data from it.

      Smile! This stuff already exists for years:

      You just have to build a library that

      • shoves "compiled" logic chunks to the chip
      • uses the FPGA-board's upload functionality as a pluggable driver
      • does the resource management.

      Everything else is already there.

      • You can get some FPGA developer board to develop and test your library:
      • You can use SPARK to compile your C-code to VHDL.
      • I guess VHDL can be uploaded directly to the FPGA. If not maybe stuff like gEDA or similar stuff for VHDL helps...
      • I am a total n00b in things of hardware design, but i found this in 1-2 hous of investigation and reading via wikipeda.

      The problem is that FPGA-boards are pretty expensive... (The least expensive i found was some 66MHz devboard for 150$. The most expensive had 500MHz and a price tag of ~7000$!! [including a ton of golden analog contacts and stuff ;])

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    30. Re:Already available.. by Anonymous Coward · · Score: 0
      I guess VHDL can be uploaded directly to the FPGA.
      Near miss. Although hardware-oriented, VHDL is still abstract (portable, "machine-independent") language for hardware description, mostly unaware of detailed physical implementation. Compilation to actual target-specific binary code is necessary before upload is due. Another popular HDL, Verilog, was (maybe still is) generally considered more hardware implementation friendly then VHDL among system designers. And last but not least, for easy (?) "hardwiring" of proven algorythms there is a new star HDL: System-C , with ubiquitous C syntax, so you can skip the C -> VHDL translation step.
    31. Re:Already available.. by Anonymous Coward · · Score: 0
      Why bother duplicating the complexity of these things in an FPGA when you can buy an existing product that does the thing you need and drop it in your circuit design?
      Because my endproduct should not be forced into complete redesign just because some VLSI circuit is beeing phased out into end-of-life status or its vendor falls victim to competition. If it is not broken for me, I should not have to pay (again) to get it fixed. It is better to do whatever you can yourself and not fear if your vendor will roll over and die. OK, I understand that FPGAs too eventually pass away and PCB then has to be redesigned to accomodate new package layout, but at least I don't have to rewrite device drivers if I hold device "IP", portable to whichever FPGA is available at the moment. Besides, I had before trouble with some buggy ICs and wished for if only it was under our control... Trust no one, do yourselves as much as you can. When you are happy with it and have money to pour into "saving and mass product optimization", ASIC is there for you. There are companies which will gladly ASICise your working FPGA design for you. Most FPGA vendors will do that for their devices in best way.
    32. Re:Already available.. by Hurricane78 · · Score: 1

      But i could not find one page dealing with this final hardware-specific compilation... if you could give me a hint where/what to search i would be really happy...

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
  16. GPU or CPU? by The+Bubble · · Score: 3, Interesting

    Video cards with GPU's used to be a "cheap" way to increase the graphic processing power of your computer by adding a chip who's sole purpose was to process graphics (and geometry, with the advent of 3d-acellerators).

    Now that GPU's are becomming more and more programmable, and more and more general~purpose, what, really, is the difference between a GPU and a standard CPU? What is the benefit to having a 3d~acellerator over having a dual~CPU system with one CPU dedicated to graphic processing?

    1. Re:GPU or CPU? by 13bPower · · Score: 1

      Yeah really. I say go mini blade farm or whatever you people call them. maybe in a generation or 2.

    2. Re:GPU or CPU? by epaton · · Score: 1

      the gpu is faster for this specific task

    3. Re:GPU or CPU? by gr8_phk · · Score: 3, Insightful
      "what, really, is the difference between a GPU and a standard CPU? What is the benefit to having a 3d~acellerator over having a dual~CPU system with one CPU dedicated to graphic processing?"

      In a few years, there will be no real benefit to the GPU. Not too many people write optimized assembly level graphics code anymore, but it can be quite fast. Recall that Quake ran on a Pentium 90MHz with software rendering. It's only getting better since then. A second core that most apps don't know how to take advantage of will make this all the more obvious.

      On another note, as polygon counts skyrocket they approach single pixel size. When that happens, the hardware pixel shaders - that GPUs have so many of - become irrelevant as the majority of the work moves up to the vertex unit. Actually at that point it makes a lot of sense to move to raytracing (something I have fast code for) which is also going to be quite possible in a few more years on the main CPU(s). Ray Tracing is one application that really shows why the GPU is NOT general purpose. You need data structures and pointers mixed with fast math - preferably double precision. You need recursive algorithms. You'll end up wanting a MMU. By the time you're done, the GPU really would need to be general purpose. The problem doesn't map to a GPU at all, and multicore CPUs are nearing the point where full screen, real time ray tracing will be possible. GPUs will not stand a chance.

    4. Re:GPU or CPU? by bersl2 · · Score: 1

      GPUs are highly parallel, far moreso than a CPU. This makes them even more suited to vector operations than CPUs with SIMD.

      What I want to know is whether, given the new-found programmability of the GPU, more pressure will be applied for ATI and nVidia to open up the ISAs to their graphics chipsets.

    5. Re:GPU or CPU? by eclectic2k · · Score: 1

      GPU != CPU GPU's are VERY good at graphics. More like an "SSE chip" vector processor than a CPU with SSE/3DNow/Altivec tacked on. a good read on GPU's as general purpose photo & video processors. http://edn.com/article/CA6262535.html

    6. Re:GPU or CPU? by JawnV6 · · Score: 1

      GPU's have a lot of units that do exactly the same thing in parallel. They can crunch a lot of data, but only if its very parallel and easy to split up. They don't work well with a single instruction stream with one set of data.

      CPU's are much more general purpose. They handle branches and conditional code much better, for example, but are limited to working on a few points of data at a time. Extensions like MMX and SSE enhance the parallel ability of the CPU, but not to the same extent as a GPU.

    7. Re:GPU or CPU? by oliverthered · · Score: 1

      On another note, as polygon counts skyrocket they approach single pixel size.

      Or, as Microsoft may be doing, you use nurbs, splines and 3d solids and then get the GPU to generate the interpolated edges and vertexes, so that circles look circular not matter how close you get. Polygon will start to be replaced by CSG, and solid primitives.

      --
      thank God the internet isn't a human right.
    8. Re:GPU or CPU? by Jerry+Coffin · · Score: 2
      What is the benefit to having a 3d~acellerator over having a dual~CPU system with one CPU dedicated to graphic processing?

      That depends on what you mean by the "one CPU dedicated to graphic processing." If you mean something on the order of a second Pentium or Athlon that's dedicated to graphics processing, the advantage is tremendous: a typical current CPU can only do a few floating point operations in parallel, where a GPU has lots of pipes to handle multiple pixels at a time (or multiple vertexes at a time, depending on which part of the pipeline you're looking at), and each pipe (at least potentially) does vector processing to work on all four pixel components at once.

      The result of all that is that the GPU has substantially higher overall floating point throughput than the CPU does.

      If, OTOH, what you're suggesting is that the second CPU that's dedicated to graphics processing be optimized for that by having lots of floating point hardware, a much larger number of parallel pipelines to process multiple pixels at once, etc., then what you're suggesting really comes down to pretty close what we have right now, but re-naming the "GPU" as "secondary CPU".

      In fairness, there are some differences even now. First of all, you program the GPU using a slightly different programming language that includes primitives for working on things like 3- and 4-element vectors, and for doing the kinds of things you typically have to do with them (e.g. compute normals) that require a series of instructions on a normal CPU.

      The other obvious difference is that the GPU normally has its own memory, mostly for the sake of improved bandwidth. You could more or less homogenize the memory, using (for example) half a dozen or so DDR channels to your main memory, and have all the processors share them symmetrically -- but that imposes some extra difficulties on design and would probably drive the price up considerably (or limit the overall design).

      In particular, the main memory bus normally allows you to plug in varying numbers of varying sizes of memory modules, where the GPU typically has a specific number of modules of known sizes. This makes it much easier to design bus drivers in the GPU because the bus loading is known at design time. That's a large part of the reason motherboards are still transitioning to DDR 2 memory while high-end graphics cards are now univerally using GDDR 3.

      The other problem with that would be that it would then require essentially everybody to pay (most of) the price of a high-end graphics system whether they wanted it or not. Given the number of machines sold with (for example) Intel Integrated Graphics, it's pretty clear that most people are willing to sacrifice performance for lower price.

      --
      The universe is a figment of its own imagination.

      --
      The universe is a figment of its own imagination.
    9. Re:GPU or CPU? by Lisandro · · Score: 1

      Didn't Quake 3 make a big fuzz about being able to do this?

    10. Re:GPU or CPU? by LaPoderosa · · Score: 2, Interesting

      "In a few years, there will be no real benefit to the GPU" Nonsense - we're actually going in the other direction, we need more general purpose massively parallel processing units to go beyond current hardware limitations. Dual CPUs do not come close to the level of parallelism we have on GPUs. Rendering a 1600x1200 4X AA scene with full filtering on a top tier dual core system would yield perhaps 1fps with an optimized software path. That gives you an idea of the order of magnitude you gain in performance with parallelizing these tasks on the GPU. "[GPUs] need data structures and pointers mixed with fast math - preferably double precision. You'll end up wanting a MMU" Nonsense. GPUs already do everything you need for raytracing. There are demos on the internet. Raytracing is ideally suited to GPUs - there's so much you can parallelize. "Actually at that point it makes a lot of sense to move to raytracing " Nonsense. You're off by orders of magnitude. Maybe they just haven't seen your fast code... *rolls eyes*

    11. Re:GPU or CPU? by amigabill · · Score: 1

      > Now that GPU's are becomming more and more programmable, and more and more
      >general~purpose, what, really, is the difference between a GPU and a standard CPU?

      The monitor output?

    12. Re:GPU or CPU? by NeMon'ess · · Score: 1

      Which approach is going to be most effective but economical for rendering fields of grasses or detailed jungles? How about a snowstorm with snow that gets denser and fog like into the distance? Sand dunes that give way and slide underfoot? Water that breaks around objects and coats them in a wet sheen?

    13. Re:GPU or CPU? by gr8_phk · · Score: 1
      we need more general purpose massively parallel processing units to go beyond current hardware limitations.

      Agreed. The current hardware limitation is power dissipation for both CPU and GPU. Hence multi-core from AMD and Intel.

      Rendering a 1600x1200 4X AA scene with full filtering on a top tier dual core system would yield perhaps 1fps with an optimized software path.

      Speculation. Besides, not many people run at that resolution with FSAA except GPU fanboys.

      "You'll end up wanting a MMU" Nonsense.

      I've already rendered a multi-millions polygon scene - requiring over 1GB of storage - at low (1-2fps) framerates on a 700MHz Athlon with only 128Meg RAM. MMU and swap was quite useful. I agree it's not a requirement to have scenes larger than main memory in most cases.

      GPUs already do everything you need for raytracing. There are demos on the internet.

      From the GPU ray tracing paper you point to: "Unfortunately, at the time of writing this, no current GLSL driver runs the ray tracer on GPUs without problems." In addition, they use a uniform grid for their acceleration structure because "there is minimal data access when traversing it". Grids are inferior for large scenes with small detailed objects (teapot in stadium problem). When you move on to real scense with real data structures the GPU will have more problems.

      "Actually at that point it makes a lot of sense to move to raytracing " Nonsense. You're off by orders of magnitude.

      Actually, thanks for making my case with the link. They used 20 AthlonXP 1800s, so it should run similarly with say 15 AMD64s or an 8 socket dual core box - available today but expensive. Their resolution was low (512x512), but the features of the renderer go beyond what you can do with a GPU.

      Maybe they just haven't seen your fast code... *rolls eyes*

      Here's my older code. The knight model is about 3000 triangles, so it demostrates the teapot-in-stadium problem (all other models are CSG quadrics). It was only meant as a sort of tech demo in 2001 and was entered in IGF. The RT library is at least 40 percent faster now - on scenes way bigger than a chess board. It's been extended to do photon mapping too (slow). rtChess is one of the only ray traced games out there, and it runs on a CPU not a GPU.

      Real time ray tracing is probably not possible on todays CPUs, but in a few years it will be. At that point, why would anyone buy a CPU and a GPU? What OS and applications can you run on a GPU? Oh, they aren't really general purpose are they... *Rolls eyes*

    14. Re:GPU or CPU? by SlayerDave · · Score: 4, Insightful
      You're hallucinating, buddy. Let me count the ways.

      1. On another note, as polygon counts skyrocket they approach single pixel size

      This is not happening. Not anywhere (except maybe production rendering). It is far too time-consuming, expensive, and labor-intensive to produce huge numbers of high-polygon-count models for games. Vertex pipes are currently under-utilized in most games and applications now. Efforts are underway to allow procedural geometry creation on the GPU to better fill the vertex pipe without requiring huge content creation efforts. See this paper for details.

      2. A second core that most apps don't know how to take advantage of will make this all the more obvious.

      This undercuts the argument you make in the next paragraph. Also, it's not true. Both the PS3 and XBOX 360 have multiple CPU cores. It's true that current-gen engines aren't optimized for this technology, but next-gen engines will be.

      3. multicore CPUs are nearing the point where full screen, real time ray tracing will be possible. GPUs will not stand a chance.

      This might be true, but so what? Ray tracing offers few advantages over the current-gen programmable pipeline. I can only think of 2 things that a ray-tracer can do that the programmable pipeline can't: multilevel reflections and refraction. BRDFs, soft shadows, self-shadowing, etc. can all be handled in the GPU these days. Now, you can get great results by coupling a ray-tracer with a global illumination system like photon mapping, but that technique is nowhere near real-time. Typical acceleration schemes for ray-tracing and photon mapping will not work well in dynamic environments, but the GPU could care less whether a polygon was somewhere else on the previous frame.

      Hate to break it to you, but the GPU is here to stay. Why? GPUs are specialized for processing 4-vectors, not single floats (or doubles) like the CPU + FPU. True, there are CPU extensions for this, such as SSE and 3DNOW, but typical CPUs have a single SSE processor, compared to a current-gen GPU with 8 vertex pipes and 24 pixel pipes. Finally, do you really want to burden your extra CPU with rendering when it could be handling physics or AI?

    15. Re:GPU or CPU? by gr8_phk · · Score: 3, Insightful
      "Which approach is going to be most effective but economical for rendering fields of grasses or detailed jungles? How about a snowstorm with snow that gets denser and fog like into the distance? Sand dunes that give way and slide underfoot? Water that breaks around objects and coats them in a wet sheen?"

      Most of that stuff can be done with OpenGL/DirectX or ray tracing. Grasses are sometimes done in OpenGL with instancing small clumps. In RT you'd use proceedural geometry or instancing.

      For the snow, both renderes would probably do similar techniques.

      Sand dunes - either method needs an engine with deformable geometry - both can support that.

      Water simulation is something I don't know much about. For the FFT methods of simulating waves it's possible that a GPU has an advantage. Once it start interacting with objects, I don't know how people handle that.

      Your quesitons all point toward vast detailed worlds with lots of polygons. RT scales better with scene complexity. To get more traditional methods to work well, you get into fancy culling techniques (HZB comes to mind) and RT starts to look simpler - because it is.

    16. Re:GPU or CPU? by gr8_phk · · Score: 1
      "1. On another note, as polygon counts skyrocket they approach single pixel size

      This is not happening."

      Because a GPU is too hard to program for recursively refining nurbs or doing subdivision surfaces on the fly.

      I'll pass on #2. I'm not sure what to say - future engines using mutiple cores effectively is somewhat speculative at this point. But lets say you win, so it takes another generation to catch the GPU.

      "3. multicore CPUs are nearing the point where full screen, real time ray tracing will be possible. GPUs will not stand a chance."

      This might be true, but so what? Ray tracing offers few advantages over the current-gen programmable pipeline."

      Once it happens, the GPU will be a redundant component. In spite of all this "general purpose GPU" stuff people keep harping about, it still can't run an OS.

      I keep remembering an ad about 15-20 years ago for an add-in card that would do hardware JPEG encoding. It cost over $1000 but was way faster than a PC could do it. The GPUs reign will end. I assure you I am not hallucinating.

    17. Re:GPU or CPU? by ArthurT · · Score: 1

      Yes! I disagree that GPUs will disappear, and also see the oppisite. Mabye CPUs will disappear? When is the first GPU only video game going to come out?

    18. Re:GPU or CPU? by Anonymous Coward · · Score: 0

      NOBODY WANTS A GPU TO RUN AN OS. Seriously. General purpose computing on GPUs is not a panacea. It just means that certain applications, which are not graphics, can be optimized to run very fast on a GPU, which is normally not utilized to its fullest unless one is playing games.

    19. Re:GPU or CPU? by Jambon · · Score: 1
      GPUs will not stand a chance.

      If so, then why is it that GPUs can theoretically process more than CPUs? I'm really getting confused with all this talk back and forth about what chips should be doing what job and so forth. Would it be better to code more stuff for the GPU, since it has a higher bandwith, or simply add more CPUs? Would it theoretically be faster to have a whole bunch of smaller faster chips (like CPUs) or fewer slower chips with higher bandwidth (like GPUs). I know the answer depends a lot on the type of application, but I'm curious anyway as to what would be ideal.

    20. Re:GPU or CPU? by gr8_phk · · Score: 1
      "NOBODY WANTS A GPU TO RUN AN OS. Seriously."

      Exactly. Once the CPU can do everything the GPU can, why buy both? My reason for pointing out that a GPU wont run an OS is to make it obvious which of the 2 parts we will be buying, and which one we won't care about any more.

    21. Re:GPU or CPU? by oliverthered · · Score: 1

      I'm not sure about that one, crystal space claims to be able to use dynamic LOD but it's not going to be accelerated.

      I know Microsoft is planning a programmable geometry pipeline as well as vertex and pixel shaders for, the geometry should in theory be able to handle nurbs and other 3d solids and blobs etc... It would be nice if they introduces some more noise functions into the pixel pipeline to make things look 'used' or dirty instead of that horrible plastic / metallic phong that you get with the current games engines.

      --
      thank God the internet isn't a human right.
  17. Re:This would be great for MythTV.. Linux support? by Surye · · Score: 1

    It's had video acceleration since the GF3. I don't know what you're talking about. Maybe you're talking about hardware encoding(VIVO since GF3 AFAIK)? Or video encoding on GPU(Never heard this, would like to see a link)?

  18. GPU advantages over CPU? by StarkRG · · Score: 1

    I'm sure there must be some, otherwise they wouldn't have them... How are GPU's specifically optimised for graphics work? Do they have built in de/compression algorithms? Wouldn't it just be easier to have multiple CPUs?

    1. Re:GPU advantages over CPU? by Anonymous Coward · · Score: 0

      GPUs arent so much optimised, but built from the ground up to efficiently render data. GPUs are very far removed from the idea of central processing, an idea that jen-hsun wang agrees with vigorously.

      im a little sketchy on the details, as i havent refreshed my memory for a while, but GPUs dont possess branch predict logic and similar designs that CPUs have. GPUs have dedicated transistors for most operations, such as rasterize, transform and of course shading.

      processing in GPUs can be considered to be a white water sport for electrons, they get pushed through the set course as fast as possible and on a massive scale, requiring the CPU to sort the code before it uses it.

    2. Re:GPU advantages over CPU? by tomstdenis · · Score: 4, Informative

      GPUs are massively parallel DSP engines. That makes them ideally suited for the task. They can do things like "let's multiply 8 different floats in parallel at once". Which is useful when doing transforms like the iDCT or DCT which are capable of taking advantge of the parallelism.

      But don't take that out of context. Ask a GPU to compile the linux kernel [which is possible] and an AMD64 will spank it something nasty. *GENERAL* purpose processors are slower at these very dedicated tasks but at the same time capable of doing quite a bit with reasonable performance.

      By the same token, a custom circuit can compute AES in 11 cycles [1 if pipelined] at 300Mhz which when you scale to 2.2Ghz [for your typical AMD64] amounts to ~80 cycles. AES on the AMD64 takes 260 cycles. But, ask that circuit to compute SHA-1 and it can't. Or ask it render a dialog box, etc...

      Tom

      --
      Someday, I'll have a real sig.
    3. Re:GPU advantages over CPU? by Pope · · Score: 1

      You clearly don't get it. This is not about replacing CPUs with GPUs to transcode video, it's about using those GPUs which are most likely sitting idle to help the CPU do its job.

      --
      It doesn't mean much now, it's built for the future.
    4. Re:GPU advantages over CPU? by StarkRG · · Score: 1

      Yeah, actually I do get it. I was simply asking what the differences between GPUs and CPUs are, not saying there was none. What I don't get is this need for people on the internet to insult people or treat them in a gruff manner.

    5. Re:GPU advantages over CPU? by StarkRG · · Score: 1

      Ahh, I see, so, while you could get your GPU to handle compiling something it's much better at rendering things. It'd be like using your hands to walk... How would something like that do with processing (rendering?) audio effects and such?

    6. Re:GPU advantages over CPU? by tomstdenis · · Score: 1

      Well audio is also DSP so I imagine it would do just fine. Just a matter of covering the expense of going into and outof the GPU [e.g. data conversion, program upload, data upload, etc...]

      Tom

      --
      Someday, I'll have a real sig.
    7. Re:GPU advantages over CPU? by DotDotSlasher · · Score: 2, Informative

      Wouldn't it just be easier to have multiple CPUs?
      Why, yes it would. GPUs fill a For one thing, about 90% of the transistors on a GPU are used for processing. About 60% on a CPU are used for processing (the rest is used for caching).
      There are also many more transistors in GPUs these days than CPUs. Graphics processing is inherently parallel and streamed. That's what a GPU does very well, very fast. Grab 8 texture samples simultaneously each clock cycle, the next stage linearly blends these floating point values together in one clock. A CPU would have to work on each of those 8 one at a time.
      For parallel, streamed operations - a GPU can speed up a process by 5 or 10 times, like this example. At SIGGRAPH this summer, they had a session on running a ray tracer on a GPU. After 15 minutes of explaining all of the optimizations they performed, they were happy to report that they were only 5x slower than a CPU implementation. Ray tracing is not a very parallel, streamed operation. Rays can bounce 10 times or maybe not a all.
      So, let's review: GPUs are significantly faster than a CPU for graphics and some streamable parallelizable processes. CPUs are great for branchable, more random processing.

    8. Re:GPU advantages over CPU? by cant_get_a_good_nick · · Score: 1

      I thought raytracing was pretty parallel, at least in the fact that each pixel was independent of other pixels. I remember mac 68040 render farms for this before. what isn't consistent is the amount of work per pixel. If the cards parallelism depends on a bunch of pixels doing the same thing at the same time, this won't work.

    9. Re:GPU advantages over CPU? by Hast · · Score: 1

      Yes raytracing is pretty parallel. However it is a fundamentally different approach to rendering a 3d scene from rasterizing (what a typical GPU is optimised for). In simple terms rasterizing starts with the 3d scene and transforms and simplifies it until it is easy to draw as a 2d image. Raytracing OTOH starts from 2d image it needs and scans the 3d scene for information to fill each pixel with.

      Still, it suprises me that they didn't get a quicker ray tracer than that since I seem to remember reading about realtime raytracers on 3d accelerated hardware. Because while the approaches to rendering differ between these methods the fundamental tools are the same, ie linear algebra.

    10. Re:GPU advantages over CPU? by Helios1182 · · Score: 1

      You could also think of it in terms of math. Your CPU is a person who knows quite a bit about everything. Your GPU is an expert at linear algebra (which is mostly what it does in reality). The CPU can multiply vectors, but it takes a while. The GPU does it really fast. The CPU could also do some number theory proof, the GPU would just sit there and stare dumbounded. So if you found another problem that a linear algebra expert would exceed at, the GPU would work really well. Or, if you can convert your problem into one that the GPU can work with, it may be worthwhile if the overhead is reasonable. But no matter what, the CPU will be able to handle a more varied range of tasks.

  19. Yawn... by benjamindees · · Score: 2, Interesting

    nVidia has been doing this for a while now. In fact, there are finally getting to be interesting implementations like GNU software radio on GPUs:

    An Implementation of a FIR Filter on a GPU

    --
    "I assumed blithely that there were no elves out there in the darkness"
    1. Re:Yawn... by ehovland · · Score: 2, Interesting

      To see the latest generation of this work, check out their sourceforge page:
      http://openvidia.sourceforge.net/

  20. Will all x1000 cards do this? by wheaton · · Score: 1

    The article isnt specific on this just says that cards from this series should work. The reason I ask this is I would hate to see a repeat of the Nvidia Purevideo technology. I never could get that to work and I don't think I am the only one. If its only the X1800 they should say that. I wished they would have compared performace as well between an X1300 if available to the X1800 using this technology.

    1. Re:Will all x1000 cards do this? by freakyfreak2 · · Score: 2, Informative

      It is very specific about this
      From the article (second page):
      "The application only works with X1000 series graphics cards, and it only ever will. That's the only architecture with the necessary features to do GPU-accelerated video transcoding well."

    2. Re:Will all x1000 cards do this? by wheaton · · Score: 1

      Your point is well understood. I am not hoping that it works with anything other than X1000 series just that it works with all the X1000 series. From my very cursory look into this it appears that there are many different Avivo features and not all cards are going to support all of them.

  21. Re:This would be great for MythTV.. Linux support? by Shinobi · · Score: 1

    There's also the fact that up until the R5x0 GPU's, only Nvidia and 3D Labs supported 32-bit floats, making it easier to implement features like this.

  22. Re:This would be great for MythTV.. Linux support? by Surye · · Score: 1

    Thanks for the link, this looks fun. I'll have to see about playing around with it, and maybe some simple benchmarking.

  23. But I'd rather have it the other way around! by Macguyvok · · Score: 2, Interesting

    I'd rather see GPU's ofloading thier work to the system CPU. There's no *good* way to do this. So, why not run this isn reverse? If it's possible to speed up general processing, why can they speed up graphics processing? Especially since my CPU hardly does anything when I'm playing a game; it has to wait on the graphics card.

    So, what about it ATI? Or will thi be an NVIDIA innovation?

    --
    --Mac "Nine point eight meters per second squared: The Best Damn Windows Accelerator, Ever."
    1. Re:But I'd rather have it the other way around! by Anonymous Coward · · Score: 0

      try halving the multiplier on your brand-new FX-57 and tell me how well fear runs.

    2. Re:But I'd rather have it the other way around! by Macguyvok · · Score: 1

      That's a little over kill. Still, if you pay any attention, normally the GPU is running flat out, while the CPU is waiting for the GPU to finish rendering. Sure, drop the CPU speed by half, and it won't run well, but half is a HUGE drop. How about using the free CPU cycles for the good of the GPU. That's my point. Even if it's only 100 free cycles per frame, you would SEE the difference.

      --
      --Mac "Nine point eight meters per second squared: The Best Damn Windows Accelerator, Ever."
    3. Re:But I'd rather have it the other way around! by Anonymous Coward · · Score: 0

      The CPU acts as a bottleneck in almost all rendering applications bar 3dmark. so really, the GPU is the one waiting. above comment was a sarcastic remark at your peculiar logic.

    4. Re:But I'd rather have it the other way around! by Breakfast+Pants · · Score: 1

      I don't think you grasp how insignificant 100 free cycles per frame is.

      --

      --

      WHO ATE MY BREAKFAST PANTS?
  24. Different architecture by Anonymous Coward · · Score: 0

    CPU and GPU are designed for very different types of processing.

    CPUs are general-purpose processors. They are superscalar, have medium-length pipelines, excellent dynamic instruction path selection support (i.e. branch prediction), have limited number of general-purpose registers, have large expressive instruction sets, can do very fast integer calculations, have access to system RAM, etc.

    GPUs are specialized for parallel tasks, in particular rendering tasks. They have many parallel pipelines, lousy dynamic instruction path selection support (and very deep pipelines--200 cycles or more), large numbers of orthogonal registers, limited instruction sets with support for a variety of very fast floating point calculations, limited support for integer calculations, limited access to system RAM.

    GPU pipelines are becoming more general, and ultimately you will be able to do almost any computational task on either type of processor, but GPUs will still be much better for certain types of task (highly parallelizable tasks) than CPUs.

  25. Re: probably slow. by cryptor3 · · Score: 1

    This might work, but the question to ask is whether it would really be faster. FPGAs are usually a lot slower than ASICs, as another replier pointed out. One FPGA emulation that I saw didn't even run half as fast (in terms of compute time for a task) as the actual ASIC. And if the FPGA becomes the critical path in your processing, it had better be fast (or at least faster than your CPU).

    So I think that this would only work if a general purpose CPU (or GPU, for that matter) has a serious architectural weakness for your particular computing application. And I think that would be rare, given that it is the job of CPU manufacturers to keep track of what kind of computation people are interested in, and architect the chips accordingly.

    If there isn't a serious architectural weakness, it would probably be more cost-effective to make a system that bolts on another general purpose CPU (or GPU) into the PCI slot. But that could be fun.

  26. Using their own codecs by no_such_user · · Score: 4, Insightful

    It looks like they're using their own codec to produce MPEG-2 and MPEG-4 material. How would you get an existing, x86-only aware application to utilize the GPU, which is not x86 instruction compatible? It's a good bet that codecs will be rewritten to utilize the GPU once code becomes available from ATI, nVidia, etc.

    I'd actually be willing to spend more than $50 on a video card if more multimedia apps took advantage of the GPU's capabilities.

    1. Re:Using their own codecs by Anonymous Coward · · Score: 0

      A codec only describes how the video is encoded. Not how it gets encoded.

      They could be using a proprietary ENCODER to ENCODE to a different CODEC.

    2. Re:Using their own codecs by drinkypoo · · Score: 1

      A codec only describes how the video is encoded. Not how it gets encoded. They could be using a proprietary ENCODER to ENCODE to a different CODEC.

      Uh no. CODEC stands for COmpressor DECompressor. In other words, it is the CODEC that does the work, whether it's part of the encoder, the program with which the user interfaces, or a plug-in. CODECs encode/decode video formats.

      I usually try not to respond to ACs (why reward cowardice?) but I don't want someone to believe your misinformation.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    3. Re:Using their own codecs by DigiShaman · · Score: 1

      DivX Player 5.x and 6.x have an option available to check off in a box called "Use accelerated post-processing for supported ATI RADEON hardware". Being that I have an X800 installed, I have this box checked.

      Also, both nVidia and ATI support a feature called Hardware Overlay which provides video playback acceleration for applications coded for the windows Overlay feature. Sounds like a standard for GPU accelerated video playback is already available.

      --
      Life is not for the lazy.
    4. Re:Using their own codecs by no_such_user · · Score: 1

      It sounds like you're talking about DXVA-type acceleration, which does hardware assited DEcoding of some types of compressed video. Bascially, it's the reverse of what this article talks about. DXVA does a decent job though. I have a PCI ATSC HDTV tuner card in my PC which does NOT have an onboard HD MPEG2 decoder. Instead, it relies upon a software codec which takes advantage of DXVA to decode the stream without putting a huge burden on the main CPU. Maybe we need DXVE(ncoding)A? Though really, I'd be much happier if it wasn't Windows dependent.

      (Acronym overload!!! Acronym overload!!! Ack!)

  27. lessons of "array processors" from 1980s by peter303 · · Score: 3, Informative

    In the scientific computing world there have been several episodes where someone comes up with a attached processor an order of magnitude faster than a general purpose CPU and try to get the market to use it. Each generation improved the programming interface eventually using some subset of C (now Cg) combined with a preprogrammed routine library.

    All these companies died mainly because the commodity computer makers could pump out new generations about three times faster and eventually catch up. And the general purpose software was always easier to maintain than the special purpose software. Perhaps graphics card software will buck this trend because its a much larger market than specialty scientific computing. The NVIDAS and ATIs can ship new hardware generations as fast as the Intels and AMDs.

    1. Re:lessons of "array processors" from 1980s by renoX · · Score: 1

      > All these companies died mainly because the commodity computer makers could pump out new generations about three times faster and eventually catch up.

      The improvement on general purpose CPU were mainly gained by increase of cache size, advanced pipelining and clock increase, all these factors seems to have somewhat be exploited to the max by current CPU so now Intel and AMD have to fall back on multi-core CPUs which need special purpose software to be exploited efficiently.

      Still while NVidia and ATI can indeed ship new hardware generations as fast as the Intels and AMDs, they are mainly interested in customer market: I'm not sure that the 'scientific computing world' is big enough to interest them: for example, the current GPU do not provide 64-bit floating point number which are useful for scientific computing but not for games or video (32-bit being more than enough).

    2. Re:lessons of "array processors" from 1980s by TheRaven64 · · Score: 3, Interesting
      A lot of the improvements in CPU performance recently have come from vector units. On OS X, things like the AAC encoder make heavy use of AltiVec - to the degree that ripping CDs on my PowerBook is limited by the speed of the CD drive, not the CPU.

      A GPU is, effectively, a very wide vector unit (1024-bits is not uncommon). What happens when CPUs all include 2048-bit general purpose vector units? What happens when they include a couple on each core in a 128-core package? Sure, a dedicated GPU will still be faster - but it won't be enough faster that people will care. For comparison, take a look at Chromium. Chromium is a software OpenGL implementation that runs on clusters. Even with relatively small clusters, it can compete fairly well with modern GPUs - now imagine what will happen when every machine has a few dozen cores in their CPU.

      --
      I am TheRaven on Soylent News
    3. Re:lessons of "array processors" from 1980s by Anonymous Coward · · Score: 0

      "As fast"? Intel and AMD release a new line once a year, or once every 18 months. NVIDIA and ATI have about a 6-month release schedule. GPUs are being released in much shorter cycles than CPUs.

    4. Re:lessons of "array processors" from 1980s by Anonymous Coward · · Score: 1, Insightful

      When every machine has a few dozen cores in their CPU, every GPU will have a few hundred. That's just the way it will work. CPUs and GPUs are designed for different purposes. GPUs are fundamentally built for parallel processing - the more fragment processors and shaders, the better; they all work on independent tasks. CPUs work on tasks that are inherently serial. Hence, GPUs will always have a factor of 10-20 more "cores" or processing units than CPUs.

    5. Re:lessons of "array processors" from 1980s by peter303 · · Score: 1

      Back in the 1980s Intel, DEC, etc. might ship upgrades about every two years, while specialty proces companies like Floatoing Point Systems, MassPar, Connection Machine, etc. might be more like 3-5 years between generations. Five years has been an order of magnitude performance increase in the commodity processors.

  28. Done in Roxio Easy Media Creator 8 by Anonymous Coward · · Score: 2, Informative

    fyi this is already done by Roxio in Easy Media Creator 8. they offload a lot of the rendering or transcoding to GPUs that support it. for those that are older they have a software fallback. probably not an increase by such a large factor but still a significant boost on newer PCI-E cards.

  29. get this acceleration into the mainstream by Anonymous Coward · · Score: 0

    Right now it seems like this sort of thing is being done on specialized projects. It would be really awesome if someone would write an acceleration add-on to a library like GNU GSL or FFTW. That would allow a large number of scientists and engineers to easily accelerate their code without having to get involved in the intricacies of doing it. Maybe you wouldn't get the fastest code this way, but there would be great benefits, and people would actually use it.

  30. Re:404 file not found by Kasracer · · Score: 0, Offtopic

    Had this happen to me once or twice but not on this article

  31. Apple's core image by acomj · · Score: 3, Informative

    some of Apple's apis (core video/core image/core audio) use the gpu when it detects a supported card, otherwise it just uses the cpu, seemlessly and without fuss. So this isn't new.

    http://www.apple.com/macosx/features/coreimage/

    1. Re:Apple's core image by jon_c · · Score: 1

      As I read it Core Image does not cover video encoding, which is what this article was discussing. Decoding video, or just blting video is the same thing at all as encoding video. I'm not sure how new this is, but it is definitely impressive and new to me, and I work in video encoding business.

      -Jon

      --
      this is my sig.
  32. Apples and pears by oliverthered · · Score: 1

    GPU's are designed to do parallel bulk vector processing (which is why they can transcode faster than a CPU) but this also limits what kind of applications or tasks you can reasonably offload to the GPU.

    This means that the 'general purpose GPU' code, isn't really going to be general purpose, it going to be heavily vector orientated. On the other side the CPU is more general purpose, good at running many tasks and handling interrupts &co, for this reason the CPU won't replace the GPU and the GPU won't replace the CPU, no matter how many mflops you can squeeze out of either.

    It would be nice to have protein folding done of the GPU, since it's a task the a GPU should be good at.

    --
    thank God the internet isn't a human right.
    1. Re:Apples and pears by Anonymous Coward · · Score: 0

      If you really want to know, Stanford has been working on F@H on GPUs for a while now

      http://folding.stanford.edu/FAQ-highperformance.ht ml

  33. Re:This would be great for MythTV.. Linux support? by EpsCylonB · · Score: 2, Informative

    When I got my 6600gt the box that it came said it could do hardware mpeg2 encoding, obviously this is not the case. I remember reading somewhere that nvidia orginally wanted the 6XXX series to be able to do loads of on board video stuff but they couldn't get it working on time. Its a real shame.

  34. There's a CPU in my keyboard too... by Anonymous Coward · · Score: 2, Funny

    As I remember from my hardware class...there's an Intel 8051 or similar in most PC keyboards...wouldn't it be cool to somehow be able to use that CPU for something useful (aside from polling the keyboard)

    1. Re:There's a CPU in my keyboard too... by Saffaya · · Score: 5, Interesting

      Though I am sure you wrote that as a pure joke, this has already been done long ago. During the fierce competion on the demo scene between the ATARI ST and the Amiga, crews were exploiting every speck of power they could from their machine. The ATARI ST being a general purpose machine compared to the Amiga (which had very advanced sound and graphical custom processors), the programmers who wanted to pull off the same graphical effects went as far as using the processor managing the keyboard (a 68xx 8bit motorola chip) for added computational power.

    2. Re:There's a CPU in my keyboard too... by Castar · · Score: 1

      This reminds me of that parody of the fiddle contest with the devil, where the programmer tries to outcode the devil for an infinite-jelly-donut machine.

      He wins by using the extra memory in his watch...

      --
      I yearn for you tragically. A. T. Tappman, Chaplain, U.S. Army.
    3. Re:There's a CPU in my keyboard too... by Doc+Ruby · · Score: 1

      The Atari ST, in the vein of its predecessors the 800 and 400, had multiprocessing on separate CPUs for graphics, sound and CPU, as well as IO. Yet another reason it was superior to the Amiga ;).

      --

      --
      make install -not war

  35. Keep in mind by Solr_Flare · · Score: 2, Insightful

    That while few people will notice the difference between 150fps and 200fps, those numbers are more or less there to help you determine the lifespan of the card itself. While, for current games, both cards will perform extremely well, a 50fps difference means that on future games, the Nvidia card will be able to last longer and run with more graphics options enabled without bottoming out on fps.

    While a select few individuals still always buy the latest and the greatest, the majority of buyers look at video cards as long term investments mainly because of the rediculously inflated prices in the GPU market. All that said, I think you have to look at the card's feature set and make a decision based on that. While, gaming wise, the Nvidia GPU may be superior, the dramatically increased transcoding times definitely make the ATI card a potentially attractive purchase to people who work a lot with video. Given the amazing rise in popularity of the Video Ipod and the existing PSP market, the number of people with interests in transcoding video is definitely on the rise, and ATI was smart in tapping that market now.

    --
    You are who you are, let no one tell you different. But, never close your mind to a new point of view.
  36. Re:This would be great for MythTV.. Linux support? by PsychicX · · Score: 1

    Bleh, speaking of shader languages. It'd be nice if they spent a little less time on obscure video processing features and a little more time on implementing Shader Model 3.0 properly. Their lack of texture lookups in the vertex shader is weak.

  37. Linux Support by Yerase · · Score: 3, Informative

    There's no reason there couldn't be Linux Support. At the IEEE Viz05 Conference there was a nice talk from the guys operating www.gpgpu.org about cross-platform support, and there's a couple of new languages coming out that act as wrappers for Cg/HLSL/OpenGL on both ATI & NVidia, & Windows & Linux... Check out Sh (http://libsh.sourceforge.net/ and Brook (http://brook.sourceforge.net./ Once their algorithm is discovered (Yipee for Reverse engineering), it won't be long.

  38. Re:This would be great for MythTV.. Linux support? by thatshortkid · · Score: 5, Interesting

    wow, for once there's a slashdot article i have insight on! (whether it's modded that way remains to be seen.... ;) )

    i would actually be shocked if there weren't linux support. the ability to do what they want only need to be in the drivers. i've been doing a gpgpu feasability study as an internship and did an mpi video compressor (based on ffmpeg) in school. using a gpu for compression/transcoding is a project i was thinking of starting once i finally had some free time since it seems built for it. something like 24 instances running at once at a ridiculous amount of flops (puts a lot of cpus to shame, actually). if you have a simd project with 4D or under vectors, this is the way to go.

    like i said, it really depends on the drivers. as long as they support some of the latest opengl extensions, you're good to go. languages like Cg and BrookGPU, as well as other shader languages, are cross-platform. they can also be used with directx, but fuck that. i prefer Cg, but ymmv. actually, the project might not be that hard, just needs enought people porting the algorithms to something like Cg.

    that said, don't expect this to be great unless your video card is pci-express. the agp bus is heavily asymmetric towards data going out to the gpu. as more people start getting the fatter, more symmetric pipes of pci-e, look for more gpgpu projects to take off.

    --
    The IRS is the one organization that you don't want to fuck with. Remember, these are the guys who took down Al Capone.
  39. 5X faster than what by Anonymous Coward · · Score: 1, Insightful

    5X faster than what? Because an Athlon X2 4800+ can transcode pretty damn fast.
    I would rather some reality-based claims, such as "real-time encoding of 3 VGA streams into XVid". Give me a real reason to include an X1800 into my entertainment box.

    1. Re:5X faster than what by kilonad · · Score: 1

      5x faster than an Athlon X2 4800+. RTFA.

      I wish DiVX et al had a "useTFGPU" checkbox that'd speed up encoding.

  40. The wheel of reincarnation turns again by Anonymous Coward · · Score: 0

    Man, if Ivan Sutherland were dead he'd be rolling over in his grave.

  41. Hope they get the standard right this time by just+fiddling+around · · Score: 1

    This is cool, but if the feeds that process generates is as nonstandard as the MPEG2 their Multimedia Center puts out, it is worthless.

    I can't use the files I recorded on anything but ATI's software and Pinnacle Videostudio (go figure, it understands the codec).

    --
    You're not old until regret takes the place of your dreams.
  42. Hitachi SH4 [PS2] has 128-bit doubles. by mosel-saar-ruwer · · Score: 1
    I would just point out that the GPU maths are usually limited precision, so they would lend little assistance for many high precision functions...

    The Hitachi SH4 that powers the PlayStation2 can perform 128-bit double calculations in hardware [or so I'm told].

    By contrast, Sun's SPARC has a "quad" precision [128-bit] double, but it's a software implementation.

    I believe the chipset that powers IBM's Z390 mainframe can also do 128-bit doubles in hardware.

    1. Re:Hitachi SH4 [PS2] has 128-bit doubles. by uhmmmm · · Score: 1

      I'm pretty sure the PS2 doesn't use the SH4. I know the Dreamcast did though.

  43. Render farms by Anonymous Coward · · Score: 1, Interesting

    If GPUs are more optimized for graphics, why can't renderfarms use more GPU's rather than more CPU's?

    Pixar is using Intel boxes. Since Pixar writes it's own code, wouldn't it be better to write code into Renderman to shift the workload to multiple GPU's in each box in the renderfarm?

    Just a thought...

    1. Re:Render farms by DoubleDownOnEleven · · Score: 1

      Aren't such renderfarms used for raytracing? I think GPUs and current games use a completely different approach.

    2. Re:Render farms by DoubleDownOnEleven · · Score: 1
      To be more specific:

      http://en.wikipedia.org/wiki/Graphics_processing_u nit/
      http://en.wikipedia.org/wiki/Raytracing/

      Raytracing builds the image by tracing rays from light sources within the image to determine each pixel. GPUs use a vector-based system to render polygons and then map textures, colors, etc to them.
  44. funny about memory comments by iamhassi · · Score: 2, Interesting
    it's funny to read the article and see them brag about the "very fast RAM":
    "This is, after all, one of the fastest CPUs money can buy, paired with very fast RAM.
    "1 GB of very low latency RAM "

    After the other review posted today about fast memory doing almost nothing for transcoding:
    "moving to tighter memory timings or a more aggressive command rate generally didn't improve performance by more than a few percentage points, if at all, in our tests."
    "Mozilla does show a difference between the settings, both on its own and when paired with Windows Media Encoder. Still, the differences in performance between 2-2-2-5 and 2.5-4-4-8 timings, and between the 1T and 2T command rates, are only a couple of percentage points."

    --
    my karma will be here long after I'm gone
    1. Re:funny about memory comments by Anonymous Coward · · Score: 1, Informative

      The memory used on a video card is usually clocked far higher than the DDR400 used in the articles referenced. So, yes, there is reason to brag there.

    2. Re:funny about memory comments by iamhassi · · Score: 1
      "The memory used on a video card is usually clocked far higher than the DDR400 used in the articles referenced. So, yes, there is reason to brag there."

      if u bothered to RTFA you'd realize they're bragging about system memory, not video card.

      I suppose the quote "fastest CPUs money can buy, paired with very fast RAM" should have clued you in that they were talking about CPUs and system RAM, not the GPU and RAM on the video card but if you didnt bother to RTFA it only follows that you wouldnt even bother to read the post you're replying to.

      You Anonymous Coward's are getting worse all the time, now you dont even read posts you're replying to!

      --
      my karma will be here long after I'm gone
  45. Wondering GPU processor isn't used more... by sweetnjguy29 · · Score: 1

    It is my understanding the the GPU of a graphics card runs at 300Mhz to 500Mhz. Why hasn't this processing power been harnessed for non-graphical applications?

    1. Re:Wondering GPU processor isn't used more... by Anonymous Coward · · Score: 0

      Err... yeah so what do you think was the article about

  46. FPGA's cheap. Synthesis EXPENSIVE. by xtal · · Score: 2, Informative

    Unfortunately, there are a few problems with this scenario in practice that prevent it from becoming widespread. I worked on optimizations with VHDL destined for FPGA's in a prior life.

    - Tools: FPGA tools are getting better, but still suck compared to modern IDEs and software development. This might be me being jaded (VHDL can get nasty), some things like System C and others are in the infancy stage, but long ways to go here.

    - Synthesis time: It can take DAYS on a very fast machine to run the synthesis that produces your design for the FPGA. Some designs work out to be impossible to synthesise; you might not find this out until hours or worse into the process. Then your whole design might have to change! Ha ha ha.

    - Tool expense: The good tools cost a lot of money. The ones that can do good designs on the fly cost on the order of a new Ferrari or worse. Engineers that are framiliar with optimizing and implementing these tools and designs cost a lot too, but sadly, don't get to drive too many Ferraris. (me anyway!)

    - CPUs and GPUs are heavily optimized and VERY VERY VERY fast for most tasks. In many cases it is cheaper to go buy a farm than implement on a FPGA, unless you are trying to do something very specialized. FPGAs are more often used for specialty communications brokering, timing, and interfacing tasks where bus speeds on a micro are too low.

    Great idea in principle. Wouldn't hold my breath, however.

    --
    ..don't panic
  47. Makes sense by BlueTooth · · Score: 1

    GPU stands for General Purpose Unit right? Or was is Generic Processing Unit? I can't remember.

    --
    SPAM
    1. Re:Makes sense by Anonymous Coward · · Score: 0

      Graphics is the word you are looking for. GPGPU however, has a general purpose part in it.

  48. DMCA? by VisceralLogic · · Score: 1, Interesting

    Is this even going to be legal in a couple years?

    --
    Stop! Dremel time!
  49. Apple foes this now. by ChrisA90278 · · Score: 3, Insightful

    Aple does this now. "Core Image" is built into the OS and all "correctly written" applications that need to do graphic use Core Image. Core Image wil use the GPU if one is available. This is a very good idea but the hardest part of getting this to work on a non-Apple platform will be standarizing the API so that we can use any GPU. OK X11 did this fr displays on UNIX ad we have OpenGL for 3D graphic so we can hope something will happen an API for GPU based image transfomation. The biggest use for this wil not be just simple transcoding but editing and dispay programs for still and moving images Think "gimp" and "cinelerra".

    1. Re:Apple foes this now. by GweeDo · · Score: 2, Interesting

      Well, sorta. CoreImage is for video effects in real time. Like window transitions, transpernecy, shadows, blah blah blah.

      The idea behind using your GPU in this case is even more far reaching. While using a GPU for any visual effect is fairly logical...what about SETI@Home? What about Folding? What about for runing kalc :)

      See the difference?

  50. Re:This would be great for MythTV.. Linux support? by LiquidCoooled · · Score: 1

    If it has TV in, then the tv stream will come into the computer as an mpeg2 stream.
    Most newer cards include this feature by default.

    However, the article is talking about using the GPU to transcode from one computer format to another (I commonly want to convert xvid avi files into DVD vobs, a process that can take upto 2-3 hours currently).

    I hope this technology pans out, because it would save me the one last big ballache I have with this stupid computer, and especially so since I have a £300 graphics card sitting idle 80% of its time (it plays hl2 and farcry wonderfully tho).

    --
    liqbase :: faster than paper
  51. Unlikely to be cross-platform by MrNemesis · · Score: 1

    Another great idea that will no doubt be poorly implemented and suffer from a closed spec, stifling developer input.

    At the risk of becoming -1 redundant, many other posters have already pointed out that stuff like this should be done in a generic shader language so that it can be run across a gamut of GFX cards - I'm no programmer, but in my mind this would be like current CPU apps asking "do you support MMX? SSE? SSE2?" etc etc etc. Interesting projects like LibSh offer to provide a platform-independent method of integrating GPU shader routines into standard C++ programs.

    I'm afraid I can't get too worked up about ATI's implementation though. What with their "what's Linux?" reputation and the heavily competitive/proprietary world of GPU subsystems, I find it unlikely that they'd open up an API to allow non-ATI apps to hook into the GFX card, meaning that I wouldn't be able to use my GPU to speed up my XviD transcodes in VDubMod. I wish they'd prove me wrong, but I doubt it somehow. All glitz and no geek (unless of course it does turn out to be written in a platform independent shader language that allows anyone to hook into it, then I'll eat my words ;)).

    --
    Moderation Total: -1 Troll, +3 Goat
    1. Re:Unlikely to be cross-platform by Anonymous Coward · · Score: 0

      I wouldn't be able to use my GPU to speed up my XviD transcodes in VDubMod
      fft3dgpu?

    2. Re:Unlikely to be cross-platform by MrNemesis · · Score: 1

      Woo, cheers for the link - certainly an interesting filter if you're an AviSynth user (of which I am not, unfortunately). Although looking at the blogs on VirtualDub.org, it looks like people are already writing GPU-based filters (such as bicubic resize, etc). Although whether they'll ever become part of VirtualDubMod (which has seemed dead for a while) remains to be seen.

      --
      Moderation Total: -1 Troll, +3 Goat
  52. Re:This would be great for MythTV.. Linux support? by Anonymous Coward · · Score: 0

    If you seriously think this is an issue, you either work for nVidia, or you've been drinking their Kool-Aide. Texture lookups for vertex shaders is considerably more obscure than hardware encode/decode acceleration.

  53. Sounds useful for my AGP-based system.... by ShyGuy91284 · · Score: 1

    I've got an older AGP-based system (Athlon XP Barton), and this sounds like the perfect thing to speed up transcoding and playing of H.264 video. Too bad the irony will be that most systems with PCIe (and support for all these new cards) can play H.264 at a decent speed w/o this card (and transcode quite a bit faster then mine), while most systems that really need it would have to be upgraded in the first place. I know AGP has reached it's limit for 3D performance due to it's bandwidth limitations, but the implementation of GPU-assisted transcoding/decoding of H.264 sounds like something that would still be doable over AGP.

    --
    In undeveloped countries, the consumer controls the market. In capitalist America, the market controls you.
    1. Re:Sounds useful for my AGP-based system.... by Anonymous Coward · · Score: 0

      Just so you know AGP hasn't released the bandwidth limitations. Infact it's about as far as peace in the Middle East..

    2. Re:Sounds useful for my AGP-based system.... by Anonymous Coward · · Score: 0

      1. AGP didn't reach it's limit due bandwith, but due low power transfer capabilities (=you can't power your super-ultra GeForce 9000 SLI with just AGP). And it's a "good thing" to change slots from time to time.
      2. I have yet to see a PC that can do AVC encoding (and maybe some filtering) with decent speed. And high-definition AVC is not easy to play without help of GPU either.

    3. Re:Sounds useful for my AGP-based system.... by ShyGuy91284 · · Score: 1

      Power limitations are easily gotten past though with a molex connector on the card (not really the best way, but it works). And I was referring more to decoding of things such as high res H.264 video when I mentioned the benefits to an older system being higher (I can't decode H.264 in software at very good speed, while newer systems could probably).

      --
      In undeveloped countries, the consumer controls the market. In capitalist America, the market controls you.
  54. Re:This would be great for MythTV.. Linux support? by Anonymous Coward · · Score: 0

    Careful about that "32-bit float" term you're throwing around. NVidia's 32-bit floating point computations are sketchy at best-- you don't quite get real 32-bit precision during additions and subtractions (rounding is screwed up), while multiplications have even lower precision (and, since division is implemented as an reciprocal-then-multiply operation, division is even worse yet).

    Not a big deal for games, where you're talking about a pixel that might only be shown for a split second. But for general-purpose stuff (like transcoding or some of the other general-purpose apps discussed in the thread), this just doesn't cut it. I'd like to see if ATI's 32-bit floats actually operate like real 32-bit floats, but I haven't been able to find anything substantial yet.

    That said, ATI has announced that they will be providing a general-purpose API for the R5x0 series GPUs, so I imagine that they'll be releasing information soon enough. We'll see, I guess.

  55. Re:This would be great for MythTV.. Linux support? by CoderJoe · · Score: 1

    Back when the GeForce 6800 was launched, during the launch presentation, one of the features that was supposed to become available was using the GPU to assist encoding video. As far as I know, this has yet to materialize.

  56. In the meantime... by Happy+Monkey · · Score: 2, Interesting

    Does anyone have any transcoding software recommendations? Nero for some reason keeps losing audio sync after a few minutes of video.

    --
    __
    Do ya feel happy-go-lucky, punk?
  57. Depends on what you are doing... by rRaminrodt · · Score: 1

    > This might work, but the question to ask is whether it would really be faster.

    Yup, gotta look at the costs too.

    > FPGAs are usually a lot slower than ASICs, as another replier pointed out. {snip}
    > And if the FPGA becomes the critical path in your processing, it had better be fast (or at least faster than your CPU).

    But the FPGA is less likely to be the bottle neck anyway, the IO bus probably going to be a bigger factor. But the issue isn't whether an ASIC is faster than an FPGA, its whether the whole round trip of memory->bus->FPGA->bus->memory, will get your data crunched faster than doing it in the processor. Many algorithms can be implemented very efficeintly in hardware, for example DES encryption (an old example, I know) has a lot of bit fiddling that is really slow in a standard processor. They've sold crypto accelerator boards in the past, for this very reason.

    The really neat thing about FPGAs is that they can be reprogrammed in board. If one day you are doing a lot of crypto and the next are doing MPEG encoding, you just load an new hardware design onto the FPGA.

    The big hurdles have been mostly mentioned in other posts, stuff like most software guys don't know verilog/vhdl and its hardware orientedness :-), and that synthesis can be slow.

    But its a cool idea with some potential, I would love to have a board like that in my pc. I should disclaim that I'm currently taking my School's FPGA design class though...

    --
    They'll think I've lost control again and leave it all to evolution. -- Supreme Being, Time Bandits
  58. Then buy Windows, you damned hippie!! by elrous0 · · Score: 1

    ATI isn't obligated to cater to your tiny niche OS. If you don't like it, don't buy it. I'm sure Nvidia is hard at work on a similar technology, anyway. -Eric

    --
    SJW: Someone who has run out of real oppression, and has to fake it.
  59. OMgOnoes by Anonymous Coward · · Score: 0

    Just wait until the kiddies get this one in their cell phone.

  60. Can anyone say... by davecb · · Score: 1
    ... once more around the wheel of karma?

    --dave
    See Foley and Van Dam, Fundamentals of Interactive Computer Graphics Addison-Wesley, 1982

    --
    davecb@spamcop.net
  61. Re:This would be great for MythTV.. Linux support? by CoderJoe · · Score: 1

    BTW, it would be nice if someone could mirror this somewhere. I really didn't have anywhere to host this that could withstand a slashdotting.

  62. There may be somthing to that. by NRAdude · · Score: 0

    What if the processing done in the keyboard could be used for entropy, or to provide input for applications and physics engines? I distrinctly remember the IBM Cell processor having a physics engine or two in there, but it wasn't attached to anything sophisticated as the available 102 or 104 instruction-set they my processor posesses. And I bet they RIAA and MPAA would go after the next person for so as much as using their keyboard to pirate music. Hmmm. I better go patent that before Sinclair starts making keyboards again.

    And I ran. I ran so far away.
    You've been hit by a smooth criminal.
    Hitchin' up the buggy; Churning lots of butter; Raise the barn on Monday; Soon I'll raise another.

    --
    without prejudice
    1. Re:There may be somthing to that. by Anonymous Coward · · Score: 0

      Keyboard typing is already used for entropy gathering daemons. As are harddisc access times, latencies, and so forth. Quite common in crypto grade RNGs.

  63. GCC on GPU by Anonymous Coward · · Score: 0

    Compiling would go faster if you could find a way to get the GPU to do part of the work! Somehow use the GPU to cross-compile for the CPU! Then updateing my Gentoo box woudn't take 5hrs but 1hr!

    1. Re:GCC on GPU by Anonymous Coward · · Score: 0

      Found a compiler for GPUs --> BrookGPU

  64. Re:Waaaaah! by Anonymous Coward · · Score: 0

    One does not simply learn teh funnay.

  65. Re:This would be great for MythTV.. Linux support? by suraklin · · Score: 1

    This is totally off topic but I read your sig and was surprised to see another fan of Celldweller. I have been a fan of theirs since they were listed on mp3.com. Hopefully more people check them out.

  66. You're right, I stand corrected by Dr.+Spork · · Score: 1

    I thought from my first read of the article that they're using the standard codecs, but on second read-through, it appears that you're right. This leaves open the possibility that they have a really pared-down MPEG4 codec which produces really crappy results, quickly. That is not very impressive. What they need is to take an open-source codec like Xvid and "port" it to their hardware. Or better, they need to release the interface so that people can code for it. Yes, this is a lot less cool than I realized at first.

  67. Re:This would be great for MythTV.. Linux support? by ZephyrXero · · Score: 1

    http://www.bittorrent.com/ ;)

    Whenever there's a possibility of a Slashdotting...

    --
    "A truly wise man realizes he knows nothing."
  68. Re:This would be great for MythTV.. Linux support? by PsychicX · · Score: 1

    I'm a graphics coder, I'm not pulling this off random bullshit I heard on gamespot or anandtech or something. Of course now texture looksups in the VS are obscure, since ATI didn't bother to implement them.

  69. Re:Not much trouble with media center by Anonymous Coward · · Score: 0

    Although I wish I had done way more research before I purchased my ATI HDTV card, which I will be getting rid of soon because it pisses me off, I have no trouble encoding the mpeg2 from it to Xvid using the frontend Gordian Knot and the tools it uses like vstrip, dgindex, vdubmod, etc for fully HD streams at 59.94 and crazy resolution(Mpeg 4 compliance can eat me.) Maybe u might want to give GK a whirl or its easier to use brother, AutoGK.

  70. Re:404 file not found by Anonymous Coward · · Score: 0

    A #1 and the bathroom is right out side my room... so 1min max.

  71. Very exciting stuff from a technical perspective! by flowerp · · Score: 1


    This is great news IMO. Shaders will be able to allow adding new and previously computationally infeasible of features into video codecs.

    How about a near-optimal motion vector search at subpel accuracy? No problem for a GPU. How about a GPU driven parametric inloop filtering which saves many many CPU cycles?

    Especially codecs like H.264 which have many options for motion vector resolution could benefit greatly from this technology. The GPU will help in bringing the bitrates down by providing a better motion vector accuracy in the encoding process.

    Also relatively new techniques could be implemented, like overlapping (blended) macroblocks to reduce blocking - using the GPU's alpha channel.

    This is exciting stuff from a codec developer's perspective.

    --
    --- Eat my sig.
  72. Re:This would be great for MythTV.. Linux support? by chris_7d0h · · Score: 1

    Somehow I don't think that's really what the parent poster meant. ATI could very possibly provide passable support if they wanted to, but they don't. ATI is notorious for their total lack of interest in Linux. I agree with you, that any sane company aiming at establishing a foot hold in an emerging platform market would jump at the opportunity to make their own products work great on said platform. However ATI is not such a company. Sad as it might seem, ATI still doesn't see enough value for providing adequate product support on Linux. They're suffering from the hen and chicken syndrome, hoping that the effort spent on RedHat and SuSE (since that's what Linux basically is to them) by their competitor(s) might some day make it grow to a viable market segment for them.

    --
    In a society that believes in nothing, fear becomes the only agenda ~ Bill Durodié
  73. Re:This would be great for MythTV.. Linux support? by ceoyoyo · · Score: 1

    Yeah, I doubt that's what he meant too. ;)

    Fortunately this is a little different than drivers... ATI is about the only one who can make drivers for their cards. But this is an extension to the fragment programming capabilities of the card. Those features will become part of the standard, so anyone can use them (at least they always have in the past). If ATI doesn't do it then nVidia will.

    ATI has lots of pretty tech demos where they write some cool fragment programs and then show how they work. But now that the ARB fragment programming language and Shader Language have been standardized those same fragment programs will run on nVidia hardware (maybe not the bleeding edge ones, but the next set back from that). Fragment programs aren't very big, so it shouldn't be difficult for the open source community to duplicate this transcoding program, and make it better.