Author Topic: Ryzen  (Read 10538 times)

0 Members and 1 Guest are viewing this topic.

Offline Mito [PL]

  • 210
  • Proud Member of Slavicus Mechanicus
Of course. I had in mind exactly
Quote
[...] further subdivide those tasks so that the engine spreads its load optimally across an arbitrary number of cores.

By the way, since YouTube has been flooded several hours ago with Ryzen R7 series release videos... Impressions?
How do you kill a hydra?

You starve it to death.

 

Offline The E

  • He's Ebeneezer Goode
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Of course. I had in mind exactly
Quote
[...] further subdivide those tasks so that the engine spreads its load optimally across an arbitrary number of cores.

But what I want to know from you is whether or not you actually realize how hard this is, and why it is unlikely that such an optimal use pattern will ever emerge on engines that run on home PCs.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline Mito [PL]

  • 210
  • Proud Member of Slavicus Mechanicus
It's not that I have experienced programming such things (of course I didn't), but... Yeah, I get that programming something that isn't just a synthetic test for proper multitasking would be goddamn hard. But it wouldn't be impossible, I suppose. I think it would happen if large game developers won't be able to expect breaking another single-core performance record by Intel :P
But developing such a feature would definitely be very expensive though.
How do you kill a hydra?

You starve it to death.

 

