Jump to content

Software vs. Hardware

Wopschi

To what extent can graphic cards perform better through software optimization? I mean some games out there look so good and run super well on mid range graphics cards.. now i am wondering if we really do need more hardware to make games look even better. I mean how much more cuda cores do you want to squeeze into upcoming nvidia cards just to gain 5fps? Do you guys think it's similar to apple iphones where they have to release new graphics every two years to sustain their business?

Link to comment
Share on other sites

Link to post
Share on other sites

Well... Many times software is more important than the hardware, but sometimes the code can't improve that much. For the graphics cards sometimes it's easier to build a powerful GPU instead of perfecting the code for one game. 

Link to comment
Share on other sites

Link to post
Share on other sites

FYI the newer GTX 9xx series cards have fewer cuda cores than the 7xx series

CPU: i7 4770K 4.2Ghz, Mobo: Asrock Fatal1ty Z97x Killer, GFX: EVGA GTX 780 Ti SC ACX (x2 SLI), RAM: G.Skill 1600Mhz CAS 9 16GB, DSK Intel 530 120GB OS, Crucial M500 120GB, WD 1TB Blue, WD 1TB Green, PSU: Corsair AX1200i, Case: Obsidian 750D. 

SERVER HP ProLiant Microserver N54L, FreeNAS: ZFS, 8TB (4x 2TB WD Red), RAID Z2, 16GB ECC RAM, 1Gb/s Link Aggregated:  Running as NAS, Plex, & ownCloud

Link to comment
Share on other sites

Link to post
Share on other sites

FYI the newer GTX 9xx series cards have fewer cuda cores than the 7xx series

 

That's not exactly true.

The GTX 980 has fewer cores than the 780 but that is only because the 980 is the GM204 which replaces the GK104, not the GK110 which is in the 780s and Titans...

 

The GM204 supposedly has 2048 cores whereas the GK104 which it replaces only had about 1536 cores. 

I suspect we will see a GM210 or something with 3000+ cores at some point.

Link to comment
Share on other sites

Link to post
Share on other sites

Some of things can't be optimized to the stage it could be notable. Cool example is real time ray tracing. You can't optimize ray tracing much, therefore we need "moar powwa"

Link to comment
Share on other sites

Link to post
Share on other sites

They really do depend on each other. You can't say that the hardware should be more developed then the software.

 

Let's say if you were to have a amazing Algorithm which solves a solution within a instance. For example you want to calculate 9*7.

Well there are many ways you can calculate this, either do something like

result = 0

repeat 9 times:

result + 7

 

So basically here you'd add 7 to x 9 times which is a way to multiply, so this would run in a loop 9 times. 9 tasks will be called.

Let's say we make a processor which can perform a task in 1 second, well this would mean that it would take 9 seconds to solve 9*7.

 

But what if we swap over the numbers? 9*7 is the same as 7*9 and this instead would add 9 to x 7 times. So something like this

Let's say result = x*y.

x = 9

y = 7

result = 0

 

if x > y

swap x and y

 

repeat x times

add y to result

 

Well this would only take 7 seconds instead and let's say it would take 1 second to swap and check. So in total you safe 1 second for calculating this with good software.

 

But we can do better.

 

doing 10 * 7 is basically the same as moving the 0 from 10 to 7. So instead you can do something like 9*7 = 10*7-7 and the way you could calculate 10*7 is by moving the zero from 10 to 7

x = 9

y = 7

result = 0

 

if x + 1 = 10

result = x with 0 attached (70) - x

 

So over here you don't even call the task twice!!! You just have 1 task, since 1 task takes only 1 second you basically calculated 9*7 in 1 second instead of 9 seconds with good software.

 

Well you can do all of this or build better hardware which performs a task quicker. Well I'd say doing all of that would be better since developing software is much cheaper then developing hardware. changes to software is not permanent but to hardware is.

 

But then again Software has it limits as well. I can't think of a quicker way to calculate 9*7 and because of this I could instead improve my hardware to perform a task within 0.2 seconds so I'd safe time like that. 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×