Haswell not as slow as thought, just misunderstood!

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

Thread Tools Search this Thread Display Modes
Old 08 August 2013   #1
Haswell not as slow as thought, just misunderstood!

The non programmers might balk at the text, but some of the graphs should be plain enough:

AVX2 turns out to be much better than originally expected if properly optimized for.
Intel's latest compiler (which has always been ridiculously strong on numerical) already hinted at that, but it was hard to get past the rumours of Intel making it purposedly so for the sake of making them appear better than they are. When GCC pulls it off though you know it's outside of marketing scheme and well into "it is so" territory.
4.9 of GCC might do an even better job again.

Turns out if the compiler does a good job of autovectorization and is used to specifically target AVX2 (the newest SSE like instruction set on Haswell) there is a very real benefit to be had on the cheap.

Sadly, most of the apps you use day in and day out not only aren't built to that level of optimization, they are often compiled largely, if not entirely, with ancient compilers that will barely tap SSE2.
Come, Join the Cult http://www.cultofrig.com - Rigging from First Principles
Old 08 August 2013   #2
Quote: ...most of the benchmarking that happens at the other review sites is done using generic pre-compiled binaries rather than building from source with optimizations for a given architecture.

Yeah, because we all have source code for Maya, Nuke, Houdini, After Effects and everything else we use on a daily basis. Don't get me wrong, I love Phoronix, but for the average user those benchmarks won't mean anything for another five years. Thanks for the link!
Old 08 August 2013   #3
Well, as far as choosing a CPU for existing DCC apps, sure, but then for a lot of people you might as well get a dual core as long as you can OC it to 5Ghz given how few actually really squeeze their money out of multicore.

But for anybody working in software this is very relevant.
The Intel compiler also does an excellent job of exploiting those instructions and can do downright black magic with autovectorization, and more prominent chunks of Maya every version go through that and TBB.

Plus, I was tired of the hardware forum being just a "help me build my first machine!" forum, and thought an actual insightful hardware article written by people with a clue, as opposed to completely ignorant hacks reviewing CPUs on a lot of websites, would have been a breath of fresh air
Come, Join the Cult http://www.cultofrig.com - Rigging from First Principles
Old 08 August 2013   #4
it's cool stuff

hopefully everyone gets on top of it within the next few software releases
Old 08 August 2013   #5
The breath of fresh air was definitely appreciated! I was just grumbling about the state of technology in the business both software and hardware.
Old 08 August 2013   #6
this is nice but it's not likely to hit much software. Most CG software barely makes it out the door running so they can get to work on the next thing to upgrade to. SUCKS LESS ON HASWELL isn't a bullet point that sells software, unfortunately. Autodesk still needs to make mental ray on Windows not run slow as hell.

Last edited by cgbeige : 08 August 2013 at 03:51 PM.
Old 08 August 2013   #7
Intel is increasingly trying to address needs of specific markets but it looks like the "one cpu architecture fits all" model isn't enough anymore.

AVX2 is yet another extension which currently is only available to very few people who happened to buy a comp with a Haswell cpu. So what? How many software devs will make the effort to optimize their apps for a possible %30 performance gain? Very few. Devs are not living in the late 90' or early 2000's anymore.

It also amazes me how Intel is bringing extensions like AVX2 on its consumer cpu's first.

Intel should build cpu's which have "32-64 low clocked cores plus one very fast core" A cpu that can handle the best of both worlds. Otherwise ARM will eat away the bottom, and GPU's will eat away the top of intel's remaining cake.
"Any intelligent fool can make things bigger, more complex & more violent..." Einstein
Old 08 August 2013   #8
i couldn't disagree more. Nobody has ever tried to make a 'one cpu fits all' product. There has always been an array of high speed, many cores, low power, small size, specialist cpus for all sorts of applications.

CPU manufacturers have continuously added extra instruction sets and units; FPUs, AVX, 64bit, SIMD, SSE 1-4. Hardware cant be retroactively upgraded, the best you can do is make the improvement, then when they have enough market penetration, software makers will start optimising for them. If you never add them because there wont be enough to make it worthwhile, then no improvement ever gets made.

And a 30% speed bump? jeebus christo thats a hell of a speed up, if compiling for that gets a 30% speed bump, most programmers would bite your arm off for such an improvement. But to then say that a 64-core cpu would benefit people more is just silly, optimising for many cores is probably the most difficult thing to do, we're still many years away from general consumer applications being able to scale much higher than 3-4 cores. Other than video encoding and 3D rendering which are much easier to run parallel across many cores, youre not going to get any games using more cores.
Matthew O'Neill
Old 09 September 2013   #9
Originally Posted by mustique: Intel should build cpu's which have "32-64 low clocked cores plus one very fast core" A cpu that can handle the best of both worlds.

If you look at the efficiency of a setup like that it doesn't make sense to implement. The only way to keep processors reasonably efficient is to dynamically change the clock speed on the processor cores. So any of the slow cores can become the very fast core for a moment when needed (a lot of slow cores or a fast core, not both at the same time). That's why modern processors have "turbo" as the marketing folks call it instead of a dedicated "fast core" for single threaded tasks.
Old 09 September 2013   #10
I know that Arnold has been utilizing Intel's SSE4 for a few years now but don't know about AVX. I remember at Siggraph 2012 in Los Angeles Marcos Fajardo talked about working with Intel for optimizing their renderer for their CPUs.

Interesting look at what is possible with AVX2 but like others have said I don't expect to see it used in most CG applications.
Arnold-Hiero-Mari-Maya-Maxwell-Mocha Pro-Modo-Mudbox-NukeX-PFTrack-RealFlow-VRay

Last edited by animationguy2100 : 09 September 2013 at 03:55 PM.
Old 09 September 2013   #11
Thread automatically closed

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
Thread Closed share thread

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Society of Digital Artists

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump

All times are GMT. The time now is 03:00 AM.

Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.