0 Replies Latest reply on Sep 15, 2014 2:58 PM by matszpk

    Graphics card throttles on the heavy loads but 'amdconfig --odgc' do not displays changes

    matszpk

      Hello, everyone.

      I am newbie on this forum I would like to show my problem with my graphics card (this is mainly hardware problem).

      I am using Linux 64-bit on my PC and I am programming in OpenCL since 2 years.

      I wrote simple program in OpenCL that heavily loads GPU and its memory (much than furmark). Program checks mainly GPU memory and can detects errors.

      I observed performance throttling after 30-120 seconds without changing gpu clock and gpu memory clock

      (mainly in overclocked setup, for example: core=1000, mem=1255). Throttling reduces performance around  5%-10% of main performance GPU.

      However amdconfig --odgc did display this same clocks at all time of program running (no changes in current clocks line).

      Moreover for some tests i observed throttling on the stock clocks.

      Program prints performance info (memory bandwidth and GFLOPS) and allows to observe changes in performance.

       

      example program working in core=860 mem=1200 (stock), command: ./gpustress -G -W512 -S40 -P gpustressPW.cl :

      #0 AMD Accelerated Parallel Processing:Pitcairn was passed PASS #10

      Approx. bandwidth: 87.8229 GB/s, Approx. perf: 1405.17 GFLOPS

      #0 AMD Accelerated Parallel Processing:Pitcairn was passed PASS #20

      Approx. bandwidth: 97.0516 GB/s, Approx. perf: 1552.83 GFLOPS

      #0 AMD Accelerated Parallel Processing:Pitcairn was passed PASS #30

      Approx. bandwidth: 98.6475 GB/s, Approx. perf: 1578.36 GFLOPS

      .... after few seconds....

      #0 AMD Accelerated Parallel Processing:Pitcairn was passed PASS #410

      Approx. bandwidth: 92.9131 GB/s, Approx. perf: 1486.61 GFLOPS

      #0 AMD Accelerated Parallel Processing:Pitcairn was passed PASS #420

      Approx. bandwidth: 92.3115 GB/s, Approx. perf: 1476.98 GFLOPS

      #0 AMD Accelerated Parallel Processing:Pitcairn was passed PASS #430

      Approx. bandwidth: 92.0867 GB/s, Approx. perf: 1473.39 GFLOPS

       

      other run (core=900,mem=1200), command: ./gpustress -G -W512 -S40 -P gpustressPW.cl:

      #0 AMD Accelerated Parallel Processing:Pitcairn was passed PASS #80

      Approx. bandwidth: 95.0955 GB/s, Approx. perf: 1616.62 GFLOPS

      #0 AMD Accelerated Parallel Processing:Pitcairn was passed PASS #90

      Approx. bandwidth: 92.9179 GB/s, Approx. perf: 1579.6 GFLOPS

      ...

      #0 AMD Accelerated Parallel Processing:Pitcairn was passed PASS #320

      Approx. bandwidth: 92.1332 GB/s, Approx. perf: 1566.26 GFLOPS

      #0 AMD Accelerated Parallel Processing:Pitcairn was passed PASS #330

      Approx. bandwidth: 89.0627 GB/s, Approx. perf: 1514.07 GFLOPS

       

      During program working my GPU have over 65 C (few degrees more than in furmark test) after 3 minutes.

       

      No any other program was working when my program was ran (no software circumstances).

      I encountered problems with throttling on AMD Catalyst 14.4 and 14.6beta1 (may 23).

       

      EDIT: I forgot about memory requirements:

      program requires 256*workSize bytes of GPU memory. WorkSize is maxComputeUnits*maxWorkGroupSize*WORKFACTOR where workfactor can be specified in command line.

       

      My question is: what causes GPU performance throttling and how? is it programmed in GPU BIOS or is controlled by driver?

      I would like to get comprehensive answer if this is possible.

       

      WARNING: ATTACHED PROGRAM IS VERY DANGEROUS FOR GRAPHICS CARD AND CAN OVERHEAT GRAPHICS CARD IN FEW MINUTES.

      PLEASE USE THIS PROGRAM VERY CAREFULLY!

      I REALLY RECOMMEND TO RUN THIS PROGRAM WHEN GRAPHICS CARD HAS STOCK CLOCKS (ESPECIALLY GPU MEMORY CLOCK) AND OTHER PARAMETERS IN STOCK VALUES!

       

      My config is:

      Intel Core i5 3470 (oc'ed)

      Gigabyte Radeon HD 7850 1GB (currently, core=900, mem=1200).

      OpenSUSE Linux 64-bit

      Drivers: AMD Catalyst 14.4.

       

      PS: Sorry for my bad English.

      PS2: Possible that this program will be published in github (maybe tomorrow or later).

      PS3: In attached archive I found stupid bug in Makefile ('make clean' removes sources instead executable!). Also new gpustress has been updated.