1. Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Hmm, ATI HD5xxx Memory Usage monitor not possible?

Discussion in 'GPU-Z' started by newfellow, Jul 23, 2010.

  1. newfellow New Member

    Joined:
    Aug 28, 2009
    Messages:
    314 (0.16/day)
    Thanks Received:
    17
    Wondering here since I cannot find a single tool which could give me ATI Card memory usage monitor. What hangs on that? I mean isn't it query on same location from display than NVIDIA cards ?

    funny still I can fill the memory with OpenCL style toys, but I cannot detect the memory usage. :)
     
  2. INSTG8R

    INSTG8R

    Joined:
    Nov 26, 2004
    Messages:
    3,016 (0.83/day)
    Thanks Received:
    513
    Location:
    Lost in Norway
    It "has" worked on past versions of Everest. It hasn't worked for quite some time tho. I liked to have it on my GPU page for my G15.
     
  3. newfellow New Member

    Joined:
    Aug 28, 2009
    Messages:
    314 (0.16/day)
    Thanks Received:
    17
    I also know there was an simply fix in Rivatuner which was taken on use when HD3xxx cards where changed to HD4xxx card to enable 'vidmem.dll=1' which worked on new cards. I
    understand VRM is different, but in all sense these VRM:s has few times more information and it should work somehow as simply query.

    I just haven't found a single took which could tell me the memory usage. Everest included.
     
  4. AltecV1

    AltecV1 New Member

    Joined:
    Jan 1, 2009
    Messages:
    1,290 (0.60/day)
    Thanks Received:
    173
    Location:
    Republic of Estonia
    its because W1zzard is an NVidia fanboy and wants to keep those features to NVidia cards :laugh: no im just joking, but im pretty sure there is a good reason why it hasnt made in to GPU-Z
     
  5. cadaveca

    cadaveca My name is Dave

    Joined:
    Apr 10, 2006
    Messages:
    14,098 (4.48/day)
    Thanks Received:
    7,280
    Location:
    Edmonton, Alberta
    Data in mem is "in flight" and as such, is not "actively" stored in mem. It requires the use of debugging tools(GPUPerfMonitor et al./virtualiztion of the app, sometimes), or custom code to find out how much is actually being used( for example, GTA4 bench will tell you % of memory was used).

    Also, you must be sure to not be querying the local store, which is just 32k.

    There basically is not one large 1GB data share on 1GB AMD cards. It's literally broken up into 4x256MB groupings(as the memory controller is not 256-bit, but 4x64 bit, but as they all run in tandem, it's considered 256-bit overall), making proper monitoring even more difficult. 4x data stores means it's very possible that monitoring calls may stall an app, leading to crashes.
     
    newfellow says thanks.
  6. newfellow New Member

    Joined:
    Aug 28, 2009
    Messages:
    314 (0.16/day)
    Thanks Received:
    17
    Thanks, but I do understand this and this 'split' is why it is so damn difficult for me to code on OpenCL environment (+ AMD limitations). I can query 'Cypress' for
    current in-card local memory 'availability' (not on-fly, but 'when query is sent'). However, this is not an option while running an 3D applications.
    (For example: current 'Lavalys Everest' does automate query 'ATI Stream: Cypress' this 'Local Memory' how ever the query is never performed more than 1 time on program start)

    I am wondering why this memory isn't in any tools I mean hasn't ATI/AMD provide any specs (other than OpenCL)
    and WHY this couldn't be query exact same way as NVIDIA GPU from the 'display' and not from the card.
     
  7. Mussels

    Mussels Moderprator Staff Member

    Joined:
    Oct 6, 2004
    Messages:
    42,483 (11.48/day)
    Thanks Received:
    9,763
    subscribing to see what people find out
     
  8. cadaveca

    cadaveca My name is Dave

    Joined:
    Apr 10, 2006
    Messages:
    14,098 (4.48/day)
    Thanks Received:
    7,280
    Location:
    Edmonton, Alberta
    As far as I understand, AMD has in fact provided specs for this, and really, you need to have the app coded to support it, due to how the memory subsystem works. Of course, we can monitor how much data is sent to the gpu at any given moment, or else the wouldn't run!

    nVidia, on the other hand, uses a global data store, in effect, so you can query the controller to see what's there. This is why they excel @ gpgpu, well..other than the software.

    Amd's answer is more power efficient, as seen in thier current gpus. This alone bascially accounts for the power difference between the two current gpus, vs transistor count, if we are excluding the extra ram nV is currently using.

    However, ATi has recently change how memory management works, it seems, at the driver level, and this change is evident in apps that feature the aforementioned support for memory use monitoring. It's built into Crysis as well, and, of course, most other engines, but this needs to be enabled inside the app, rather than using an external tool.

    Personally, I think that this is why we don't see Phys-X on ATI gpus. nV guys weren't lying when they said they'd give ATi the code...they knew it wouldn't run well on ATi hardware anyway.

    I guess, anyway. It's not like this info is out there on the intarwebs, so I gotta guess.



    :laugh:

    ;)
     
  9. slyfox2151

    slyfox2151

    Joined:
    Jan 14, 2009
    Messages:
    2,611 (1.22/day)
    Thanks Received:
    525
    Location:
    Brisbane, Australia
    what extra ram is nvidia currently using????
    also the physx part is getting off topic and will start a flame fest... lets end that right here.


    i think ATI needs to add code to support Ram usage monitoring, im sure it could possibly done atm (check ram useage) but its likely to be inefficient and possibly give incorrect resualts.
     
  10. cadaveca

    cadaveca My name is Dave

    Joined:
    Apr 10, 2006
    Messages:
    14,098 (4.48/day)
    Thanks Received:
    7,280
    Location:
    Edmonton, Alberta
    GTX480 has how much more ram than 1GB Cypress? ;)

    I think that now, right this moment, yes, you are right, ATi needs to add some code, but, maybe at this point they already have. The driver is different now, so who knows what all they have added...


    Which is what really bothers me about them...for someone wanting Open-Source solutions, the sure aren't open with info...I see lots of non-business stuff on social media feeds, even, so clearly, focus isn't 100% on work for some of those @ Ati. ;)


    I'm not expecting any sort of flamefest..I'm straight out guessing. Blame AMD for me having to.

    EDIT:

    Newfellow, you know, I guess I didn't realyl answer anything there, did I? There is a third party tool out there that you can use to query usage, as Everest does, but like you say, it must be constant query, which will drastically affect performance. I suggest you hit up the dev forum, explain what's going on and why you need this function transparent, and then you may hope it will happen.
     
    Last edited: Jul 24, 2010
  11. newfellow New Member

    Joined:
    Aug 28, 2009
    Messages:
    314 (0.16/day)
    Thanks Received:
    17
    Cheer curiosity. I could almost bet my neck this is the v10.4b(8.721.3.0000) and updated in v10.4 WHQL->after. Would also explain hell a lot other things which I've been
    working on. (of course officially this would be v10.3b, but wth). As for explain. Well, I don't honestly even wanna go to devel forums. I know I will not
    find answer there more likely they'll ban my ars for questioning too much, heh. As for 'inside application' only problem in this really is that not all the engines
    comes with the support (like Bioware 'Eclipse'-engine Would love to get this engine statistics on screen anyway). :(

    I'll find a way and query in 'live' sense only has to be done when executed so I think I can deal with some sort of coding here which would simply push
    hotkey -> drop OSD flashing couple times of current memory in each chunk, but I just don't know where to begin really here, but just saying I'm sure no
    real live 'OSD' Style of memory usage would even be needed to just understand a momentary memory usage.

    Well, I'm not saying they wouldn't be capable of doing this and probably some new series will have this in the end, but considering atm drivers they are
    building and as I see clear as a daylight all the issues there is on OpenGL 4.0 implementation, DirectX 9-10 on latest (10.6) CFX and older drivers (<-10.5a) DX11 (nor OGL 4.0).

    I am just referring that there is, atm, so many very difficult problems on ATI lair and PR sawing wooden 'Flash is now working'-crap that I doubt there is
    a room for any 'extra' code as they are doing probably the best just to keep up and fix the crap they made up.

    @commonly

    and o as for PhysX flaming. Well, I don't really care does the PhysX work on ATI cards or not it is not even on NVIDIA hardware worth a cent. I'd consider
    maybe DirectCompute 11 as for the moment slow version of physics acceleration through all hardware not even OpenCL as it is so so so early stage of
    development (although, working in my sense, but not for the people as only driver where this works is 10.3b officially and that's just crap. New drivers
    comes with new CAL DD and that breaks with GTK the OpenCL functionality completely).
     
    Last edited: Jul 24, 2010
  12. W1zzard

    W1zzard Administrator Staff Member

    Joined:
    May 14, 2004
    Messages:
    15,007 (3.90/day)
    Thanks Received:
    11,877
    sorry but that's bs... the memory on the gpu is one flat space, a memory controller does exactly that, create an abstraction layer from individual chip and cell adressing to a flat memory space. all modern cpus and gpus work like that.

    all ati has to do is put a counter into their driver that counts how many bytes it has allocated in gpu memory, and expose it. i'm quite sure the driver already keeps track of memory usage otherwise it wouldnt know when memory is full or when to overflow into main memory. ati is simply not exposing the counter to 3rd party apps, while nvidia does. cost in performance should be pretty much 0, one addition per memory allocate, one subtraction per memory free, one main memory access per read + call overhead

    who said anything that those counters are accurate at all?
     
    lensman19067 and Mussels say thanks.
  13. newfellow New Member

    Joined:
    Aug 28, 2009
    Messages:
    314 (0.16/day)
    Thanks Received:
    17
    hmm, were talking on OpenCL I assumed. In there it is not 'flat space' it's split to several while allocated. It even was limited to half on begin (unsure actually how it's on 'ATI Stream 2.1' + new drivers).

    Now that's nice to know as questioned on original post by me. So, there is an cap in information from ATI side after all.

    As for accurate. Well, this is a question I've also been asking lately on specifically NVIDIA CUDA Cores Usage % information which we receive from cards I mean how do we even know the % of something like PhysX is from all available cores and not just from the cores allowed to utilize. Same with OpenCL (for example any Cypress system is limited by AMD to 20 cores maximum no matter do your PC have 2xHD5970 or a single HD5870).

    Although, speaking of Memory Usage here, but a bit another manner considering there is a '0' and max in this case 1024MB over any case. As all CFX memory in threaded no matter do you run 2 or 4 GPUs.
     
    Last edited: Jul 24, 2010
  14. Mussels

    Mussels Moderprator Staff Member

    Joined:
    Oct 6, 2004
    Messages:
    42,483 (11.48/day)
    Thanks Received:
    9,763
    you're the only one here with enough pull to get anything done about it, care to try contacting them and asking for the feature to be exposed?
     
  15. W1zzard

    W1zzard Administrator Staff Member

    Joined:
    May 14, 2004
    Messages:
    15,007 (3.90/day)
    Thanks Received:
    11,877
    yes opencl works differently
    [​IMG]
    basically all those different memories are a combination of cpu memory, gpu memory, gpu caches, gpu registers. not relevant for this discussion in my opinion

    there is a cap on everything from everyone. there are hundreds of performance counters in modern gpus, nvidia goes as far as exposing 4 (memory + 3x gpu load) - and they dont tell us how they work, what they count, how they refresh, etc etc
     
    newfellow says thanks.
  16. newfellow New Member

    Joined:
    Aug 28, 2009
    Messages:
    314 (0.16/day)
    Thanks Received:
    17
    "not relevant for this discussion in my opinion"

    yeah have nothing to do with this topic. Just an question before could I of simply build based on OpenCL Memory 'Total Local Available Memory'-query on OpenCL to go though the issue to simply make temporal OSD to flash on screen while need quick memory usage reading.

    As for information cap well, no can do on my side. I'am all out of luck on ATI.
     
  17. cadaveca

    cadaveca My name is Dave

    Joined:
    Apr 10, 2006
    Messages:
    14,098 (4.48/day)
    Thanks Received:
    7,280
    Location:
    Edmonton, Alberta

    Yes, but really, the only need to know for memory usage, outside of engine debugging, and curiosity, would be OpenCL. However, for an indie dev looking for this info, what I've given is what AMD has said in regards to the subject. He did say OpenCL in the OP, after all.

    I mean, Like I said, I'm guessing. I don't know jack..but I can easily parrot what they've(AMD) said. I have no intentions of spreading BS, however, as newfellow agreed with me, we can tell that he's run into these situations as well. AMD programming guides basically tell you to guess what memory usage is. :p


    :laugh:

    AMd says on the dev forum that these counters are there now for measuring memory usage, in STREAM, anyway. But i dunno where or what or how they are exposed.

    Also, Crossfire configs now seem to use the mem on both cards, or at least, they show in apps as having a much larger buffer than is physically on one card(1.7-2.0GB), and this changed within the past few months. Most see -256MB of total on all GPUs.


    BUt info states that Crossfire configs don't share memory, so what's going on?
     
  18. newfellow New Member

    Joined:
    Aug 28, 2009
    Messages:
    314 (0.16/day)
    Thanks Received:
    17
    Well, it would look like OpenCL is a no go on this subject.

    Just coded an app which can read Global All memory dedicated by windows to graphics and Local GPU Video Memory. Available Free & totals on screen, but I cannot update 'live' values by any means. ATI Stream does actually answer 1024MB for the HD5850 card, but OpenCL again answers 256MB weird. However, since I cannot do an 'live' update on neither on entire Windows run until restarted can't use this to know memory usage. :(

    need to find some other way pass this read out.
     
  19. cadaveca

    cadaveca My name is Dave

    Joined:
    Apr 10, 2006
    Messages:
    14,098 (4.48/day)
    Thanks Received:
    7,280
    Location:
    Edmonton, Alberta
    Yeah, that's why I suggested you hit up the dev forum. I know it may seem kind of a waste of time, but until AMD has enough people requesting this functionality, it will never happen.
     
  20. somebody

    somebody New Member

    Joined:
    Sep 28, 2009
    Messages:
    127 (0.07/day)
    Thanks Received:
    27
    What about the ATI Memory Viewer?

    http://www.amd.com/us/products/workstation/graphics/tools/pages/tools.aspx

    Well it doesn't work so well on my nVidia, but maybe that's to be expected. :laugh:
     
    newfellow says thanks.
  21. erocker

    erocker Super Moderator Staff Member

    Joined:
    Jul 19, 2006
    Messages:
    39,892 (13.08/day)
    Thanks Received:
    14,295
    It kind of works, just doesn't read the memory under load.
     
  22. newfellow New Member

    Joined:
    Aug 28, 2009
    Messages:
    314 (0.16/day)
    Thanks Received:
    17
    This memory Viewer is exactly same looking what I just coded except it only reads local and I used it as OSD or as overlay.

    hehe..

    -edit-

    and seems indeed pretty darn broken nothing will change the current reading.
     
    Last edited: Aug 1, 2010
  23. somebody

    somebody New Member

    Joined:
    Sep 28, 2009
    Messages:
    127 (0.07/day)
    Thanks Received:
    27
  24. newfellow New Member

    Joined:
    Aug 28, 2009
    Messages:
    314 (0.16/day)
    Thanks Received:
    17
    NVIDIA works yeah, but ATI does not I did test the proggy there and it only shows NVIDIA as any other tool would. Crashing tool too :)

    Anyway, I think I'll believe on what Wizzzard said above there that 'identifier' simply haven't been provided public. although, wonder why. These folks never do anything without a reason.
     

Currently Active Users Viewing This Thread: 1 (0 members and 1 guest)

Share This Page