[HN Gopher] AMD and Valve Working on New Linux CPU Performance S...
       ___________________________________________________________________
        
       AMD and Valve Working on New Linux CPU Performance Scaling Design
        
       Author : bpierre
       Score  : 114 points
       Date   : 2021-08-02 18:23 UTC (4 hours ago)
        
 (HTM) web link (www.phoronix.com)
 (TXT) w3m dump (www.phoronix.com)
        
       | zamalek wrote:
       | One of the great successes of Intel has definitely been
       | establishing their processors as the default optimization status
       | quo. Beyond the scheduler, compilers also optimize (by default)
       | for Intel instruction latencies and pipelines.
       | 
       | One way to remedy this would be to ship more distros with
       | march=native as the default. You only need to specify the
       | architecture when you are building binaries for distribution
       | (which mostly happens on CI servers these days). This would
       | result in better perf on not only AMD chips, but also newer Intel
       | chips.
        
         | hyperman1 wrote:
         | I wonder if it is worth it to select a few core libraries like
         | glibc, and get the distro to install multiple variants, each
         | optimized for a different CPU.
        
           | jcranmer wrote:
           | Recently (in the last year or so), the platform ABI for
           | x86-64 has been augmented with 4 levels of variants: base
           | x86-64 (i.e., up to SSE2), and then assume up to SSE4.2,
           | assume up to AVX2, and then a base AVX-512 level. (Not
           | mentioned in each of these levels is the random other
           | instructions, such as BMI/BMI2 that get sprinkled
           | throughout.)
        
           | fsaintjacques wrote:
           | glibc already does dynamic dispatch for the memcpy family of
           | functions.
        
           | scns wrote:
           | Intels Clear Linux does this IIRC. Wins most comparisons on
           | Phoronix. Works on AMD CPUs too.
           | 
           | (edit) Even though i'm a sucker for efficiency/performance, i
           | prefer Tumbleweed myself. Since i like KDE, whose integration
           | is as good as it gets on SUSE but left a lot to be desired on
           | Clear which ships with GNOME by default. Both are rolling
           | releases. SUSE has automatic btrfs snapshots on updates for
           | easy rollback. But Clear has the performance edge.
           | 
           | https://www.phoronix.com/scan.php?page=article&item=ubuntu-2.
           | ..
           | 
           | https://www.phoronix.com/scan.php?page=article&item=cascade-.
           | ..
           | 
           | https://www.phoronix.com/scan.php?page=article&item=icelake-.
           | ..
           | 
           | Oh nice this one shows Tumbleweed is not far behind:
           | 
           | https://www.phoronix.com/scan.php?page=article&item=amd-
           | epyc...
        
           | 10000truths wrote:
           | For x64, you don't need to distribute multiple binaries. You
           | can have one binary with variants of a function each
           | optimized for a particular CPU, and resolve which variant to
           | use at runtime using the CPUID instruction. gcc already does
           | this for you with function multiversioning, and glibc makes
           | use of it for its string routines.
        
           | oscardssmith wrote:
           | Imo, the solution is to stop using C/C++ for high performance
           | applications. Today's computers are diverse enough that
           | distributing compiled binaries leaves a ton of performance on
           | the table.
        
         | jeffbee wrote:
         | I don't think it's even slightly true that compilers default to
         | Intel-specific optimizations. All the Linux compilers default
         | to k8-generic, an obsolete AMD platform.
        
       | 2bitencryption wrote:
       | If Steam Deck reaches even a moderate level of success, it will
       | be a _huge_ incentive for developers to make games target Linux
       | (or, more likely, the Proton compatibility layer).
        
         | babypuncher wrote:
         | I actually prefer for devs to target Wine/Proton compatibility
         | instead of providing native builds.
         | 
         | Native games can break over time. I have lots of older
         | proprietary Linux games that aren't super straightforward to
         | get running on modern Linux distros, usually because they rely
         | on libraries that aren't included by default anymore (and
         | sometimes not even maintained). The Steam runtime smooths this
         | over a bit, but I still run into native games from only 4 or 5
         | years ago that are now broken out of the box.
         | 
         | Proton has the benefit of being a "framework" that isn't likely
         | to be abandoned anytime soon. It is essentially a re-
         | implementation of a platform whose primary selling point is
         | long-term backwards compatibility and API stability. It
         | abstracts (or outright eliminates) most of the variability
         | between Linux distros.
         | 
         | Plus, games running in it can run mods that rely on DLL
         | injection.
        
           | some-guy wrote:
           | Ironically, many games I install on Steam run better in Linux
           | under Proton than Windows 10 (especially from the 98/XP era)
        
             | babypuncher wrote:
             | I think this usually boils down to incomplete or buggy
             | support for older 3D apis in modern graphics cards, as the
             | fixes for these games almost always boil down to using a
             | wrapper that translates them to modern Vulkan or DirectX
             | like dgvoodoo or nGlide, similar to what Proton already has
             | to do for these games.
        
           | KiranRao0 wrote:
           | I remember a Linus Torvalds video on this exact problem. I
           | found it both blunt at insightful:
           | 
           | Linus Torvalds on why desktop Linux sucks :
           | https://www.youtube.com/watch?v=Pzl1B7nB9Kc
        
             | AussieWog93 wrote:
             | Oh my God, Linus hit the nail on the head there. Prior to
             | stabilising on a policy of "AppImage or GTFO", this was by
             | far the biggest headache when it came to supporting Linux.
        
           | schmorptron wrote:
           | Steam uses flatpak-like runtimes now that should hopefully
           | make backwards compatibility a non-issue going forward.
           | 
           | https://gitlab.steamos.cloud/steamrt/steamrt/-/wikis/Soldier.
           | ..
        
         | WhatIsDukkha wrote:
         | On reflection I'm very OK with targeting Proton.
         | 
         | I actually don't want a closed source commercial blob TOOOOO
         | comfortable on my linux box.
         | 
         | I want a heavily sandboxed but performant package that runs
         | reliably.
         | 
         | That said, if those requirements are met and there is more
         | performance etc on the table by doing a native/or partially
         | native port that's great.
        
           | yissp wrote:
           | I don't know, wine kinda just barely works as it is.
           | Introducing another layer of complexity through sandboxing
           | would be opening a can of worms. Like I know Chromium's GPU
           | sandbox has caused weird bugs in the past because it
           | prevented the graphics driver from doing something it needed
           | to do.
        
         | hn8788 wrote:
         | Proton is a bit of a double-edged sword for gaming on Linux. On
         | the one hand, it makes a lot of games playable on Linux that
         | weren't previously. On the other hand, some developers have
         | said that since Proton works well enough, they're going to stop
         | officially supporting Linux versions of their games.
        
           | _flux wrote:
           | Think however what happens if developers start actually
           | targeting Proton, instead of Windows. Suddenly Microsoft
           | isn't the one holding the reins :).
        
             | MayeulC wrote:
             | Yeah, well. Not as long as developers use Microsoft's
             | headers for development.
             | 
             | OTOH, if there was a Proton SDK...
        
       ___________________________________________________________________
       (page generated 2021-08-02 23:01 UTC)