1. 10 Feb, 2026 1 commit
    • Evan Pretti's avatar
      GPU implementation of L-BFGS (#5198) · 4ab645ea
      Evan Pretti authored
      * Make reference/CPU minimizer into a kernel
      
      * Add per-platform support for GPU minimization
      
      * Initial implementation of GPU minimization
      
      * Fixes
      
      * Increase robustness when initial gradient is huge
      
      * Handle overflow leading to non-finite values gracefully
      
      * Handle large forces in single precision more robustly
      
      * Optimize kernels
      
      * Fix kernel launch size
      
      * Update banner years
      
      * Don't create MinimizeKernel until first minimization requested
      
      * Make some compile-time constants into kernel arguments
      
      * Consolidate scale calculation kernel
      
      * Condense alpha/beta reduction kernels using atomics
      
      * Condense line search dot kernels with reductions
      
      * Remove a download, and download grad norm separately
      
      * Asynchronously check lbfgs convergence condition
      
      * Restructure line search to avoid download waiting
      
      * Start line search preemptively in case CPU evaluation is not needed
      
      * In rare cases, constraint error might not decrease after one optimization round
      
      * Better handling of unsupported 64-bit atomics, use FLT_MAX
      
      * Pick gradient mode based on GPU vs. CPU evaluation
      
      * Rework getDiff/getScale reduction, remove reduceBuffer
      
      * Older CUDA might not like float hex literals
      
      * Fix error in a comment
      4ab645ea
  2. 23 Sep, 2025 1 commit
  3. 19 Sep, 2023 1 commit
  4. 05 Jan, 2023 1 commit
  5. 27 May, 2020 1 commit
  6. 07 Feb, 2018 1 commit
  7. 12 Jan, 2018 1 commit
  8. 27 Oct, 2015 2 commits
  9. 23 Sep, 2015 1 commit
  10. 06 May, 2015 1 commit
  11. 19 Feb, 2015 1 commit
  12. 07 May, 2014 1 commit
  13. 31 Oct, 2012 1 commit
  14. 28 Sep, 2012 1 commit
  15. 20 Jun, 2012 1 commit
  16. 31 Jan, 2012 2 commits
  17. 13 Jul, 2010 1 commit
  18. 09 Jul, 2010 1 commit
  19. 10 May, 2010 1 commit
  20. 14 Jul, 2009 1 commit
  21. 21 Apr, 2009 1 commit
  22. 17 Apr, 2009 2 commits
  23. 22 Oct, 2008 2 commits
  24. 16 Oct, 2008 1 commit
  25. 16 May, 2008 1 commit
  26. 02 May, 2008 1 commit
  27. 25 Apr, 2008 1 commit
  28. 22 Apr, 2008 1 commit
  29. 17 Apr, 2008 1 commit
  30. 16 Apr, 2008 1 commit