Floating Point: C-ray

Shifting over from integer to floating point benchmarks we have C-ray. C-ray is an extremely simple ray-tracer which is not representative of any real world raytracing application. In fact, it is essentially a floating point benchmark that runs out the L1-cache. Luckily it is not as synthetic and meaningless as Whetstone, as you can actually use the software to do simple raytracing. That is not the kind of benchmark we like to use for the evaluations of server CPUs, but since our first efforts to port some of our favorite applications to OpenPOWER failed, we settled for something easier. We knew we would have the POWER8 system only for a few weeks, so we had to play it safe.

First we compiled the C-ray multi-threaded version with -O3 -ffast-math. To understand the CPU performance better, we limited C-ray with taskset to one or two threads (CPU 0 and 18) on the Haswell-based Xeon and one to eight threads on the POWER8. We also kept the output resolution at 768x432 to keep the render times in check. The "sphfract" file was used as input.

C-ray 768x432 on one core

Real floating point intensive applications tend to put the memory subsystem under pressure, and running a second thread makes it only worse. So we are used to seeing that many HPC applications performe worse with multi-threading on. But since C-ray runs mostly out of the L1-cache, we get different behavior. Still, 8 threads of floating action seem to be too much: the POWER8 delivers the best FP performance at 4 threads. At this point, the POWER8 core is able to deliver 20% higher floating point performance than the Haswell Xeon.

Next we used all 160 (20 x 8 threads SMT) or 72 (36 x 2 threads SMT) threads and increased the resolution to 3840x2160.

C-ray rendering at 3840x2160

With a core count that is 80% higher, there is nothing stopping the Xeon E5-2699 v3 from taking the top spot. Still, the POWER8 delivers solid performance and outperforms the slower Xeon E5-2695 v3 by 5%. Although the real world relevance of this benchmark is small, we now have an idea of how good the "basic FP" performance is. Otherwise in real world applications, the use of AVX-2/VSX and the available bandwidth will play a role.

Influence of the Compiler: Integer Floating Point & Compilers
Comments Locked

146 Comments

View All Comments

  • joegee - Thursday, November 19, 2015 - link

    It was an awesome community. I learned so much from everyone. I remember the days when we'd write pages arguing whether AMD's new 64 bit extension to x86 was truly 64 bit. The discussions could be heated, but they were seldom rude. I wish there were something similar today. :/
  • Kevin G - Saturday, November 7, 2015 - link

    Aces brings back memories for me as well even though I mainly lurked there.

    A solid chunk of that group have moved over to RWT.
  • joegee - Thursday, November 19, 2015 - link

    What is RWT?
  • psychobriggsy - Friday, November 6, 2015 - link

    Get back to Aces Hardware you!
  • JohanAnandtech - Saturday, November 7, 2015 - link

    Like Ryan said, I have been working 11 years at Anand. In other words, it is great working at Anandtech. AT is one of the few tech sites out there that still values deep analysis and allows the editors to take the time to delve deep.
  • joegee - Friday, November 6, 2015 - link

    And still writing as well as you ever did! Keep up the good work, Johan!
  • rrossi - Saturday, November 7, 2015 - link

    Dear Johan nice article. Did u ever consider sparse system solving (with preconditioning) as a sensitive benchmark? It is a crucial stage of most scientific applications and it is a bandwidth limited operation with a high degree of parallelism. It would be definitely interesting to see how the power 8 fares on such a test. If you are interested I think I could provide a pointer to a simple benchmark (to be compiled). If you feel it may be interesting just drop me an email.
  • JohanAnandtech - Saturday, November 7, 2015 - link

    Interested... mail me, I don't have your mail. See the author link on top of the article.
  • Ian Cutress - Saturday, November 7, 2015 - link

    I'd also like to be pointed to such a benchmark for workstation style tests on x86. Please email ian@anandtech.com with info :)
  • MartinT - Friday, November 6, 2015 - link

    Johan's been with Anandtech for more than a decade, and has been publishing on the subject since the late 90s.

    But I very much second your "Niiiiice!," as reading his name always reminds me of the old days over at aceshardware, and I'm always looking forward to his insights!

Log in

Don't have an account? Sign up now