2 Replies Latest reply on Jul 6, 2010 9:12 AM by Raistmer

    System becomes unresponsible sometimes when OpenCL app running

    Raistmer
      app restart heals it it seems...

      Currently to use memory more effectively I allocate/deallocate GPU memory when app go from one big area of computations to another.
      Sometimes whole app run goes just fine (~5h), but sometimes all GUI updates in system experience huge slowdown. For example. mouse cursor freeses for 1-2 seconds few times per min.
      My application restart heals this issue.
      I didn't see such behavior in prev builds, when memory buffers were allocated only once at app start.

      Does it mean that GPU memory becomes fragmented in some way and driver can't do needed allocations in GPU memory and start to do trashing to host memory ?
      Will this issue be fixed in new driver releases?
        • System becomes unresponsible sometimes when OpenCL app running
          Jawed

          Fragmentation of GPU memory seems quite likely to me.

          If you are careful to free all buffers that need to be freed (not necessarily all buffers) before allocating any new buffers, does this improve things?

          There is also the chance you've managed to create a leak...

          Overall this seems to be a treacherous topic. e.g. while your application is allocating buffers on the GPU another application might be doing so, too. This scenario seems likely to create fragmentation - and fragmentation would vary amongst systems or with currently running applications. Well, it's hard to know what the variables are...

          • System becomes unresponsible sometimes when OpenCL app running
            Raistmer
            Well, there are 2 sets of buffers I allocate/deallocate for 2 different areas in program.
            Yes, when one set deallocated another one allocated and vice versa. That is, they should not create fragmentation....
            About another apps - no, at that time no another GPU apps (besides OS itself ) running....
            This issue appars only on some data sets and another ones go w/ slowdown. After app restart performance completely restores but can degrade again aftem many iterations... Smth wrong with driver's memory management IMO.