Let me share a little bit of my programming experience:
There is always an endless list to do for any worthwhile project --- to streamline this, to speed up that, to add this feature, to fix that bug.... and so on.
It's a chore to keep up with all these, I tell you, but as someone who make a living doing programming, I learn to keep my head up by drawing up a plan.
You see, bug fixing is important, but I need to be able to sort out those bug reports and determine which bug must be fixed
NOW, which bug can wait.
Same as features.
There are features that would be nice to have, but it wouldn't add much to the whole program. These I put them on the "to do" section of the list.
But then, there are things that would add A LOT to the program. These I put them on the "urgent" section of the list.
Speaking of Terragen, offloading the rendering part to GPU fits this description.
Nvidia doesn't have any GPU that can do double precision yet (maybe they will have one available by 2011) but ATI does, now.
ATI doesn't have CUDA, but it does have other tools available for programmers. Please refer to this page (
http://developer.amd.com/GPU/Pages/default.aspx )
There are SDKs available which cab help programmers in offloading their graphics onto ATI's GPUs.
Maybe the guys behind Terragen can take a look-see into what ATI has for offer, and maybe give it a spin.
My estimation on a speed up of 10 times via an ATI 4870 GPU, as versus that of the use of a 4-core i7 CPU, turns out to be a very conservative estimate.
A friend of mine who does video programming told me that offloading double-precision calculation to 4870 GPU he constantly gets over 40 times the speed on the best i7 on the market. He also told me that in some cases, he has managed to tune the application to get almost 60 times speed boost.
40 - 60 times !!! Can you imagine that?
But even if Terragen gets a 10 times speed boost, I would already be very happy !
And btw, I use 4870 as the example since it's already out in the market since July of last year and a lot of people are using it.
Do you know that the new 5870 (which is still in short supply right now) has TWICE the stream processors of 4870? Instead of 800 Stream Processor (4870), the 5870 packs with
1,600 Stream Processors !
Which means, by next year, people using 5870 will get an at least a 20 times speed boost (with a possibility of up to
120 times speed boost !!!) if Terragen can offload its rendering to the GPU.
Which means, something that normally takes
four hours to render can be completed in just
two minutes.
How many of you would pick your jaws from the floor, if that happens?
Quote from: Oshyan on November 06, 2009, 10:31:37 PM
While we would love to take advantage of this technology soon, as PG has said the reality is that it's not really mature yet. OpenCL is the best bet since it is not specific to any one company's GPU technology, but it is still not finalized, much less widely understood or deployed.
This is also an important and very telling quote "they think it should be about a five month job with a team of 2 or 3 depending on the implementation". Now if you estimate conservatively, which is always a good idea in software development, you would probably say 6 months with 3 people. We only have 2 developers *at all* currently, and even if we were able to add another one, that would mean stopping development on everything else to concentrate on this for 6 months. Is it worth it? Questionable. There are a lot of other features that could be added in that time.
The other thing to consider is that as time goes on and these systems and APIs mature, it will get easier and faster to develop for them. What may be a 6 month, 3 person job now, could become a 3 month 2 person job in a year. That seems like a much better use of time to me.
In the end we have to choose our development targets very carefully. We have limited resources and a lot of features to work on. The more successful we are (the more licenses we are able to sell), the more we can put back into financing faster and better development, and that's something we're committed to. So tell your friends to buy TG, or better yet buy it for them for Christmas.
- Oshyan