Really what is the problem with this
The problem is that a tool is being used weirdly. Is a PS3 really a more powerful parallel computer per dollar than the various cards from Nvidia and ATI? Maybe it is, but if it is, then I have a gripe against Nvidia and ATI.
It is not. Plus with CUDA, there is much more scope for expandability with new GPUs coming to the market every so often. Why did they use PS3s?
Then you would be happy to know that Nvidia's new Fermi chip supports ECC throughout the architecture.
He should've used something like CUDA instead, for long term gains. This would have shown far better performance than the Xbox's GPU (which is quite dated now), and easy scalability as better GPUs keep coming to the market. His familiarity with Xbox programming might have enabled him to come up to speed with CUDA quickly.
Isn't this the OS X version which has OpenCL integrated into it? If yes, is that not considered a big enough improvement?
Similar experience here. My Compaq Presario R4000 laptop stopped working abruptly while I was sitting in the university lab. It wasn't even plugged in, was running off the battery, and the display just went blank. The LCD had probably conked off, for I could run an external DFP off it. Anyway, since it was still under warranty, I shipped it off. I got a call from the service center, saying that I had dropped liquid on it, and the hard drive, motherboard, CPU and LCD were all shot and had to be replaced, and gave me a bill of around $700 (original cost of the laptop was $1200). I was livid, but no amount of reasoning/cussing changed anything. "We'll ship it back if you don't want to fix it". Fucking turds, those Compaq folks. Will never buy anything from them every again, and anyone who's heard this story has refused to touch HP/Compaq again.
Oh and the best part? I had purchased a $99 user-damage covering on-year warranty from them when I bought the laptop. So they had to replace everything or me, essentially handing me a new laptop. I got lucky.
Yeah, Vista-32 on my laptop with 4GB RAM shows 3.5GB RAM installed. I have an 8600M with a 256 MB framebuffer so all PCIE devices including it fit in that 0.5GB. I use Linux-32 as my primary desktop though, which I think uses HIGHMEM to access memory above 896MB (more knowledgeable kernel hackers correct me if I'm wrong), which isn't too efficient. One of these days I'll install a 64-bit OS, I keep telling myself.
Nope. GPUs stopped mapping the entire video memory into physical memory a long time ago as their video memories increased (except Intel GPUs, maybe, since they still have little). Should be a lot less than 1GB per GPU now IMO. They use hw magic to make the entire memory accessible.
No, Windows can only access 3.5GB of system memory, the remaining 0.5GB will be mapped above 4GB in the physical address space. When you have lots of PCI devices in the system, they take up some space in the physical address space. So if your PCI(E) devices take up 1GB of space, the BIOS will fit less of that 4GB of RAM into the 4GB physcial address space. Your PCI devices would would already be allocating BARs like I said earlier. Like AC said, you can enable PAE to reclaim some of that lost space. I know there is a flag in XP (Run:msconfig, Advanced:) to enable PAE, but I don't know if that has any effect.
No graphics card maps the entire framebuffer into the physical address space, even on 64-bit OSs. I'll just use up a few 10s of MBs for BAR0, a few more for BAR1, and so on. The driver will manage all the framebuffer memory for you, all the client has to do is call the equivalent of malloc().
For those who've no time or inclination to read the article:
1) The attacker should first modify system MTRR
register(s) in order to mark the region of system
memory where the SMRAM is located as
cacheable with type Write-Back (WB).
2) Attacker now generates write accesses to
physical addresses corresponding to locations
where the SMRAM is located.
3) Finally attacker needs to trigger an SMI, which
will transfer execution to the SMM code. The CPU
will start executing the SMM code, but will be
fetching the instructions from the cache first.
Memory fault - where am I?