> There's essentially no reason to prefer the aligned load/store commands over the unaligned ones - if the actual pointer is unaligned it will function correctly at half the throughput
Getting a fault instead of half the performance is actually a really good reason to prefer aligned load/store. To be fair, you're talking about a compiler here, but I never understood why people use the unaligned intrinsics...
There are many situations where your data is essentially _majority_ unaligned. Considerable effort by the hardware guys has gone into making that situation work well.
A great example would be a convolution-kernel style code - with AVX512 you are using 64 bytes at a time (a whole cacheline), and sampling a +- N element neighborhood around a pixel. By definition most of those reads will be unaligned!
A lot of other great use cases for SIMD don't let you dictate the buffer alignment. If the code is constrained by bandwidth over compute, I have found it to be worth doing a head/body/tail situation where you do one misaligned iteration before doing the bulk of the work in alignment, but honestly for that to be worth it you have to be working almost completely out of L1 cache which is rare... otherwise you're going to be slowed down to L2 or memory speed anyways, at which point the half rate penalty doesn't really matter.
The early SSE-style instructions often favored making two aligned reads and then extracting your sliding window from that, but there's just no point doing that on modern hardware - it will be slower.
The Babylon 5 team had tried to prepare for that as well by keeping digital masters of all the effects. It would have meant recompositing, which isn't necessarily cheap, but in theory they could have run the exact same effects at a higher resolution.
Unfortunately, Warner Brothers lost those files. Rumor has it when they sent copies to Sierra (really Vivendi at the time, just before the Activision acquisition) for a Babylon 5 videogame the WB Archives team accidentally sent their only copy and that when the videogame project was shutdown they destroyed the copies per the IP license agreement.
There's a high probability that even if WB had had the digital masters of the effects, they probably still would have stuck to the 4:3 restoration over the 16:9 restoration to avoid recompositing costs, but it's still such a weird swing of bad luck that the production team thought ahead about HD technology well enough as well as anyone could at that time and yet the 4K copy we have in this timeline is in the wrong aspect ratio.
I don't know, currently watching Babylon 5 Season 3 and I think the CG is pretty impressive. It's not high resolution or sharp, but the ray tracing is excellent. A lot of moving parts flying around everywhere with lighting and planets in the background.
What he's talking about is that the CGI in B5 was filmed in 4:3 and not in 16:9 like the rest of the show. When they did the "high res" releases they had to make the choice of doing everything in 16:9 or in 4:3.
In 4:3 it looks good and like the original airing show, in 16:9 any non-digital/composite shot looks freaking fantastic. But once you get to any digital or composite shot it takes a nose dive in quality.
A very well written show. It's crazy to think a lot of people don't even get to watch this, because it's so hard to find. I couldn't find it anywhere (except for DVD's) so I had to resort to torrents.
There's a 4K 4:3 remaster streaming on HBO Max. It wasn't exactly well advertised (certainly not to the extent that it has been hard to miss this Mad Men advertising), but it exists and is a good way to watch the show. Feels a bit less cinematic not being in 16:9, but it looks good other than that because the show was shot to be 4:3 safe (as that was still the most common TV at the time).
I loved B5's story, but no remaster is going to fix the cheeseball acting of the show. It felt 200 years old even when it was airing. (Sigh, I'm probably still going to rewatch it...)
That's not a binary choice. Find yourself under the wrong governance and you'll find your loved ones disappear pretty quickly, even if you do toe the line. The people who treat populist politics as a sport are the people who don't have personal experience of that, or convince themselves they're insulated from the repercussions.
Getting a fault instead of half the performance is actually a really good reason to prefer aligned load/store. To be fair, you're talking about a compiler here, but I never understood why people use the unaligned intrinsics...
reply