3 Replies Latest reply on Apr 15, 2010 9:53 AM by omkaranathan

    Invalid results but only under heavy GPU load

    Raistmer
      My app runs OK when only it uses GPU (I mean, no other CAL/OpenCL based apps running).
      But when there is another computationally intensive GPU app in background, my app starts to produce incorrect results, just after it passes peak of GPU memory requirement.
      Before this peak no signs of failure. Also, there are no messages about some problems from runtime side.
      App uses both OpenCL and Brook for memory allocations.
      Could it be that OpenCL and Brook runtimes under stress conditions (remember, no errors while app runs alone and errors when there is another CLA-based app running) overlap their regions of GPU memory ?

      Any ideas?
        • Invalid results but only under heavy GPU load
          omkaranathan

          Raistmer,

          Please provide more details about the issue. Which GPU/OS/Driver etc are you using? 

          Also please provide a test case (or details if you are running SDK samples) if possible.

            • Invalid results but only under heavy GPU load
              Raistmer
              Originally posted by: omkaranathan

              Raistmer,


              Please provide more details about the issue. Which GPU/OS/Driver etc are you using? 


              Also please provide a test case (or details if you are running SDK samples) if possible.


              GPU: HD4870, OS: Vista x86 SP2 business ed., Driver: 9.12 hotfix (ATI GPU 0: ATI Radeon HD 4700/4800 (RV740/RV770) (CAL version 1.4.519, 512MB, 1200 GFLOPS peak))

              About test case, it would be hard to do it seems. I use OpenCL/Brook+ mixed app.
              It works OK now at some smaller memory allocation. And it worked OK with bigger memory allocation when there were no another GPU-based apps running.
              That is, maybe not heavy load per se involved, but memory allocation.
              In both cases buffer allocations didn't fail though, no error codes returned.
              It seems like runtime silently takes already allocated memory part for another needs then return it to app... but with wrong data.