6 Replies Latest reply on Jan 16, 2009 5:55 AM by zpdixon

    Resetting GPU

    rick.weber

      Is there a way to reset the GPU in Linux without rebooting the machine? I have a CAL kernel that gone haywire and is stuck in an infinite loop. I can reset the machine, but that's a bit overkill for debugging a kernel.

        • Resetting GPU
          rahulgarg
          I was about to ask the same question !!
          • Resetting GPU
            MicahVillmow
            rick/Rahul,
            It is impossible for the GPU to go in an infinite loop because the loop counter is only 32 bits. What is actually occurring is it is going into a very long loop and if you wait long enough, the loop counter will wrap around to zero after 2^32-1 iterations and break from the loop. I don't know of any way to send a reset command to the GPU in linux like with the watchdog timer on windows. Maybe there is something in the kernel but not sure.
              • Resetting GPU
                rick.weber

                 

                Originally posted by: MicahVillmow What is actually occurring is it is going into a very long loop and if you wait long enough, the loop counter will wrap around to zero after 2^32-1 iterations and break from the loop.


                The IL spec is inaccurate then if that's the case. It says "A while loop block can iterate indefinitely, exiting only when a break instruction is executed." Though, I guess it's also misleading in that it doesn't account for the eventual heat death of the universe

                • Resetting GPU
                  zpdixon

                   

                  Originally posted by: MicahVillmow rick/Rahul, It is impossible for the GPU to go in an infinite loop because the loop counter is only 32 bits.


                  That is assuming the code is bug-free Case in point: today I accidentally forgot to decrement a loop counter, and I had no choice but to reboot the machine...

                • Resetting GPU
                  MicahVillmow
                  Rick,
                  From the IL language perspective that statement is still true. How the hardware implement is a different story. Although the IL tries to map as well to the hardware as possible, this is one of the cases where it is not able to. The above statement is also unique to specific hardware and may change between hardware revisions.