Announcement

Collapse
No announcement yet.

Announcing radeontop, a tool for viewing the GPU usage

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

  • #16
    hi, i have problem to compile .
    Make


    ui.c.text.present+0x8dc): undefined reference to `endwin'
    collect2: ld returned 1 exit status
    make: *** [radeontop] Errore 1

    Comment


    • #17
      Which packages are needed on Ubuntu 12.04 x64 to compile it?

      Just downloading the zip file of the repository and running make didn't work.
      I had to install "git" and run "git clone https://github.com/clbr/radeontop.git" to satisfy getver.sh, and install "libpciaccess-dev" to get pciaccess.h, but I'm still getting compilation errors:
      Code:
      detect.o: In function `init_pci':
      detect.c:(.text.init_pci+0x7): undefined reference to `pci_system_init'
      detect.c:(.text.init_pci+0x67): undefined reference to `pci_id_match_iterator_create'
      detect.c:(.text.init_pci+0x74): undefined reference to `pci_device_probe'
      detect.c:(.text.init_pci+0x92): undefined reference to `pci_device_next'
      detect.c:(.text.init_pci+0xa2): undefined reference to `pci_iterator_destroy'
      ui.o: In function `percentage':
      ui.c:(.text.percentage+0x1b): undefined reference to `stdscr'
      ui.c:(.text.percentage+0x28): undefined reference to `wattr_on'
      ui.c:(.text.percentage+0x2f): undefined reference to `stdscr'
      ui.c:(.text.percentage+0x39): undefined reference to `wmove'
      ui.c:(.text.percentage+0x4f): undefined reference to `stdscr'
      ui.c:(.text.percentage+0x71): undefined reference to `whline'
      ui.c:(.text.percentage+0x78): undefined reference to `stdscr'
      ui.c:(.text.percentage+0x8c): undefined reference to `wattr_off'
      ui.o: In function `printcenter':
      ui.c:(.text.printcenter+0xaa): undefined reference to `mvprintw'
      ui.o: In function `printright':
      ui.c:(.text.printright+0xa9): undefined reference to `mvprintw'
      ui.o: In function `present':
      ui.c:(.text.present+0x2e): undefined reference to `initscr'
      ui.c:(.text.present+0x33): undefined reference to `noecho'
      ui.c:(.text.present+0x3d): undefined reference to `halfdelay'
      ui.c:(.text.present+0x44): undefined reference to `curs_set'
      ui.c:(.text.present+0x4b): undefined reference to `stdscr'
      ui.c:(.text.present+0x50): undefined reference to `wclear'
      ui.c:(.text.present+0x59): undefined reference to `start_color'
      ui.c:(.text.present+0x6a): undefined reference to `init_pair'
      ui.c:(.text.present+0x7b): undefined reference to `init_pair'
      ui.c:(.text.present+0x8c): undefined reference to `init_pair'
      ui.c:(.text.present+0x9d): undefined reference to `init_pair'
      ui.c:(.text.present+0xae): undefined reference to `init_pair'
      ui.c:(.text.present+0xb5): undefined reference to `stdscr'
      ui.c:(.text.present+0xe5): undefined reference to `wattr_on'
      ui.c:(.text.present+0xec): undefined reference to `stdscr'
      ui.c:(.text.present+0xf8): undefined reference to `wmove'
      ui.c:(.text.present+0x103): undefined reference to `stdscr'
      ui.c:(.text.present+0x10f): undefined reference to `whline'
      ui.c:(.text.present+0x142): undefined reference to `stdscr'
      ui.c:(.text.present+0x14e): undefined reference to `wattr_off'
      ui.c:(.text.present+0x195): undefined reference to `stdscr'
      ui.c:(.text.present+0x1a1): undefined reference to `wmove'
      ui.c:(.text.present+0x1a8): undefined reference to `stdscr'
      ui.c:(.text.present+0x1ad): undefined reference to `wclrtobot'
      ui.c:(.text.present+0x2d8): undefined reference to `stdscr'
      ui.c:(.text.present+0x373): undefined reference to `wmove'
      ui.c:(.text.present+0x37e): undefined reference to `acs_map'
      ui.c:(.text.present+0x385): undefined reference to `stdscr'
      ui.c:(.text.present+0x38c): undefined reference to `whline'
      ui.c:(.text.present+0x397): undefined reference to `stdscr'
      ui.c:(.text.present+0x3a1): undefined reference to `wmove'
      ui.c:(.text.present+0x3b0): undefined reference to `acs_map'
      ui.c:(.text.present+0x3b7): undefined reference to `stdscr'
      ui.c:(.text.present+0x3bc): undefined reference to `wvline'
      ui.c:(.text.present+0x3c7): undefined reference to `stdscr'
      ui.c:(.text.present+0x3d1): undefined reference to `wmove'
      ui.c:(.text.present+0x3dc): undefined reference to `acs_map'
      ui.c:(.text.present+0x3e3): undefined reference to `stdscr'
      ui.c:(.text.present+0x3e8): undefined reference to `waddch'
      ui.c:(.text.present+0x3f3): undefined reference to `stdscr'
      ui.c:(.text.present+0x3ff): undefined reference to `wattr_on'
      ui.c:(.text.present+0x445): undefined reference to `stdscr'
      ui.c:(.text.present+0x451): undefined reference to `wattr_off'
      ui.c:(.text.present+0x497): undefined reference to `stdscr'
      ui.c:(.text.present+0x4a3): undefined reference to `wattr_on'
      ui.c:(.text.present+0x4e7): undefined reference to `stdscr'
      ui.c:(.text.present+0x4f3): undefined reference to `wattr_off'
      ui.c:(.text.present+0x4fa): undefined reference to `stdscr'
      ui.c:(.text.present+0x506): undefined reference to `wattr_on'
      ui.c:(.text.present+0x5b5): undefined reference to `stdscr'
      ui.c:(.text.present+0x5c1): undefined reference to `wattr_off'
      ui.c:(.text.present+0x5d5): undefined reference to `stdscr'
      ui.c:(.text.present+0x5e1): undefined reference to `wattr_on'
      ui.c:(.text.present+0x708): undefined reference to `stdscr'
      ui.c:(.text.present+0x714): undefined reference to `wattr_off'
      ui.c:(.text.present+0x7ab): undefined reference to `stdscr'
      ui.c:(.text.present+0x7b7): undefined reference to `wattr_on'
      ui.c:(.text.present+0x89c): undefined reference to `stdscr'
      ui.c:(.text.present+0x8a8): undefined reference to `wattr_off'
      ui.c:(.text.present+0x8af): undefined reference to `stdscr'
      ui.c:(.text.present+0x8b4): undefined reference to `wrefresh'
      ui.c:(.text.present+0x8bb): undefined reference to `stdscr'
      ui.c:(.text.present+0x8c0): undefined reference to `wgetch'
      ui.c:(.text.present+0x8dc): undefined reference to `endwin'
      What's missing?

      Machine: Lenovo X121e - AMD E-350

      Comment


      • #18
        Very nice! intel-gpu-top has been really useful for me when trying to tune performance of the Intel driver, so I'm really glad to see an equivalent tool come along for the Radeon drivers. Keep up the good work
        Free Software Developer .:. Mesa and Xorg
        Opinions expressed in these forum posts are my own.

        Comment


        • #19
          The errors are because you build with --as-needed

          In order to not fail with --as-needed, the linking order needs to be fixed:
          Code:
          --- a/Makefile  2012-07-08 16:43:32.607932237 +0200
          +++ b/Makefile  2012-07-08 16:43:58.753934197 +0200
          @@ -31,7 +31,7 @@
           $(obj): $(wildcard *.h) version.h
           
           $(bin): $(obj)
          -       gcc -o $(bin) $(CFLAGS) $(LDFLAGS) $(obj)
          +       gcc -o $(bin) $(CFLAGS) $(obj) $(LDFLAGS)
           
           clean:
                  rm -f *.o $(bin)
          Alternatively, drop -Wl,--as-needed from your LDFLAGS.

          Comment


          • #20
            Thanks now works.

            Comment


            • #21
              Your issue and other problems with the Makefile (with suggested fix) have been reported already on github https://github.com/clbr/radeontop/pull/2

              Comment


              • #22
                Switching obj and LDFLAGS in the Makefile did the trick.
                Senk ju ferrie matsch.

                Great to see there is already a fix in the pipeline.

                Comment


                • #23
                  Originally posted by curaga View Post
                  Didn't watch the vid, but in general the accuracy depends on the samples per sec. The default (60) is a low number pulled out of my backside, at least it has no measurable overhead.

                  But to get more accurate numbers, try "-t 1000" for example.
                  I completely missed that parameter, thanks.

                  Indeed, even increasing it slightly from 60 to 70 Hz results in a comparably steady state.
                  Not sure if this can be generalized, but maybe it's not a good idea to poll registers with 60 Hz while
                  your 3d app runs v-synched at 60 Hz also. Just an idea, where that "beating" might result from.

                  Comment


                  • #24
                    0.5.3 tagged, with various build fixes and default ticks upped to 120. Thanks for the feedback!

                    Comment


                    • #25
                      Originally posted by Xaseron View Post
                      I have to two radeon graphic cards and one is blacklisted via xen pcihide. It seems that radeontop picks this graphic card. Everything is on 100%.

                      It would be nice to choose the graphic card.
                      Are they the same model (pci id) or different models? Currently it just picks the first Radeon GPU it finds, I wonder what would be a good interface that would handle many cards with the same pci id.

                      Comment


                      • #26
                        01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Barts XT [ATI Radeon HD 6800 Series]
                        09:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RV710 [Radeon HD 4550]

                        I use the second one for displaying my desktop.

                        Comment


                        • #27
                          OK, perhaps the first number (slot?) is the answer. I'll put it on my todo list.

                          Comment


                          • #28
                            Is all of this specific to radeon hardware?
                            It would be nice to get similar information from nouveau/intel drivers; merge it all into one tool and then we can call it "dritop"...

                            Comment


                            • #29
                              Ohhh! Great Curaga! Thanks!

                              Comment


                              • #30
                                Originally posted by not.sure View Post
                                Is all of this specific to radeon hardware?
                                It would be nice to get similar information from nouveau/intel drivers; merge it all into one tool and then we can call it "dritop"...
                                There's already a similar tool for intel, that's the inspiration for this one.

                                Comment

                                Working...
                                X