Audio Processing on Your Graphics Card?
edsarkiss writes "BionicFX has announced Audio Video EXchange (AVEX), a technology that transforms real-time audio into video and performs audio effect processing on the GPU of your NVIDIA 3D video card, the latest of which are apparently capable of more than 40 gigaflops of processing power compared to less than 6 gigaflops on Intel and AMD CPUs." Another reader points out a story on Tom's Hardware.
sure need some GPU of your NVIDIA overhaul
The amount of silicon on an average GPU overtook the amount of silicon on the average CPU some time ago.
Having all that processing power available to do more than just shift pixels makes perfect sense. I'm just surprised that nobody thought of doing it sooner.
"Accept that some days you are the pigeon, and some days you are the statue." - David Brent, Wernham Hogg
While most audio workstations may not have great video cards at the current time, I'd go spend $500 on a video card that'd take 90% of the workload off my processor while mixing ... it's cheaper than a lot of equipment out there.
;)
And the ability to get a few frags in while the band is taking a break isn't too bad either!
Who doesn't like free music?
How can the price range be so slow when the processing power is claimed to be so many times faster than Intel chips?
Personally, I'd like to see search algorithms (perhaps data-search, perhaps even video search) move to suchc a co-processor.
Pretty soon my graphics card is going to do more, cost more, heat up more, be louder and use more electricity than the rest of my computer combined.
Sorry buddy slipped on the mod options. Someone correct it.
What does it take to make some kind of API that makes GPU programming easier? And, please enlighten me if you can: Wouldn't it be possible to use this kind of power for everyday use and applications, with the right API? Perhaps I'm missing something here.
O make me a mask
FoundNews.com - get paid to blog.,
Do they have any proof that this works? Or is this just vaporware?
Modesty is one of life's greatest attributes
It sounds like we should buy a computer with a GPU on the motherboard and plug in an expansion card with a CPU on it.
- For the complete works of Shakespeare: cat
Very cool. I've wondered for a while why we weren't offloading some DSP effects to video cards or somesuch. Now it seems we finally are. I wonder if this will eventually lead to distributed rendering of some heavy duty audio effects...
I'll turn into a supernova and burn up everything. Well I'll turn into a black little hole and you'll turn into string.
dude...the sound man...i can SEE it...sound and sight man, its all the same....far out man....
Moo.
From what I think I understand, video cards specialize in floating point operations, for handling 3-D objects and all that stuff, but sound processing is all about integers. I thought that was why Intel's MMX technology didn't really do much, because it only helped sound. (No one else really needed to do multiple adds in a single clock cycle.)
Ooh, can someone do something like this to speed up Transcode?
-Peter
Now I'm going to have to find a motherboard that I could use to play Doom3 on that supported 2 video cards
(one for video, one for sound)
These innovations are getting pricey!!!
HallmarkOrnaments.Com
I have a 8500 All-inwonder DV which has Dolby 5.1 digital auudio and firewire sitting on the AGP card. Still a POS, but neat idea.
"Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
This kind of stuff has been talked about and done in the research community for quite some time now. See http://www.gpgpu.org. While audio is an interesting idea, FFT's and Genomics are already running on GPUs Yes, GPU's can be fast, but they can also be a pain to program. Take a look at the Stanford Brook for GPU's project for a nice elegant way to program for GPUs. http://brook.sourceforce.net
Compared to the capability of just six GFlops of a typical CPU, Nvidia's chips can reach more than 40 GFlops, according to Cann.
"can reach more than"... "Capable of more than"...
So what's the real-world performance?
This is like those radio commercials where a store sells candy bars for $0.30, and then trumpets "up to 70% off everything in the store!"
The theory of relativity doesn't work right in Arkansas.
40 Gigaflops of processing power...
...and no, I don't need your ----ing box neither: I'm a geek!!!
Damnit!
That's bloody more than all my geeky machines here.
I assume it generates heat at least as much as all my machines.
Sound, graphics, heat. Very well! Why do you want me now to buy you a sluggy processor on the top of this???
I'm only two weeks into my "Computer Architecture" class so I could use some clarification. Why does it matter which processor processes what? It's all bits, right? Why can't you process any data on either your CPU or your GPU? I counting on the folks here at /. to help me out here so that I don't have to open my text book!
FoundNews.com - get paid to blog.,
Wonder how long it'll take for the graphics card manufacturers to glom onto the idea and kill this innovative company.
Of course, one of the entrenched guys could buy it, too.
Now let's see some video rendering on our audio cards.
BLING BLING. Meet the architecture that's changing everything.
I liked this technology better when it was called "Geiss."
Just a thought, but could this mean there will be a movement towards natural event-based synchronization between graphics and audio events in games given a common processor? I realize this was never the case before, but with 40 gigaflops of audio processing capability this must become an attractive option.
M
Anytime there is an article talking about the power of your graphics card's GPU or the phenomenal processing power of DSPs, the discussion is always inundated with people asking "Hey why aren't we using these instead of our regular slow processors!", thinking they've come up with some sort of brilliant idea. For the thousandth time, people, things just don't work that way. DSPs achieve their high processing speeds by being very good at a few select things, but not really being general purpose devices. If you want to know more of the specific details, do a google search, there's a ton of information about DSPs on the web and I'm sure there are plenty of pages that explicitly address the difference between CPUS, GPUs and DSPs.
October 15: Beta realsed
December 15: Full version released, retail: $600
January 1st: Open Source copy version 0.1 relase is first posted in obscure chat room (hey, programming nerds don't do holidays)
Sounds good ^_^, see ya 1/02/2005!
Has he licensed with NVidia?
:~( Kudos to BionicFX for making it happen. Don't even want to imagine how hard it was :~)
And since the answer is probably 'no':
Will NVidia sue them, buy them out, or just ignore them?
He could be whacked with the DMCA on this too. I don't forsee NVidia being that stupid, but it isn't like this will increase market share for NVidia a lot either -- although it does boost their reputation a bit, I think.
I have been wondering when this kind of thing would happen. The thought of all those cycles going to waste while running optimizations code (Linear models) has made me so sad in the past
Here's hoping NVidia will embrace and encourage this technology
I wonder if this technique will work with ATI vid cards as well.
Check my homepage for some laptop,desktop,and networking items for sale, as well as an autographed Amazing Spiderman hologram set!
Halitosis - (n.) Halle Berry's Camel Toe.
My first instinct was that they just wrote a set of tools that run on the bare hardware of the GPU. From what I understand now this is actually much more creative, as the audio data is translated into "video data" and then the GPU processes/renders it. Does this mean that your audio effects would be coded as though they are visual transformations? This could be a rather interesting and innovative way to think about audio.
On a side note its about time something cool has happened to audio. Computer audio hardware has been very stagnant with neither real nor theoretical advancements in an awful long time. In fact my Diamond Monster MX300 still cuts it although the contacts are getting somewhat worn.
Sure it's 40 gflops...but it's 40gflops of instructions that do very few much simpler tasks. 6gflops by a CPU is a completely different story...
People are doing extremely interesting things with modern graphics hardware, including fluid dynamics simulation, cloud simulation and multiplication of large matrices.
A good site for information on it is www.gpgpu.org, where there are perhaps 200 different projects related to general purpose GFX card use.
As the capabilities of graphics cards expand and become more esoteric, perhaps game developers will begin to eschew the use of certain graphics featuers in favor of using those parts of the pipeline to perform generic calculations, such as physics.
Perhaps there are also ways of performing such calculations and using the results as decorative graphics, ie when we're showing decorative ripples on water, perhaps those ripples are artifacts of some calculation that is being used elsewhere in the game.
Intolerance for ambiguity is the mark of the authoritarian personality.
Basically, from what I can glean of the article, it is basically making use of your video card's GPU as a co-processor. It doesn't state that the GPU is better at processing audio, just that in many instances it is mostly idle and thus available.
The GPU is of course heavily optimized (over a regular CPU) for video, and perhaps some of those optimizations would be passed on to audio as well. In the future, if such things pick up, one might well see more "multimedia" card which would incorporate a mixed GPU/SPU or perhaps dual processors?
This makes about as much sense as having html in email.
I hear if you drop LSD, your brain can do the same audio to video conversion much faster than even the Nvidia graphics card can. But that's just what I heard.
How many people just used Adblock?
But seriously - I think that this is great - make it part of the Kernel. ASAP.
seems to be this approach to general purpose computing on a GPU.
Tons of stuff in sound design and effects require floating point -- synthesis, traditional (reverbs, delays, filters, dynamic controllers such as compressors and limiters) and non-traditional (anything else out there) effects and combinations of these (like Reaktor).
The problema with sound these days is not that the processor is too slow, but the fact that one must move tons of data through buses before that one click the user did on screen results on a sound coming out off your speakers/headphones. This results in latency, which can be rather difficult to deal with when sequencing real time phrases and patterns.
We have powerful sound cards that can do a lot onboard in order to keep latency down (some boards claim latency in the sub 3ms range), but I don't think moving the sound data from memory to GPU then to the sound card, mixing it with whatever was done by the CPU, in order to get my final sounds will help to speed things up significantly.
/usr/games/fortune: command not found
I just noticed that there isn't an off the wall Mac comment here, and we are talking about Speed, so let me just say what hundreds of half-wits have said before..."My G5 Mac is better" and and not to mention: "with my 30" Cinema display, that means that its 30 times faster"...I win ^_^.
You wouldn't need more speed if you had my computer (its even complete with speed holes).
It was the NVIDIA NV1 chip, also known as the Diamond Edge 3D.
Dammit, I'm going to get a redundant mod because I didn't search for "acid" in addition to "LSD!" At least I did try not to repeat the same joke as was already posted. Go easy on me! :)
could this mean there will be a movement towards natural event-based synchronization between graphics and audio events in games given a common processor?
A movement, or a revolution? Or a Dance Dance Revolution?
Apple is creating libs to work with many graphics cards acceleration for image processing. The demo was real time effects on video.
Supports ATI and NVideo (lib figures out if you have a useable graphics card, else it just uses the cpu)
http://www.apple.com/macosx/tiger/core.html
How about using the power of your 2nd GPU to process those DVD's while you play Doom3 on the main monitor+CPU combo?
This must be in the Kernel by monday!!!!
what dedicated hardware can do. It's an proven fact and anyone that works with embeded systems can testify to the performance. We need to stop flaunting 3+ gigahertz processors using archaic instruction sets and focus on routing data to hardware that can handle the task.
If the CPU was nothing but a router and directed data to dedicated hardware (network cards, GPU with integrated physics engine, harddisk controller, etc) we can get away from inefficient execution tied up in an architecture that 99% of the market depends on.
Computers were built with modularity in mind. We need to get back to those roots as it's not only a good idea, but the only way we're going to get past some performance barriers.
- Dan
This phenomenon is commonly known as the "Wheel of Reincarnation". Diverting functionality to specialized components, and then folding it back onto the CPU has been going on since the 60s.
A more detailed description of the WoR is available here.
Tom Rokicki computed the Game of Life using Amiga's Blitter. March 17, 1987 UseNet post.
I remember a few years back a company that produced a "media processor card" which had on it the said processor (essentially an ultra suped up DSP)that could be run as either a graphics card with a similar performance to an original Voodoo card, or a sound card the likes of which you only see these days when looking for pro audio equipment.
Philips take on the media processor was called the Trimedia, but the one I'm thinking of was actually sold to the general public, and can't remember the name, the company began with the letter C, and they went out of buisness not long after their initial release... Damn my memory
regards, the_leander
200-800 dollars? Why the hell is audio software so expensive, anyway? I really doubt this software is more advanced than, say, Doom or Photoshop or what have you, and yet if they charge on the upper end of that spectrum, they're acting like it.
This would be a great start to not only getting a system to be multitasking via CPU but getting the CPU to multitask/thread I/O heavy stuff and a bit of FP, then have a seperate subsystem to take care of graphics and sound (multimedia) that way instead of working off of the CPU 'heartbeat' we could very well have both subsystems independant and able to have fault tollerance on each part of the system to handle its own problems. This on paper would seem to make sence and make a system more robust and also keep the OS's honest by keeping the data streams specialized as the type of data is usually specialized in terms of I/O and audio/video type processing.
Possibly even break it down futher and have another subsystem with its own CUP for I/O?? The name of the game is to have evrey thing work at capasity, not storage working at 1000th of the rest of the system.
Could be a good idea ?
A loop, by its nature, continues. If that didn't make sense, start reading this sentence again.
Does anyone have a screenshot?
This would probably look best when viewed with a Viewsonic monitor.
32-bit FP audio has a much larger dynamic range. If you use a 16-bit audio stream, raising the volume can cause clipping (if the values exceed 2^15), and lowering the volume will lose information (the same information is represented using fewer possible values). If you use a 32-bit FP stream, changing the volume is simple: just multiply the sample by the scalar.
he can't be whacked with the DMCA on this
the DMCA does not forbid reverse engineering, but reverse engineering for the purpose of bypassing copyright protection.
Since there is no copyright proctection being circumvented here, the DMCA does not apply
*chuckles* I love this, people are saying how old this tech is by talking about projects from a year ago.
/. about how cool their "new" toys are.
The concept of using a CPU to do I/O and other "OS stuff" for a vector processor is a wee bit older then that.
Maybe you remember the Cray 1? Or all those i860's we used to use on cards back in the 286 days?
Those who forget history are doomed to post on
- Adam L. Beberg - The Cosm Project - http://www.mithral.com/
Apple's core image and video technology allows you to write your own processing algorithms to be run on the video card. I can imagine something like this being used to process audio in Mac OS X.
I work in the video games industry. Using graphics processor for audio is not new. The Nintendo 64 had a "Reality-Engine" graphics coprocessor that also processed sound by uploading new microcode.
If you think about it, things like bilinear/trilinear filtering are perfect for resampling, graphic blendops like add/subtract/modulate are great for audio mixing and can be done with even older fixed function hardware and bit of programming effort. The programmability of new hardware with pixel and vertex shaders improves the generic applications of the GPU by orders of magnitude and allows significantly more non-graphic algorithms to be implemented.
A lot of us have a fancy graphics card in our computers that, unless we're in the middle of a gamer of Doom 3, is hardly being used. Why can't it be used as a paralell processor for anything at all?
Can this idea be expanded to allow any software to use this untapped power transparently? How nice would it be to have my GF4 working together with my cpu during an XviD compression?
If you overclock it, does that mean your mp3s all start to sound ike Alvin and the Chipmunks?
Wait - what happens to the Chipmunk mp3s?
---
ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
sure as fuck wasn't insightful or informative.
"I can see the colors of the sounds I hear"...
The cesspool just got a check and balance.
Since the app runned in DOS, I still had 7 pages of video memory to play around with. Those pages were only used for Extended and VESA initialisation and animation
It was possible to "view" this data by assigning the active page to one that was used to store data... but you only got garbage on screen... I think that the same would happen if you tryed to "view" the sound :)
going to get reconfigurable CPUs either on the motherboard or on the video/audio card ala xilinx fpga ?
@NVidia wink,wink
Too bad there isn't an API for this so that people could try to extend this to other applications. How about using the video card to make MP3 files or a souped up version of WinRAR that uses your video card to compress/decopmpress faster.
the board of soviet price controls will be notified immediately, comrade. obviously, there has been an oversight here.
But there's not even any reverse engineering going on; it is all with published APIs.
I really don't see the benefit. Assuming one can do more sound processing on a video card then your typical CPU or sound card, I still see PCI bus bandwidth being the weak link.
If there's anything remarkable about this software it will be due to the functionality of the software, not the fact that it uses your video card.
GPUs are very purpose-built, and CPUs are pretty general-purpose. Your GPU is like a car factory-- lots of people and lots of specialized machinery that are very good at making cars. You could *ask* them to make a wooden rocking horse, and they might eventually think of a way to use the assembly line, robots, and some tools from the maintenance shack to make it-- but it would take some really creative thinking, and they wouldn't be nearly as good or as fast at it as they are at making cars.
Your CPU is like a room full of contractors with common tools. They can do nearly anything, from carpentry to metalwork, but if you ask them to build cars, they won't be nearly as fast as the car factory folks, just because they don't have the specialized assembly line.
I suppose the inventors of computer graphics www.es.com and OpenGL had nothing to do with it.
Doom1 was an excellent 2.5D game when the big iron was already doing full-scene antialiased 3D.
My NVidea beowolf cluster is faster than your ATI beowolf cluster...yeah...I got past the loading screen of Doom 3
The UAD-1 card is actually a video accelerator card. The VST plugins written for it are just wrappers for specific code performed on the card.
About 4-5 years ago there were some 3dfx commercials that had the engineer walking around the plant talking about how powerful their new processor was and how it could be used to "save the world" then over the loud speaker comes the message "Scrap that, we are going to use it for games instead.", next we see the engineers all croweded around a computer and one screams "Blow his freaking head off!"
Ad Critic used to have them before they went for profit.
This is not the sig line you are looking for... -- Old Jedi Sig Line Trick
The best part is you could probably convert the GPU's buffers back to video, and draw the sound being processed. THat would be SWEET to watch, and probably would look great projected behind a live band doing real-time proc of the main mixing board :-D
stuff |
Sounds a lot like my first 286. It was an old Wyse. The motherboard was an ISA card that plugged into a backplane in the bottom of the case. Of course, the CGA graphics card and MFM drive controllers were separate cards that plugged into the backplane as well. When I asked Wyse how much for a new motherboard, it was more than what I paid for the whole computer.
"It's a dog eat dog world out there, and I'm wearing Milk-Bone underwear."- Norm (from Cheers)
...who boots linux on a GPU :-)
Funny, but it's being done: Slow Scan TV software
There's a blurb on the 6 series of GeForce cards that claim they can do video transcoding; since an hour of 2 pass encoded MPEG2 video takes my P4-3.2c about 2.5 hours, I'd love to get it at least 1x real time encoding speed (for 2-pass encodes) or at least 2x real time (for 1-pass encodes).
Anyone know any more about this? Audio is nice, but its not nearly as CPU intensive as video transcoding.
Its been thought of before, however the performance of a GPU compared to a CPU purely by clock speed or mips is sort of comparing apples to oranges...
GPUs are special purpose.. CPU's are not..
---- Booth was a patriot ----
It seems likely that we'll soon see high octane media coprocessors as standard equipment on PCs. Before long, all PCs will be "audio workstations", as well as video workstations, photo processors, movie theaters, two-way video telephones, game boxes, etc.--a lot of it simultaneously.
Oh, wait. They already are, but they're just trying to do most of this stuff with an x86 chip. Silly. It's not inconceivable that the future of PCs is a block of powerful media processors where the x86 chip will end up being the "code coprocessor"....
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
So can the SETI guys use spare GPU cycles? I know my work machine uses less video than CPU.
Apple free since 1990!
Why buy a video card to do audio processing when you can buy AUDIO CARDS WITH DEDICATED AUDIO DSPS TO DO AUDIO!!!!
Like tc core, a real PT rig, or UA audio card.
These are from companies with years of experience writing PLUGINS THAT SOUND GOOD. Not some promise of doing convolution on a GPU not intended for this purpose.
Arrgh. The processor power is the easy bit, the hard part is writing decent plugins!
coprocessing/acceleration.
Wow.
Amazing.
Awesome.
I've always considered the biggest problem with PC hardware to be the utter *lack* of flexibility.
Sure, the GPU cannot replace the CPU, but it can assist a lot more than it currently does.
Why not just have a CPU that's dedicated to integer math, simple logic, and routing?
Pass off any tougher math to a dedicated FPU, including 3d work. Audio mixing? Hit the FPU, or perhaps another DSP.
Segment the RAM into General Purpose and high-bandwidth, much like we're doing with video cards as it is.
GPUs can't work for all computing problems, but they can probably work for a lot more than they're currently doing. Of course, that would require a massive redesign of PC architecture, as well as the software to support it.
A man can dream, though.
Raptor
"Procrastination is great. It gives me a lot more time to do things that I'm never going to do."
IEEE 32 bit floating point appends a 23 bit mantissa to an implied 1. This effectively gives you 24 bits of precision in your "sample amplitude". Thus, no information is lost in the process of moving from 24 bit integer to 32 bit floating point.
Unfortunately, you've already maxed out the resolution of this data type, and any further manipulations will either have no effect upon, or degrade the quality of the signal.
Consider:
Taking a 24 bit value and multiplying it by 2 would require 25 fixed bits. Since we're using floating point and multiplying by two does not add any "signifigant digits" to the resulting value, the mantissa stays the same and we merely increment the exponent by one.
Note that you still NEED a 25 bit DAC to play back this sample with a gain of 2x.
What if we have to multiply by three? The result has potentially 26 signifigant bits. We can only preserve 24 of them! This, we have to truncate or round (these errors accumulate over time) and have already degraded the signal to noise ratio (we have effectively sampled the original at only 22bits now). Where SNR is roughly equal to #sampling bits * 6dB.
Actually, the idea is similar in that the data is routed back to the bus, rather than just sent to the screen ( or I guess... routed back to the bus and not sent to the screen at all ). So you're right, they are similar, in concept.
Oh, and to continue my nit-pick, that's "Apple has created..."; there will be even more of this offload-graphics-work-to-the-GPU stuff in the next OS release, but a lot of it is in shipping versions, and developers already have prerelease versions of the next system.
At the risk of getting modded down by Intel fanboys, I'm going to point out that PowerPCs are already screaming floating-point chips, though, so there's probably a little less need for this type of trick for folks using PowerPC as compared to folks using x86... the reason you need "G4 or faster for GarageBand software instruments" is that they're real-time synth'd using Altivec, something you just wouldn't do on x86...
I agree that Carmack is being given too much credit here, but Doom almost singlehandedly changed gaming from being strictly 2D to being fully 3D in a very short time frame. Doom was one of the best selling games of all time (along with Duke Nukem 3D), and after it, the coolest games were 3D. It wasn't long after Doom came out that Nvidia and 3Dfx were turning out their first products, which would've flopped if 3D games weren't already in the market. The advent of GLQuake cemented 3Dfx's brief but mighty rise to power. All this was lust for 3D was largely started by Doom. And even now, what is the end-all-be-all of benchmarks for the latest graphics cards. Doom 3. If it can't run Doom 3 well, it it'll sit on the shelf. Don't underestimate Carmack's contribution to the popular explosion of 3D hardware. Without him, 3D might still be a niche market.
Just shows why Creative's monopoly sucks. They didn't innovate quickly enough and dedicated sound hardware is nearly replaced with built-in audio. And now this... There isn't much point to upgrade even decade old SoundBlaster 16, because it does it's job (the few reasons to change are 5.1 audio, irrelevant if you use stereo speakers or headphones, and EAX, which is nothing like the leap graphics cards make every year).
Future Wiki -- If you don't think about the future, you cannot have one.
didn't someone get some instructions working on their graphics card to something simular for encryption not too long ago?
members are seeing something, your seeing an ad
Do more LSD and/or Shrooms.
--- I do not moderate.
Most graphic cards are in a big trouble on data integrity, only SRAM area is 100% sure (you'll be glad about your graphic DRAM behaviour on most cards). If you can not be 100% sure that all the bits are coherent, you'll be in a trouble if you want to do some "sensible" processing that could depend on just one bit (both raw audio and video are relatively inmune to these faults, but what about compressed/processed data to be retrieved?!).
What kind of latency does this pose?
There are currently lesser expensive audio DSP cards on the market (UAD 1 by Universal Audio/Kind of Loud, and the TC Powercore, and nowadays they don't cost much more than a GPU. However on both of those cards the latency is pretty harsh. Many audio system will compensate for the latency in some instances, although some can't/don't compensate for bussed effects, which is unfortunate as reverb is the greatest reason to use a card like this, and it is a bus effect typically, and the extra delay incurred acts to set a huge, usually inappropriate predelay.
Of course there will always be those willing to work around the potential latency issues, however that defeats the purpose that they state on their site (no more freezing/bouncing/yelling at the machine).
This is exactly why Protools TDM systems are still in vogue for higher end studios and producers. The TDM hardware does just about everything as offloaded DSP, therefore the latency is extremely low, fixed, and documented. You can look up (command-click on the track volume display actually) to find out the amount of latency on a track in samples, and if there is a need to compensate than you can figure it out. Although typically one doesn't need to compensate for only 20 samples of latency as that is less than you might find in a analog studio using digital effects.
Shawn's Tech Articles
Make it Open, and I'll be interested. Ah, the pain of not having the coding skills to do this myself, and no cash to purchase the software.
But seriously, if someone started a GPL package along this line, I'm sure a little creativity would give our beloved Penguin all sorts of advantages over M$, things I couldn't even imagine right now...
i mean seriously... what would you ever need that much audio processing power for? distributed key cracking however....
Since AGP is designed to have a huge pipe in one direction, and almost nothing coming back, why aren't additional interfaces added to overcome these limitations.
For example, using a GPU as a synthesizer or audio processor, a couple of ADAT (8 channel digital) outs could be put on the actual AGP card, allowing a user to feed the data into a mixer or soundcard etc.
Or video processing outputted via Firewire only to be rerouted back into the computer for capture.
Of course any of these things could be done internally with ribbon cables to connect to soundcard or motherboard or whatever.
FPS is technical jargon for 'First Posts Sent'.
$5 / month hosted VPS on linux = awesome!
Why are we still building specialized chips like GPUs in the first place? Why has the industry not started to move towards run-time reconfigurable FPGAs? In other words, you would not have specialized CPUs, GPUs, DSPs, and so on, since most of that processing power goes to waste most of the time; instead you use FPGAs that can be reconfigured at run-time to be as efficient as possible for the task at hand. FPGAs are generally not as fast as specialized chips, but using the right run-time configuration for the task at hand can significantly close that gap. These things already exist, but it baffles me why the industry keeps ignoring them when the advantages seem so obvious. Can someone who works in the industry provide the reason? Is it just economics, performance, or both?
Mike
Can't you see its a "Ha Ha" funny joke, not a troll?
I would say its a jab, a slice of life, a humorous observation that whenever the topic of speed comes up, people start bringing up off the wall subjects that start the flames about OS(s).
(Besides, a G5 would actually beat a i386 in audio processing anyway - better pipes)
My school has a mountain of bandwidth... tons of bandwidth.
Price
Nothing to see here; Move along.
It's called LSD.
The GPU is *great* at them. Anything that can be expressed as a massively parallel simulation or effect is a cake-walk for the GPU.
As the author mentions, the bottleneck right now is getting data back from the GPU. However, the more successive steps you can do in a row on the GPU, the better off you are. Even with the new PCI express, this will remain true. The more successive steps you can do without having to retrieve the data, the faster your processing will be.
There are lots of cool demos over at NVIDIA's website that exploit the cool things that can be done with the parallelism of the GPU.
I've been toying with writing a 'Go' simulator on the GPU. Just haven't gotten around to it yet.
I currently have no clever signature witicism to add here.
Well, then how did you afford the graphics card?
:)
If your main concern is games, then you don't need real time high end convolution audio processing anyway.
For those of us that do, it's going to be cheaper to buy quality DSPs with plugins that sound good.
The alternative is to buy a graphics card not designed for the job and then buy software plugins for it to do the job that a dedicated DSP card could do much better.
If you just want a cheap DSP reverb, buy a soundblaster Live, there is even an open source compiler (as10k1) for it so you can write your own DSP code. Perhaps someone will write a 3d graphics engine.
Given that OpenAL is backed by sound card manufacturers, I wonder if they would ever concede to using GPUs to accelerate 3-D sound. I hope that the apparent conflict of interest doesn't hinder progress, if GPUs can really make a difference.
OpenAL is the one cross-platform audio API I've tried that actually _works_, while the other cross-platform options seem to either be stagnant, incomplete, just plain garbage, or so lacking in documentation that no mere mortal could figure them out. Here's to hoping that OpenAL and cross-platform audio on UNIX keeps getting better and better, because we really do need it.
-- "Makes Little Debbie look like a pile of puke!" - Moe Szyslak
the cost of professional studio DSP solutions which can run into the high five-figure range
How is that less than a consumer 3d card???
And no, this isn't for gamers. RTFA. It's about doing audio stuff like measuring and analyzing the acoustic properties of concert halls, etc.
Nothing to see here; Move along.
We've put up with their inept drivers (sorry, you need the installation CD to reinstall drivers!), crappy marketing (Audigy 1 is 24-bit! well, internally, then it downsamples to 16-bit on the way out), and basically constant rehashing of the same product over and over. Meanwhile PC audio is not moving at anything like the pace the graphics are, and it is a damn shame. Do the newest Creative cards even work with SMP properly nowadays?
Really, why would one do that? The ports exist on just about all graphics and sound cards, but I haven't seen any cable, driver, or program that can do anything with it.
When you can get a card like a UAD-1 or a Powercore, and also get great plugins with your daughterboard?
A custom motherboard with like eight X16 PCI Express slots all doing SLI. Now that would be cool.
"the cost of professional studio DSP solutions which can run into the high five-figure range How is that less than a consumer 3d card???" *Can* run into the high five figure range... Most of the time they don't. You should compare consumer 3d cards to consumer audio DSP cards, which cost a lot less. (Check out Uaudio etc, or indeed the humble SBLive) I'm sure really high end graphics cards run into the high five figure range. "And no, this isn't for gamers. RTFA. It's about doing audio stuff like measuring and analyzing the acoustic properties of concert halls, etc." The FA makes no mention of doing spectral analysis. They talk about time domain convolution which is used to do reverbs or simulation of eqs (same thing if you thing about it from an impulse response viewpoint..). You just take an impulse response of the location you wish to simulate and convolve your audio with it. By the way, in the FA it says... "We are currently working on a time-domain convolution that will perform this processing without converting to the frequency domain. This is absolutely impossible in real time using the CPU of the PC, because the calculations required for even short samples are so high, but it is within the realm of possibility on your GPU." Which is rubbish, as you don't get truncation effects when using FFTs for convolution as the window size is irrelevent. This has been solved a long time ago, and is the reason that any convolving reverb sounds the same as any other given the same internal precision and sampled impulse response.
I hear dead people!
-
- - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
GPU were NEVER a threat to cpus. They became only usable for ANYTHING but graphics with the introduction of vertex and pixelshaders, e.g. with the R100 or NV10 chips. Really usable are only chips with ps2, end even those can rarely archive "better then cpu" performance, even with tuned algorithms (main problem is memory access fragmentation breaking the caching strategies and causing pipeline stalls (wasting 100s of cyles) and multipass overhead because many implementations need 1000s of passes).
10 years ago graphic cards had ZERO FLOPS, because they couldnt even do floating point math.
The AGP port was invented because PCI WAS TOO FUCKING SLOW. At the time intel was about to enter the VGA buisness (at that time graphic chips werent programmable, so NO GPUs) with the i740 and later the i752 chips, which had (in comparison) exellent AGP support.
And no, 66Mhz PCI was NO solution, because other cards would pull down the bus. And pci-x was WAY later, and 64bit pci isnt backward compatible.
HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
Actually, TD convolution can be used for analyzing acoustic properties of a concert hall.
Also, when the FA says 'without converting to the frequency domain', why do you go on to talk about FFTs? The convolution operator f (*) g, is equivalent to integral(range of convolution)(f(tau) * g(t-tau)dtau). Now, frequency domain makes this easy, as f(*)g equals F(w)G(w) (product of their transforms into frequency domain). For discrete time sources, convolution can be represented as f(i)(*)g(i) = sum(over 0 to m)(fsubj*(gsubi-gsubj).
Performing a convolution on a lengthy time domain sample is, for the obvious reason, a lengthy process.
Look at it this way. For a pair of n-point sampled data source, to get their convolution over the same n-points (ignoring any possible extensions prior to or post the sample times of the sources), you need to perform n additions, one subtraction, and one multiplication, per sample. So your total number of operations scales as:
n(n+2), or effectively n^2. Which is alright for a short sequence, but if you're convolving by a long convolution kernel, or if you're preserving a long input history, time-domain convolution quickly becomes a VERY compute intensive process.
Now, why you might want to do convolution in TD without going to the FD, I don't know. But it isn't easy.
---
Mod me down, you fucking twits. Go ahead. I dare you.
(I read with sigs off.)
The CPU has a blisteringly fast L1 cache. If the data being processed can fit into the L1 cache then the CPU is faster than the GPU (at least at matrix multiplications, and probably for most other tasks).
On the subject of sound and visibility of it I am reminded of the music video "Gantz Graf" by Autechre. Go check it out, it's an experience.
Of course it runs NetBSD. BTC: 1NT7QvbetmANwaMzhpVL6
"Actually, TD convolution can be used for analyzing acoustic properties of a concert hall."
Strictly speaking, yes, but not mentioned in the article.
"Also, when the FA says 'without converting to the frequency domain', why do you go on to talk about FFTs? "
Bah. I knew someone would pull me up on that.
Because they provide a fast way of doing convolution, even for quite long impulse responses. I wanted to point out that you don't have to use time domain convolution on a DSP just to use long impulse samples. (It's how everyone else does it.)
While direct convolution is roughly (n^2) operations, doing the same using FFT/DFT as part of the process can make it as small as (n log n). (Assuming a fairly big n, for small values direct is faster, also n must be a multiple of 2, sampled impulse observe nyquist limits etc, but with audio all these can be assumed.)
Within those limitations, the result is *exactly* the same as doing a direct convolution, which is why I mentioned it.
See, FLOPS mean `floating point operations', and RC5 key cracking is comprised entirely of integer operations. To answer the question `how well does it crack dnet keys': it doesn't.
I can't tell if there are integer units on a GPU though. These might be useful for the job.
Join the NFSNET. Our prime goal is making little numbers out of big ones. http://www.nfsnet.org/
oooh, lemme see if I can do it on my videocard?.....
...obligatory Simpsons reference: "oh no... Beta^H^H^H^HATI".
;-)
And before anyone asks, no I didn't RTFA.
Prior art? Check out the Apple OpenGL mailing list in a post dated Mon, 3 Feb 2003, Subject: OpenGL for audiophiles.
GPU were NEVER a threat to cpus.
Note that I didn't say Graphics Processors [I use that term since I was corrected by the second reply to my first post] were a threat to CPUs. I said they were a threat to Intel's business. I fully agree that a Graphics Processor isn't designed for a single pipeline execution model using double precision or integer arithmetic - so replacing a CPU with a Graphics Processor is foolhardy. However, if you take the CPU and make it a commodity rather than the key hardware feature, the margin goes away - and so does Intel's profit.
ExtremeTech has some history where they specifically mention (near the bottom of that page) that 'there was also some concern by Intel and Microsoft that the graphics chips were becoming the central feature of the PC architecture, shifting the focus from the CPU and the operating system.' I apologize that I can't get a more specific reference for you - the development of AGP is ancient history on the Internet; there aren't any juicy blogs to point to, and my hard copy items from that time have long since been recycled.
This is a CLASSIC example of politics alive and well in technology. Sony bought Columbia records to make the CD successful after losing out on Betamax. For a more recent example directly in the comptuer industry, look at the give and take between Intel and Rambus on DRDRAM. The best technology does NOT necessarily win, and the companies involved are NOT always doing things for consumer benefit or technology reasons.
Is it possible?
I know you can convolve with an FFT. If you'd read my post thoroughly, you'd realize that. Conv(f,g) in frequency domain is equivalent to mult(f,g). Just as convolution in frequency is multiplication in time. And the article almost certainly realizes that, as they were implying "We're doing it differently than everyone else does".
The point was, if for some reason (as I said, I can't really think of any) you wanted to perform direct convolution, doing it in realtime on a reasonable input history on CPUs is an iffy proposition.
(Technically, N doesn't need to be a multiple of 2 - you can either DFT with a non-multiple of 2 or FFT with a zero-padded multiple, though without more thought than I care to put into it at the moment, I can't tell you what the bounds on that padding need to be - i.e. do you need to pad by the same amount on both input sequences?)
FFT is n(log n), while DFT is n^2 anyways, meaning that if you can't use the FFT and have to drop back to the DFT (again, I don't believe this would ever need to be the case, as I *think* you can non-uniformly zero pad) you're getting nothing from doing it frequency-domain as opposed to time domain.
---
Mod me down, you fucking twits. Go ahead. I dare you.
(I read with sigs off.)
See, FLOPS mean `floating point operations', and RC5 key cracking is comprised entirely of integer operations. To answer the question `how well does it crack dnet keys': it doesn't.
Wrong. Floating point operations on integers are perfectly accurate so longs as you don't go outside the mantissa range for the particular floating point representation.
When all you have is a hammer, every problem starts to look like a thumb.
Back in those dark days, if you wanted to view DVDs on you computer, you had all sorts of options. You could buy a fast CPU and video card that didn't know how to do much more than convert YUV pixels into RGB. You could buy a hardware MPEG2 decoder, and a slow CPU. Or you could compromise and get a moderately fast CPU and a video card that accelerates "motion compensation" and possibly inverse discrete cosine transforms.
Intel was rather partial to the "fast cpu/dumb video" configuration, and the AGP interface was useful for making that possible. I suppose it was all for the best, really, since MPEG4 video is hard, if not impossible, to accelerate with a dedicated MPEG2 decoder.
I have some hesitation on doing everything in NVidia's programmable logic devices. NVidia is today exactly where 3Dfx was in the 90's. In the 90's, 3Dfx was the keystone platform and then they disappeared instantaneously, making Linux completely nonfunctional in 3D until many years.
Now, with Chinese startups having such a technological advantage over NVidia, it's only a matter of time before NVidia follows 3Dfx and takes all this work we've done supporting NVidia PLD's with it.