Announcement

Collapse
No announcement yet.

Request: Smart Access Memory information

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Request: Smart Access Memory information

    Hi,

    Can you run this command and post the output if vram_vis_size is greater than 256 MB? It means that Smart Access Memory is enabled. I'd like to see what numbers you get.

    AMD_DEBUG=info glxinfo | grep vram
    Thanks.

  • #2
    That SAM thing is about the driver being able to put (texture)-data directly anywhere in VRAM instead of having to upload it (in multiple pieces) to a small aperture and then using a DMA engine to move it to its final location?

    Comment


    • #3
      It's resizeable or large BAR. PCI BARs are resources (e.g., framebuffer or registers) on PCI devices. Normally most PCI BARs are capped at 256 MB because 32 bit OSes only had a limited MMIO aperture. On 64 bit platforms, the MMIO aperture can be much larger so there is plenty of room. BARs are mainly used for CPU access; the GPU has full access to the entire framebuffer. Whether this helps an application or not depends on how much CPU access to framebuffer memory is used.

      Comment


      • #4
        Here the output of my RX580 on my X470 Taichi + Ryzen 3900X with above 4G decoding enabled, with it disabled i just get vram_vis_size = 256 MB

        Code:
        AMD_DEBUG=info glxinfo | grep vram
           vram_size = 8192 MB
           vram_vis_size = 8192 MB
           vram_type = 5
           vram_bit_width = 256
           has_dedicated_vram = 1
        Does that mean i suddenly have Smart Access Memory enabled?

        Comment


        • #5
          RX480 + R7 1700 + X370 (above 4G decoding enabled)

          Code:
          [COLOR=#ff5454][B]vram[/B][/COLOR][COLOR=#000000]_size = 8192 MB [/COLOR]
             [COLOR=#ff5454][B]vram[/B][/COLOR][COLOR=#000000]_vis_size = 8192 MB [/COLOR]
             [COLOR=#ff5454][B]vram[/B][/COLOR][COLOR=#000000]_type = 5 [/COLOR]
             [COLOR=#ff5454][B]vram[/B][/COLOR][COLOR=#000000]_bit_width = 256 [/COLOR]
             has_dedicated_[COLOR=#ff5454][B]vram[/B][/COLOR][COLOR=#000000] = 1[/COLOR]
          AMD already said chips older than Ryzen 5xxx can't support SAM due to architecture limitations or something. Could be BS, just to get you to upgrade hardware. I presume there needs to be actual software support (drivers) that will use this functionality, so AMD may decide just not to support old CPUs/GPUs.


          https://www.techpowerup.com/275565/a...ell-support-it

          AMD Ryzen 3000 "Matisse" processors based on the "Zen 2" microarchitecture, as well as older AMD processors based on "Zen+" and "Zen" microarchitectures, do not support the company's Smart Access Memory (SAM) feature being introduced with Radeon RX 6000 series graphics cards.
          Last edited by Melcar; 05 December 2020, 11:57 PM.

          Comment


          • #6
            If vram_vis_size is the same as vram_size, you have Smart Access Memory enabled. You both have it.

            I have Ryzen 3900X but the chipset is only X370 and I can't find the option to enable SAM in the BIOS. I guess it depends on the motherboard vendor. (mine is Asus)

            Comment


            • #7
              I have been reading reports about many AM4 users not having the above 4G decoding option or similar, specially in B550/X570 boards. Others that recent BIOS updates removed the option. I could be AMD or MB makers just artificially removing the option to segment the CPUs.
              My board is an Aorus Gaming K7, X370 chip. Always had the above 4G decoding option from the factory BIOS to the latest. Only had one CPU on it, this 1700. Would be weird if when I upgrade to a 3700X the option is no longer available.

              Comment


              • #8
                I think most people don't find the above 4G decoding option because they have CSM enabled. In my Asrock Bios i have to disable CSM to access the above 4G decoding option.

                Edit: My ASrock Deskmini A300 with Ryzen 4650G IGPU doesn't have the above 4G decoding option in the bios, but it looks like it is still enabled by default.

                Code:
                AMD_DEBUG=info glxinfo | grep vram
                   vram_size = 2048 MB
                   vram_vis_size = 2048 MB
                   vram_type = 8
                   vram_bit_width = 128
                   has_dedicated_vram = 0
                Last edited by plasma5; 06 December 2020, 02:32 PM.

                Comment


                • #9
                  Originally posted by plasma5 View Post
                  I think most people don't find the above 4G decoding option because they have CSM enabled. In my Asrock Bios i have to disable CSM to access the above 4G decoding option.

                  Edit: My ASrock Deskmini A300 with Ryzen 4650G IGPU doesn't have the above 4G decoding option in the bios, but it looks like it is still enabled by default.
                  On APUs, the CPU can always access the full amount of VRAM because VRAM is just system ram on APUs.

                  Comment


                  • #10
                    Originally posted by marek View Post
                    If vram_vis_size is the same as vram_size, you have Smart Access Memory enabled. You both have it.

                    I have Ryzen 3900X but the chipset is only X370 and I can't find the option to enable SAM in the BIOS. I guess it depends on the motherboard vendor. (mine is Asus)
                    You just need to make sure the ">4GB MMIO" or similar option is enabled for Linux. If the MMIO aperture is large enough, the driver will resize the BAR at driver load time. IIRC, Windows has additional restrictions which requires a newer sbios to enable larger BARs.

                    Comment

                    Working...
                    X