Speed of rendering...

  • 11 Replies
  • 232 Views

0 Members and 1 Guest are viewing this topic.

Offline FractalDave

  • *
  • Uploader
  • *
  • Posts: 165
    • Makin Magic Fractals
« on: December 14, 2018, 02:32:25 PM »
I'm basically just talking CPU/FPU here, not GPU, however I think the basic premise holds whatever....

I know from my own renders in UF 2 (in 2002 or so) that this machine (dual 6-core Westmere's c. 2010) is around 24*60 times faster than the 486DX I had back then (a render that took 29 DAYS then takes about 29 MINS now).
I'm just doing a background render of a still image at 12000*6750 and total estimated time atmo is 280 HOURS so back then it would have taken 280*60 DAYS - i.e. just shy of 46 YEARS !! (3D render, solid at 8E-10)
Based on this I've realised that there is a point at which if a render will take longer than a given time, it's worth waiting and starting it after upgrade/s !!!
The meaning and purpose of life is to give life purpose and meaning.

Offline Fraktalist

  • *
  • Administrator
  • *******
  • Strange Attractor
  • Posts: 1015
« Reply #1 on: December 14, 2018, 04:06:02 PM »
true, true!


Offline lycium

  • *
  • Fractal Friend
  • **
  • Posts: 15
« Reply #2 on: December 14, 2018, 10:49:01 PM »
Better algorithms and coding practices usually lead to better speedups than Moore's law can provide these days. For example, once you leave UltraFractal land (which I highly recommend for a real programmer like you), it's easy to use something like SSE/AVX to get some nice speedups.

Moreover, you've been paying Apple Tax all these years; if you're building PCs, these days you can get a 12 core 24 thread Threadripper for like 300 euros, which is madness; the core wars seem to just be getting started, too (thanks AMD!). There are rumours of 16 core mainstream desktop CPUs coming, too... but Apple have completely forgotten everything except mobile, it seems.

I'm all about the rendering speed, but these days for CPUs I prefer to max out single thread performance, leave the parallel computation to GPUs.

Offline FractalDave

  • *
  • Uploader
  • *
  • Posts: 165
    • Makin Magic Fractals
« Reply #3 on: December 15, 2018, 03:09:04 AM »
Better algorithms and coding practices usually lead to better speedups than Moore's law can provide these days. For example, once you leave UltraFractal land (which I highly recommend for a real programmer like you), it's easy to use something like SSE/AVX to get some nice speedups.

I'm far more interested in ease of testing nowadays so UF is exactly what I need - otherwise I'd still be working on MMFrac ;)

Edit: I do agree about speed-ups but generally they're more related to better/new updates to mathematical algorithms rather than just implementation savings down at code level - e.g. proper DE, analytical or delta and the changes in the way of getting the value and more recently adding Monte Carlo stuff - all of which speeds up UF code just as much as if someone was coding at a lower level.

UF isn't that bad - attached (general escape-time IFS) full view Menger took 1.7s and *40 zoom 7.8s :
« Last Edit: December 15, 2018, 03:23:40 AM by FractalDave »

Offline FractalDave

  • *
  • Uploader
  • *
  • Posts: 165
    • Makin Magic Fractals
« Reply #4 on: December 15, 2018, 03:22:24 AM »
Moreover, you've been paying Apple Tax all these years; if you're building PCs, these days you can get a 12 core 24 thread Threadripper for like 300 euros, which is madness; the core wars seem to just be getting started, too (thanks AMD!). There are rumours of 16 core mainstream desktop CPUs coming, too... but Apple have completely forgotten everything except mobile, it seems.

I had to get Apple for the "day-job" and as an OS it wipes the floor with that other commercial one, especially the development cost/support (at least if you stay 100% legal for dev).
Next machine I may well switch to Linux and get someone competant to build one from parts I buy - can't do that myself, me and hardware do NOT mix well except via software ;)


Offline FractalDave

  • *
  • Uploader
  • *
  • Posts: 165
    • Makin Magic Fractals
« Reply #5 on: December 15, 2018, 03:29:34 AM »
leave the parallel computation to GPUs.

I'll switch to those but only when cheap cards natively handle double and specified extended ;)

Oh - and recursion :D

Offline hobold

  • *
  • Fractal Phenom
  • ****
  • Posts: 57
« Reply #6 on: December 15, 2018, 09:40:41 AM »
TL;DR: Moore's Law has run out of steam quite a while ago.

Moore's Law, in the loose sense of "free exponential performance increase each year", actually ended late 2000, when Pentium 4 came to market. That processor burned more energy, was physically larger, and more expensive to produce than its predecessor, but did not offer much of a performance improvement, unless you used the brand spanking new SSE2 instructions and also the newly introduced simultaneous multithreading.

Some of the P4's shortcomings were unlucky design decisions - it was meant to scale to much higher clock speeds than it ever did and was designed accordingly. But the 90nm transistors it was built from were hotter and slower than expected, despite being (relatively) large in order to meet desired performance. Larger sizes meant longer distances for signals to travel, and longer distances meant more energy per bit sent, adding to the heat problem.

Ever since 2000, processor performance improvements were no longer exponential, and no longer free. Chip designers have had to put in more effort than in the past to make processors faster by being smarter. And yet performance increases since then were more on a linear slope rather than exponential. In the last 5 or 6 years or so, the slope even keeps flattening, i.e. we have hit diminishing returns.

