Announcement

Collapse
No announcement yet.

How Much Video RAM Is Needed For Catalyst R3 Graphics?

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

  • How Much Video RAM Is Needed For Catalyst R3 Graphics?

    Phoronix: How Much Video RAM Is Needed For Catalyst R3 Graphics?

    For those wondering how much video memory you should allocate from your system RAM for the Radeon R3 Graphics with the new AM1 APUs, we have up some new Linux OpenGL benchmarks of the AMD Athlon 5350 performance with varying amounts of video memory available.

    http://www.phoronix.com/vr.php?view=20225

  • #2
    This is one of the most interesting phoronix articles I've seen in a while. I'm quite surprised that there is little return in using more than 512MB. Does this mean that there would also be little different in performance between a GPU with 512MB vs 1024MB using the same processing unit?

    I wouldn't think so because otherwise it simply wouldn't make sense to get the 2048MB version of cards intead of the 1024MB, where we do see a performance difference. There must be some other bottle neck going on. Could it be the bus? Or is it something inherent to how APUs work?

    Any insight would be most welcome.

    Comment


    • #3
      Originally posted by FourDMusic View Post
      This is one of the most interesting phoronix articles I've seen in a while. I'm quite surprised that there is little return in using more than 512MB. Does this mean that there would also be little different in performance between a GPU with 512MB vs 1024MB using the same processing unit?

      I wouldn't think so because otherwise it simply wouldn't make sense to get the 2048MB version of cards intead of the 1024MB, where we do see a performance difference. There must be some other bottle neck going on. Could it be the bus? Or is it something inherent to how APUs work?

      Any insight would be most welcome.
      From my observation, it depends on the game engine. A texture caching engines profit from additional memory, where the scene and textures are loaded partially and on demand. Gamebryo, Xray, GTA etc. With such engines the absolute minimum is set to 512MiB. I am surprised that Xonotic did not degrade performance on ultimate Quality. Either the scene contained little textures, or Xonotic guys set a total maximum under 512MiB.

      Comment


      • #4
        Good test but some test on HD resolution (1080p is too much for this hardware on my opinion) maybe interesting

        Comment


        • #5
          Asus AM1M-A does not allow 32 MB, but allows 768MB to be set . Of course up to 2GB .

          And 32MB is wrong to expose there , opensource radeon driver i think requires at least 64MB for full accel to work .
          Last edited by dungeon; 04-19-2014, 01:20 PM.

          Comment


          • #6
            Originally posted by brosis View Post
            From my observation, it depends on the game engine. A texture caching engines profit from additional memory, where the scene and textures are loaded partially and on demand. Gamebryo, Xray, GTA etc. With such engines the absolute minimum is set to 512MiB. I am surprised that Xonotic did not degrade performance on ultimate Quality. Either the scene contained little textures, or Xonotic guys set a total maximum under 512MiB.
            Can I ask an even simpler question? Why the hell does an APU (on-die gpu) need to have _any_ RAM allocated to it, given that both CPU and GPU are in the same package, accessing the same RAM? Is that because the kernel will actually take over the rest of the RAM and not make it available to the graphics driver? But isn't the graphics drive memory management live inside the kernel anyways? I am not a kernel or graphics hacker, so please excuse my silly question.

            On that vain: I am using a Haswell i5 these days. Of course I overclocled/fine tuned it as much as I could. But adding or removing RAM for Graphics in the BIOS made no difference whatsoever in my tests (even with the intensive Unigine tests). I actually suggested another user in these forums to try that, and they got exactly the same behavior.

            Thanks for any clarifications, I am pretty perplexed

            Comment


            • #7
              Originally posted by mendieta View Post
              Can I ask an even simpler question? Why the hell does an APU (on-die gpu) need to have _any_ RAM allocated to it, given that both CPU and GPU are in the same package, accessing the same RAM? Is that because the kernel will actually take over the rest of the RAM and not make it available to the graphics driver? But isn't the graphics drive memory management live inside the kernel anyways? I am not a kernel or graphics hacker, so please excuse my silly question.

              On that vain: I am using a Haswell i5 these days. Of course I overclocled/fine tuned it as much as I could. But adding or removing RAM for Graphics in the BIOS made no difference whatsoever in my tests (even with the intensive Unigine tests). I actually suggested another user in these forums to try that, and they got exactly the same behavior.

              Thanks for any clarifications, I am pretty perplexed
              it is the way opengl works, it puts things into buffers that are to be sent to the "gpu"
              afaik it could just say "it's there" but games expect to be limited in terms of gpu memory so they do their own memory management anyway
              (opengl driver does it but game engines do it also as they can predict what is needed next)

              anyway
              "memory management improvements are still forthcoming"


              @brosis
              if i remember good xonotic uses about ~300MB gpu memory
              i think most if not all of the level/objects is in there

              Comment


              • #8
                Originally posted by mendieta View Post
                Can I ask an even simpler question? Why the hell does an APU (on-die gpu) need to have _any_ RAM allocated to it, given that both CPU and GPU are in the same package, accessing the same RAM? Is that because the kernel will actually take over the rest of the RAM and not make it available to the graphics driver? But isn't the graphics drive memory management live inside the kernel anyways? I am not a kernel or graphics hacker, so please excuse my silly question.
                It's not a silly question at all. The distinction between "video RAM" and "system RAM" on an IGP is made for a few different reasons :

                1. It allows the reserved area of memory to be owned by a graphics-specific memory manager rather than having to work with/through the OS memory manager

                2. The reserved area can easily be configured to ignore things like cache coherency with the CPU, so accesses to this area can run faster than accesses to regular system memory

                3. Some of the GPU functions (eg display circuitry) require physically contiguous memory rather than a bunch of non-contiguous physical blocks mapped together with page tables. It's often difficult/impossible to allocate big chunks of physically contiguous memory via the OS memory manager after the system has been running for a while... but having a reserved area of memory keeps the OS memory manager's grubby little fingers off it

                EDIT -- 3 is arguably a subset of 1

                Comment


                • #9
                  Originally posted by mendieta View Post
                  Can I ask an even simpler question? Why the hell does an APU (on-die gpu) need to have _any_ RAM allocated to it, given that both CPU and GPU are in the same package, accessing the same RAM? Is that because the kernel will actually take over the rest of the RAM and not make it available to the graphics driver? But isn't the graphics drive memory management live inside the kernel anyways? I am not a kernel or graphics hacker, so please excuse my silly question.
                  I used to wonder the same thing - it's the same RAM, same stick. The magic is in two parts: a continuous area is needed (which is only possible to allocate at boot, before fragmentation sets in), and secondly, the cache settings for that area.

                  If each write to that block of RAM needed to update CPU caches, the performance would be several times lower.

                  Comment


                  • #10
                    Bridgman was faster

                    Comment


                    • #11
                      Originally posted by mendieta View Post
                      On that vain: I am using a Haswell i5 these days. Of course I overclocled/fine tuned it as much as I could. But adding or removing RAM for Graphics in the BIOS made no difference whatsoever in my tests (even with the intensive Unigine tests). I actually suggested another user in these forums to try that, and they got exactly the same behavior.
                      I have two settings for video ram - "Internal Graphics Memory Size", which I think is the framebuffer; and DVMT ("Dynamic Video Memory Technology", talk about buzzwords ). Do you have that as well, and which were you setting? I have the framebuffer set to the lowest (32MB) and DVMT to "max" (other options being 128M and 256M). I would expect limiting DVMT to have an impact, not sure about the other setting.

                      Comment


                      • #12
                        Originally posted by gens View Post
                        @brosis
                        if i remember good xonotic uses about ~300MB gpu memory
                        i think most if not all of the level/objects is in there
                        GALLIUM_HUD says Xonotic 0.7 request ~600MB VRAM for high/ultra preset at least that is the case when running demo benchmark .

                        Comment


                        • #13
                          Originally posted by bridgman View Post
                          It's often difficult/impossible to allocate big chunks of physically contiguous memory via the OS memory manager after the system has been running for a while... but having a reserved area of memory keeps the OS memory manager's grubby little fingers off it
                          can i ask why
                          i mean is it for historical/architectural reasons or complexity/performance or it's just not implemented or..

                          am curious as it seems like something an OS could do
                          (even memory defragmenting; suspend a process - copy page - change lookup table - resume)

                          like i have a client-server that transfer data via shm (server having an alsa DMA buffer)
                          it would be fun to just call the kernel to change.... scratch this, i didn't think that the device uses a different MMU
                          got me thinking now..

                          edit: still run-time defragmenting sounds, to uneducated me, to be possible
                          Last edited by gens; 04-19-2014, 03:04 PM.

                          Comment


                          • #14
                            Originally posted by bridgman View Post
                            It's not a silly question at all. The distinction between "video RAM" and "system RAM" on an IGP is made for a few different reasons :
                            [snip]
                            Ah, thank you so much, and many thanks to @curaga and @gens. My hunch was that for the older, not on-die IGP's, it made sense indeed to have a separate memory chunk, becuase the RAM access was different and pehaps slower, etc. It was with the more recent APUs that I was confused. Thank you all for the info.

                            I guess it wouldn't be out of the question to have, at some point, the kernel give up memory to the graphics driver on demand, so this becomes a runtime allocation as opposed to a BIOS setting. So, a user willing to allocate more RAM for graphics uses a GUI inside the OS, sets "graphics RAM" to 1Gb, and the next bootup, the kernel reads the config file and gives up one gig to the GPU drive to do as they please. So she doesn't need to fiddle with the BIOS, which is a terrifying experience for most people.

                            Comment


                            • #15
                              Originally posted by Gusar View Post
                              I have two settings for video ram - "Internal Graphics Memory Size", which I think is the framebuffer; and DVMT ("Dynamic Video Memory Technology", talk about buzzwords ). Do you have that as well, and which were you setting? I have the framebuffer set to the lowest (32MB) and DVMT to "max" (other options being 128M and 256M). I would expect limiting DVMT to have an impact, not sure about the other setting.
                              Ah, let me check. Thanks!

                              Comment

                              Working...
                              X