Jump to content

Intel 12th Gen & Dual Universe


LeeFall

Recommended Posts



 

Hi everyone, recently I upgraded my pc/cpu to a 12th gen intel processor. I ran into a problem where i could not run the game.

 

XZjFh91Z76OCLYpjnd6CUf2UwiuQYhhQel_CvJXUL2Tm5mLbHoDSKKeGsYCBWL9UQCACpplJ4n0rWTHzvxXXZFEtemiBwYROey0Pha2zj0HQXMFfVtMt15YiE4LykVIpLElJrUQ415icjeoAekE

 

If you face similar issues you must enable AVX support in your bios. (This will deactivate your E cores and will only use the P cores depending on the motherboard.

 

Hope this helps

 

Lee

Link to comment
Share on other sites

Ohh man.. On top of everything else, that is not a good outlook for this game who heavily relies on AVX instructions.

And yet another reason to pick AMD, so I don't understand Intel's reasoning for doing this. The time when Intel get away with scumbag nickel and dime moves like this is over.

Link to comment
Share on other sites

6 hours ago, CptLoRes said:

Ohh man.. On top of everything else, that is not a good outlook for this game who heavily relies on AVX instructions.

And yet another reason to pick AMD, so I don't understand Intel's reasoning for doing this. The time when Intel get away with scumbag nickel and dime moves like this is over.

Well, AVX instructions are obscure, they are hardly used and are power guzzlers. So it kind of makes sense really. 

 

It may have made sense to opt for using AVX to solve a problem when they started out on DU 8+ years ago. SHortly thereafter though technology caught up with them but they never optied to change their code..

 

So now It seems that NQ will have to put a requirement for a Z series motherboard when using a 12th gen Intel CPU in the system specs (or kill part of your CPU cores).. That will no doubt go down well. B and H series chipsets are entry level/budget tier which is probably why this is a thing  for these CPUs

Link to comment
Share on other sites

6 hours ago, CptLoRes said:

Ohh man.. On top of everything else, that is not a good outlook for this game who heavily relies on AVX instructions.

And yet another reason to pick AMD, so I don't understand Intel's reasoning for doing this. The time when Intel get away with scumbag nickel and dime moves like this is over.

Zen 3 and intel 12th gen both support AVX2 just not AVX 512 (by default on alder lake) disabling the E cores helps a lot/ enabling AVX-512 support in bios, E cores run at a lower clock speed and causes issues with AVX-512 if you leave them on. Like low frame rates like you didn't spend 1.7k on a PC upgrade..

Edited by LeeFall
Link to comment
Share on other sites

10 hours ago, blazemonger said:

It may have made sense to opt for using AVX to solve a problem when they started out on DU 8+ years ago. SHortly thereafter though technology caught up with them but they never optied to change their code..

Relying on CPU/AVX was a sub-optimal solution from day one. The obvious solution for any voxel based game is to use GPU offloading as much as possible, and this is the norm for heavy voxel processing since the math is a good fit for GPU's.

Link to comment
Share on other sites

24 minutes ago, CptLoRes said:

Relying on CPU/AVX was a sub-optimal solution from day one. The obvious solution for any voxel based game is to use GPU offloading as much as possible, and this is the norm for heavy voxel processing since the math is a good fit for GPU's.

 

Today and the past few years, certainly.

Back in 2012 when (as far as we know) JC started work on this, not so much.

 

That NQ never went back in as better solutions to achieve what they were doing became available is not surprising knowing their attitude towards making adjustments and change (as in , only when we're not going to be able to ignore it).

 

As you know, several of us very early on during pre-alpha did make a point of this and I really expected to see at least one rewrite fo the game core but I was naive enough at the time to think NQ would think that to be a sensible and forweard looking thing to do. Obviously they are and have always been free to do as theyu please but I am a firm believer the ancient tech they use will be quite exposed once the game is "released" and channels like Digital Foundry take the game apart and review it, which I am pretty sure they will as it's right up their alley.

Link to comment
Share on other sites

Dual universe uses AVX instructions available on all major CPUs since 2011. We don't require AVX2 nor AVX512 because they are not as common.

This is particularly relevant for procedural generation and even on modern machines, it is a valuable optimization which saves the CPU for other things.

We don't do this procedural generation on GPU mostly for numerical determinism. We need the client and the server to generate exactly the same thing. This is typically not possible with GPU computations.

 

Intel 12th gen CPUs come with two kind of cores:

    High performance cores are fast and can handle complex instruction sets like AVX

    Low performance cores are slower and only support a limited instruction set

 

The downside for high performance cores is that they take more space on the chip and they consume more power.

For situations when computing power is not relevant (like IO operations), it makes sense to execute tasks on low performance cores. It also makes sense to have heterogeneous capabilities on your CPU as in the end it translates to a more capable chip using less power (your slow IO operations don’t take precious time from your high performance cores).

 

Note that this kind of architecture is not exactly new and smartphones have been using this approach for years.Now the problem is, that this is kind of new technology for regular personal computers and the support is not completely there yet. Ideally your OS would automatically detect that a specific program needs high performance cores (it does it to a certain extent). In practice, this is not fail-proof yet. From what I could find on the subject and based on feedback I have from Intel, there should be ways for an application to request to run on high performance cores. I’ll try this approach in future months. In the meantime, as suggested by others, there are workarounds to disable the low performance cores

Link to comment
Share on other sites

30 minutes ago, NQ-Sirg said:

Dual universe uses AVX instructions available on all major CPUs since 2011. We don't require AVX2 nor AVX512 because they are not as common.

This is particularly relevant for procedural generation and even on modern machines, it is a valuable optimization which saves the CPU for other things.

We don't do this procedural generation on GPU mostly for numerical determinism. We need the client and the server to generate exactly the same thing. This is typically not possible with GPU computations.

 

Intel 12th gen CPUs come with two kind of cores:

    High performance cores are fast and can handle complex instruction sets like AVX

    Low performance cores are slower and only support a limited instruction set

 

The downside for high performance cores is that they take more space on the chip and they consume more power.

For situations when computing power is not relevant (like IO operations), it makes sense to execute tasks on low performance cores. It also makes sense to have heterogeneous capabilities on your CPU as in the end it translates to a more capable chip using less power (your slow IO operations don’t take precious time from your high performance cores).

 

Note that this kind of architecture is not exactly new and smartphones have been using this approach for years.Now the problem is, that this is kind of new technology for regular personal computers and the support is not completely there yet. Ideally your OS would automatically detect that a specific program needs high performance cores (it does it to a certain extent). In practice, this is not fail-proof yet. From what I could find on the subject and based on feedback I have from Intel, there should be ways for an application to request to run on high performance cores. I’ll try this approach in future months. In the meantime, as suggested by others, there are workarounds to disable the low performance cores

Is there a list of which CPUs not to get anytime soon? Or would the list be shorter for CPUs that you can get without further ado? Is it a pure Intel problem?

Link to comment
Share on other sites

Quote

Is there a list of which CPUs not to get anytime soon? Or would the list be shorter for CPUs that you can get without further ado? Is it a pure Intel problem?

For now, we are in the dark. Some people seem to run the game just fine on 12th gen Intel. Others encounter problems.

 

In this specific thread, we are only talking about issues with 12th gen Intel CPUs. As of now I am not aware of other new CPUs that might have similar issues.

Link to comment
Share on other sites

You could also force the DU process to only run on your P cores. You can do it with the task manager; although I don't believe it persists after closing the game. I believe there are 3rd party programs that will make this persistent, however.

Link to comment
Share on other sites

Bottom line is that it is for the game engine to ensure the correct cores are used for specific tasks. 

 

On can talk about the issue all you want but this is something NQ will need to address and soon (tm) as use of thes ecores will become more and nmore prominent. As I see it, this is not something you can just brush off and make "not a priority right now" unless you very clearly and ufront inform "potential) customers that a sof yet you are not effectively supporting intel 12th gen CPU technology.

Saying "just disable the e-cores when you want to play DU" is not good enough and really is a cop-out to try and push the requirement to deal with this ahead of you. Doing that will only result in it coming back to bite you when for instance GFN mocves to these CPUs to just name something. 

A good reference document would be this:

https://www.intel.com/content/www/us/en/developer/articles/guide/12th-gen-intel-core-processor-gamedev-guide.html

 

 

Also, WIN11 is considerably more efficient and effective with supporting 12th gen CPUs, you should really not use WIN10 on these and I'd say it would be good to have system requirements reflect that if a system runs a 12th core CPU, it need to run Windows 11 to allow you as a dev to only focus on these cpu's running the OS that supports them best.

Link to comment
Share on other sites

23 hours ago, NQ-Sirg said:

Some people seem to run the game just fine on 12th gen Intel. Others encounter problems.

Keep in mind, that not all 12th gen CPU's even have E-cores.

12100, 300, 400, 500, and 600 only have P-cores, until you get to the 12600K which has 6 P-cores and 4 E-cores.

 

So anyone who has upgraded to 12th gen, but chosen to get a cheaper CPU "for now", could just have no E-cores to begin with.

 

On 7/6/2022 at 5:02 PM, Zarcata said:

Is there a list of which CPUs not to get anytime soon? Or would the list be shorter for CPUs that you can get without further ado? Is it a pure Intel problem?

Only Intel 12th gen have E-cores on PC atm. To avoid E-cores, avoid 12600K and higher.

Link to comment
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
×
×
  • Create New...