Offline Spoon

  • 212
  • ヾ(´︶`♡)ノ
Ryzen looks super promising, equal or superior performance to most of its direct i7 counterparts, except the R7 series costs significantly less.
Urutorahappī!!

[02:42] <@Axem> spoon somethings wrong
[02:42] <@Axem> critically wrong
[02:42] <@Axem> im happy with these missions now
[02:44] <@Axem> well
[02:44] <@Axem> with 2 of them

 

Offline MikeRoz

  • 26
I'm curious what would the performance be if someone actually made a fully multicore-ready game engine. Yeah, Unreal Engine can chew these frames per second with 4 cores, but that doesn't mean it actually does it optimally.

Define "optimally".

There isn't a lot you can do to parallelize certain tasks. You can't, for example, run gameplay logic in parallel threads easily; there's a certain this-before-that that has to stay intact if game designers want to make reasonable decisions about how the game flows.
Most game engines these days divide their thread pool such that high-level tasks like gameplay logic, physics, audio and rendering can be worked on in parallel, but there's not a lot you can do to further subdivide those tasks so that the engine spreads its load optimally across an arbitrary number of cores.

The lesson here is that multithreaded programming is hard.
There are tons of things that can be parallelized in a game like FreeSpace. Tons. For instance, when a gigantic high-poly masterpiece lumbers on screen, like an SJ Sathanas or a GTVA Colossus, right now all the people on board, all the rivets and bolts, all the Shivans and creepy biomechanical stuff are simulated sequentially. Why not divide the ship's population eight ways, and assign each fraction of the population to a different core on one of these new Ryzen things? If you divided the groups up correctly you'd make it so that the groups don't actually need to interact with each other as much - like, make one group the Science division, one group the Engineering division, and one group the Command division, for those tri-core Phenom people - and then you don't have to deal with any synchronization between the cores, since the dependency graphs are entirely isolated. Within each group, arrange the crew members in a hierarchy - a tree, to use a Computer Science term - with the department head at the top.

I really thought that by now we'd have enough cores that we'd be assigning molecules to CPU cores, not people, but alas even Moore's Law has failed us.
Rave reviews of my previous posts:
"Wow.  Just wow.  Well, just about the whole post is devoid of reasonable technical merit and accuracy." -Enki
"Wow, he just wasted about an hour of his life." -MachManX
"There are 5 million things wrong with your post, of which many have already been pointed out..." -blackhole
"Grrr. Someone please monkey mike...He's causing more problems than he's solving" -terran_emperor
"You're not very bright, are you." - General Battuta

 
Why bother with all that? We can just simulate the red assets from blue planet and then those simulated supercomputers can do all our computing for us.
[19:31] <MatthTheGeek> you all high up on your mointain looking down at everyone who doesn't beam everything on insane blindfolded

 

Offline JSRNerdo

  • [`_`]/
  • 29
  • Gone!
There are tons of things that can be parallelized in a game like FreeSpace. Tons. For instance, when a gigantic high-poly masterpiece lumbers on screen, like an SJ Sathanas or a GTVA Colossus, right now all the people on board, all the rivets and bolts, all the Shivans and creepy biomechanical stuff are simulated sequentially. Why not divide the ship's population eight ways, and assign each fraction of the population to a different core on one of these new Ryzen things? If you divided the groups up correctly you'd make it so that the groups don't actually need to interact with each other as much - like, make one group the Science division, one group the Engineering division, and one group the Command division, for those tri-core Phenom people - and then you don't have to deal with any synchronization between the cores, since the dependency graphs are entirely isolated. Within each group, arrange the crew members in a hierarchy - a tree, to use a Computer Science term - with the department head at the top.

The problem with that would be the interconnects between those divisions. What if Command orders engineering to fire the beams because the command-side beam power register is full, but Engineering hasn't actually charged yet? And what if one crewman walks into another crewman and just noclips through because the order of operations was wrong? This stuff needs to be timed perfectly to actually work in sync.  The solution would really be one really fast core, so you can actually set the order of operations properly and determine which events need to be executed first. It's already been done, too, but for some reason we've abandoned that line, but I'm still working quite well on my single core Pentium 4. Sure, it might have a longer instruction pipe, but that doesn't really matter since it's literally executing commands faster than you can send them to the CPU to execute. So really, parallelisisms are the wrong approach to take.
« Last Edit: February 23, 2017, 12:30:05 am by JSRNerdo »
Former Inferno lead, BTA fredder-ish and DE fredder. Driven out by ordinary fascists the_e, aesaar and general battuta. Will return if they're ever removed.

 

Offline The E

  • He's Ebeneezer Goode
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
There are tons of things that can be parallelized in a game like FreeSpace. Tons. For instance, when a gigantic high-poly masterpiece lumbers on screen, like an SJ Sathanas or a GTVA Colossus, right now all the people on board, all the rivets and bolts, all the Shivans and creepy biomechanical stuff are simulated sequentially.

What? No. That's not what is happening at all. Not even a simulationist nightmare like Star Citizen would do it this way. Either you have no clue at all about game engines, or you're constructing an analogy so deeply flawed that it's invalid by design.

Quote
Why not divide the ship's population eight ways, and assign each fraction of the population to a different core on one of these new Ryzen things? If you divided the groups up correctly you'd make it so that the groups don't actually need to interact with each other as much - like, make one group the Science division, one group the Engineering division, and one group the Command division, for those tri-core Phenom people - and then you don't have to deal with any synchronization between the cores, since the dependency graphs are entirely isolated.

This assumes that all those tasks are computationally equivalent (i.e. that they require the same amount of work per frame). That is not the case; In FSO (and I would imagine that the same holds true for most other engines), Setting up a frame for rendering and actually rendering it require the most computational effort, followed by physics, audio and gameplay logic.

Here's an illustration. Using our profiler, this is an accumulated graph of how the CPU time is divided up between tasks, recorded using one of the WiH cutscenes.



Look at the second row. There's a small purple-ish label there that says "Simulation". On every frame, this takes an average of 3.6 ms to execute (an average that is heavily distorted by the first frame, because that one takes 216 ms to process; it is not uncommon for this step to take only a couple of nanoseconds).
Now look at the long brown bar right next to it that says "Render Frame". That's all the CPU time spent issuing commands to the GPU and waiting for them to finish. That takes an average of 40 ms on my machine (which again is distorted: this step takes anything from 700ms to 9ms).

Due to the nature of OpenGL, there is little we can do to split up tasks that are part of the frame rendering; there are tasks that have to be completed before others can be started (and since there's only one GPU in the system, no matter how much we parallelize the task of issuing commands to it, all those tasks need to wait for the GPU to work through things).
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 
I can tell you what would happen if you tried to parallelise the game by dividing the points in each ship between 8 CPU cores, and it basically involves the Colossus trying to perform a constructive proof of the Banach-Tarski theorem.
The good Christian should beware of mathematicians, and all those who make empty prophecies. The danger already exists that the mathematicians have made a covenant with the devil to darken the spirit and to confine man in the bonds of Hell.

 

Offline Mito [PL]

  • 210
  • Proud Member of Slavicus Mechanicus
Or superposition. Or even both!
How do you kill a hydra?

You starve it to death.

 
I can tell you what would happen if you tried to parallelise the game by dividing the points in each ship between 8 CPU cores, and it basically involves the Colossus trying to perform a constructive proof of the Banach-Tarski theorem.

Can you release a build for Jad 2.23? :P

 

Offline Klaustrophobia

  • 210
  • the REAL Nuke of HLP
    • North Carolina Tigers
Re: AMD Ryzen prices - 70% reduction vs competing Intel $1,000 CPUs??
You haven't needed elaborate cooling rigs for 4ghz for a LONG time.  I can get 4.6 with a roughly 5 year old Sandy Bridge, $20 CM Hyper 212, and the default "easy overclock" function in BIOS.
I like to stare at the sun.

 

Offline The E

  • He's Ebeneezer Goode
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: AMD Ryzen prices - 70% reduction vs competing Intel $1,000 CPUs??
Yeah, overclocking to 4+GHz is stupid easy these days (I had my i5 going at 4.5 GHz with some stability issues using a cooler that's designed for quiet operation).
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 
Re: AMD Ryzen prices - 70% reduction vs competing Intel $1,000 CPUs??
AMD does tend to cut corners a lot, not just with heat, but their processors tend to have smaller cache sizes (which is what drives up CPU costs a ton, cache memory is expensive as hell) and other small details that don't come up in the main tagline. I'll reserve my judgement. Bulldozer was hyped up as a big intel competitor and then flopped pretty hard, if i remember.

 

Offline CP5670

  • Dr. Evil
  • Global Moderator
  • 212
Re: AMD Ryzen prices - 70% reduction vs competing Intel $1,000 CPUs??
Quote
Yeah, overclocking to 4+GHz is stupid easy these days (I had my i5 going at 4.5 GHz with some stability issues using a cooler that's designed for quiet operation).

Some of the higher end ones come at that speed already, which actually makes overclocking pointless since they turbo to 4.2-4.5 by default and typically max out at 4.6-4.8. I set my 4790K to turbo all cores to 4.4 (which practically all of them will do on stock volts) but didn't bother with anything beyond that. The Sandy Bridge could hit 5ghz but it's very rare to get that with the newer ones.

 

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Minecraft
    • Steam
    • Something
Apologies if the thread history is a bit confusing: we had two active topics going on this at once, and it took me a few days after it was reported for me to go ahead and actually merge them.  Carry on!

 
My 4790K can do 5.1Ghz on air but only on a single core. When overclocking all cores and under full load it usually only goes as high as 4.75. You can set it higher but it will just overheat and throttle down.

Not that these clocks are actually beneficial for anything other than video encoding.


The nice thing about Ryzen is that all of the CPUs come unlocked so you don't have to buy an expensive one to overclock.
[19:31] <MatthTheGeek> you all high up on your mointain looking down at everyone who doesn't beam everything on insane blindfolded

 

Offline MikeRoz

  • 26
Man I was really hoping the NDA would be up tonight. Oh well. Two more days.
Rave reviews of my previous posts:
"Wow.  Just wow.  Well, just about the whole post is devoid of reasonable technical merit and accuracy." -Enki
"Wow, he just wasted about an hour of his life." -MachManX
"There are 5 million things wrong with your post, of which many have already been pointed out..." -blackhole
"Grrr. Someone please monkey mike...He's causing more problems than he's solving" -terran_emperor
"You're not very bright, are you." - General Battuta

 

Offline Gortef

  • 210
  • A meat popsicle
I finally got my Ryzen 1700 upgrade parts and the new system is running swell.

  • Ryzen R7 1700 @ Stock Clocks (might overclock it since getting all cores into 3,7GHz should not be an issue even with the Spire)
  • ASUS X370 PRIME PRO
  • G.Skill Ripjaws V 3000MHz 1.5C 2x8Gb @ 2667MHz (either my voltage settings were f00bar or ASUS still needs to do some work with the BIOS, that's why only 2667. Most likely a BIOS issue since it's quite widely known by now that at this point ASUS has it worst when it comes to the BIOSes in AM4 motherboards.
  • Samsung SM961 M.2 256Gb

And then recycled from the old setup

  • MSI Radeon R9 390 8Gb
  • Several SSDs and HDs

And just for the fun of it, here's an short imgur album of the process http://imgur.com/a/QIiGv

Needless to say, I friggin love it so far.
Habeeb it...

 

Offline Ulala

  • 29
  • Groooove Evening, viewers!
Looks nice! I'm struggling to decide if i should get the Ryzen 1700 or a i7 7700K.
I am a revolutionary.