It is true that certain benchmark scores still kept improving nicely. But general spaghetti code sees no benefit from wider SIMD or more numerous SIMD ALUs or from other instruction set extensions that compilers cannot automatically and widely apply. The cost of performance improvements these days has become visible to programmers, because new hardware doesn't run the old code notably faster without a rewrite.


Still, it's been nice to live in times of exponential improvement. I remember the moment when I realized that my trusty Radeon HD 5870 had literally 10^9 times higher floating point throughput than the 6510 in my first home computer. A *BILLION*. In just 25 years. It would be inconceivable if it wasn't real. :)

Offline FractalDave

  • *
  • Uploader
  • *
  • Posts: 165
    • Makin Magic Fractals
« Reply #7 on: December 16, 2018, 02:50:24 AM »
TL;DR: Moore's Law has run out of steam quite a while ago.

I think of it in terms of speed for end-user *with new software*, specifically with the most speed sensitive stuff like cutting edge games or fractal rendering and in those terms I think the hardware improvements will obey Moore's for a while yet, we may well end up with 256 or even 1024 processor boards though ;)
Also the next generation of "CPU" hardware (in physics terms) - though some time off yet - is likely to cover many Moore's cycles in a single step.

Offline quaz0r

  • *
  • Strange Attractor
  • ******
  • Posts: 96
« Reply #8 on: December 16, 2018, 03:22:32 PM »
Quote
I'll switch to those but only when cheap cards natively handle double and specified extended

amen!  though, quite depressingly, things are now going in the opposite direction with half precision junk for machine learning or whatever  :fp:  :fp:  :fp:
my hope for affordable compute cards that sport respectable performance for at least double precision is now even more dismal than it already was  :'(

though perhaps if gpu makers start going in the direction of specialization over true general-purpose designs, like with nvidia's latest cards sporting raytracing-specific stuff, perhaps that will help recreate a need for real general-purpose cards, at which point the excuse of "you dont need high precision for games" will no longer apply...though i guess they will still be able to get away with classifying it as a niche high-end scientific/enterprise sort of market where they can charge a million bucks per card and give zero fucks.  :-[

Offline Spyke

  • *
  • Fractal Friend
  • **
  • Posts: 12
    • Spyke Art
« Reply #9 on: December 16, 2018, 08:59:04 PM »
I agree Moore's law is running out of steam. However, I think it started to slow more recent than 2000.

Not sure if I am providing new information or repeating what every else is saying in a different way…

Around that time, 2000, speed ups were achieved by adding deeper pipelines, bigger cache, branch prediction, speculative execution within the core, and using multiple cores. Intel's earlier success, and legacy burden dictated this path.

I was working on microprocessors at the time, and I advocated a measure of operations per watt rather than operations per second. (I did not come up with the concept, that was someone smarter than me.) Anyway, branch prediction, deep pipelines, cache, etc. mean many more transistor state transitions for each unit of useful calculation. More power, more heat per operation. Speed improvements are then not proportional to die size or transistor count gains. Much of this is due to Intel's CISC design.

Today, Moore's law is slowing. But there is still untapped (or rather being tapped by nvidia and amd) potential for gains with different processor architecture. RISC and SIMD provide a much more efficient design to deliver more computational results from the same die size / gate density. Or course new software algorithms are needed as well.

(I left this field over 10 years ago, and I have not kept up. So I apologize if some of my statements are already out-dated.)
Earl Hinrichs, offering free opinions on everything.

Offline FractalDave

  • *
  • Uploader
  • *
  • Posts: 165
    • Makin Magic Fractals
« Reply #10 on: December 17, 2018, 10:47:01 AM »
Today, Moore's law is slowing. But there is still untapped (or rather being tapped by nvidia and amd) potential for gains with different processor architecture.

I think x86 will go, the (near) future is ARM.....

Offline hobold

  • *
  • Fractal Phenom
  • ****
  • Posts: 57
« Reply #11 on: December 17, 2018, 06:00:58 PM »
I was working on microprocessors at the time, and I advocated a measure of operations per watt rather than operations per second. (I did not come up with the concept, that was someone smarter than me.) Anyway, branch prediction, deep pipelines, cache, etc. mean many more transistor state transitions for each unit of useful calculation. More power, more heat per operation. Speed improvements are then not proportional to die size or transistor count gains. Much of this is due to Intel's CISC design.
Oh, some of 'x86 quirks actually come in handy for saving energy and improving processing speed. Quite a few CISC instructions encode short chains of dependent instructions (archetypical example is load-op), and Intel has found ways to turn these producer-consumer data flow patterns to an advantage. They don't talk about it publicly, though, and sing the usual "find more parallelism in code" songs of typical papers published in the field.


xx
Chaos to speed up numerical algorithm

Started by gerrit on Physics

1 Replies
289 Views
Last post February 15, 2018, 12:40:28 PM
by knighty
xx
Rendering Help

Started by AbrahamLeWizard on Mandelbulb3d

6 Replies
220 Views
Last post February 24, 2018, 03:47:55 AM
by AbrahamLeWizard
clip
correct rendering of z=exp(z)+c

Started by v on Noob's Corner

2 Replies
108 Views
Last post December 20, 2018, 03:38:47 AM
by FractalDave
xx
Rendering 16D fractals with sedenions?

Started by greentexas on Fractal Mathematics And New Theories

1 Replies
152 Views
Last post June 26, 2018, 12:54:03 AM
by Ebanflo
clip
Rendering depth buffer from DE

Started by utak3r on Synthclipse

6 Replies
175 Views
Last post March 05, 2018, 08:43:57 AM
by utak3r