CARVIEW |
Select Language
HTTP/2 200
date: Wed, 23 Jul 2025 20:27:51 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"e2c8080eec94cc002f6d16d60cf0f067"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=S8yBrDuUh2lpQ4OweDAdecsrwp5xPcMj8Af%2BRt7sGZlbwsh6nylqNfB0WV9iSZbhd9PTBwdmiAS2KyJfodI4C6m1tEuvJ%2FJgQEaWQeIlS3UU310g4qbnPYm77vuh9Q8h4byG%2FjWnJ595Zy4uBaRuDst98s%2BydP7vaz%2FuAmISt637tprA6TiJ39IbSBVic%2B45NMstENPqiM090M6a9NFgnQ8aZOa%2FZ5Em25KkOfXAcQ3wKXXkKl%2BJP%2Bl9HLkQNo%2FRl9h3J9dJag7aone909ah9w%3D%3D--GJgIzn4s71G7HB3R--Qfg1YGaMe6qCx3fv7t536A%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.393749683.1753302471; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 20:27:51 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 20:27:51 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: AA3C:0A93:E3E5:14A3B:688145C7
GitHub - jwetzl/CudaLBFGS: This is a cross-platform, CUDA-based C++ library for general-purpose, unconstrained nonlinear optimization on the GPU. It implements the L-BFGS (“Limited-memory Broyden-Fletcher-Goldfarb-Shanno“) method, a popular Quasi-Newton variant with a low memory footprint.
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 41
This is a cross-platform, CUDA-based C++ library for general-purpose, unconstrained nonlinear optimization on the GPU. It implements the L-BFGS (“Limited-memory Broyden-Fletcher-Goldfarb-Shanno“) method, a popular Quasi-Newton variant with a low memory footprint.
jwetzl/CudaLBFGS
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
NOTE: This library was only tested with CUDA 4.x and 5.x and may not work with more recent versions. We do not currently have the time to update it for more recent CUDA versions, but would gladly accept pull requests addressing this issue. ==================================================== ___ _ _ ___ _ _ ___ ___ ___ ___ / __| | | | \ /_\ | | ___| _ ) __/ __/ __| | (__| |_| | |) / _ \ | |_|___| _ \ _| (_ \__ \ \___|\___/|___/_/ \_\ |____| |___/_| \___|___/ 2012 by Jens Wetzl (jens.wetzl@fau.de) and Oliver Taubmann (oliver.taubmann@fau.de) This work is licensed under a Creative Commons Attribution 3.0 Unported License. (CC-BY) https://creativecommons.org/licenses/by/3.0/ ==================================================== The CUDA L-BFGS library offers GPU based nonlinear minimization implementing the L-BFGS method in CUDA. There is no publication available that covers this library exclusively, but you may consider citing the paper it was introduced in: Wetzl, J., Taubmann, O., Haase, S., Köhler, T., Kraus, M., and Hornegger, J. (2013). GPU-Accelerated Time-of-Flight Super-Resolution for Image-Guided Surgery. In Meinzer, H.-P., Deserno, T. M., Handels, H., and Tolxdorff, T., editors, Bildverarbeitung für die Medizin 2013, Informatik aktuell, pages 21–26. Springer Berlin Heidelberg. ==================================================== BUILDING ==================================================== To build (and, if desired, install) the library, you will need CMake (https://cmake.org). The default settings should be fine for regular use, but there are lots of options, e.g. you can - build a reference implementetation on CPU with either float or double precision (requires Eigen), - build test cases, - enable error checking, verbose output and timing - build example projects that demonstrate how the library is used (cf. /projects directory). ==================================================== INCLUDING THE LIBRARY IN YOUR PROJECTS ==================================================== If you use CMake for your project, including the CudaLBFGS library is jaw-droppingly easy. In your CMakeLists.txt file, add: find_package(CudaLBFGS REQUIRED) include_directories(${CUDALBDFS_INCLUDE_DIRS}) # ... target_link_libraries(YourExecutable ${CUDALBFGS_LIBRARIES}) If you installed the CudaLBFGS library in a non- standard location, you may also have to set either the environment variable CMAKE_PREFIX_PATH or the CMake variable CUDALBFGS_DIR. ==================================================== USAGE ==================================================== The basic approach can be described as follows: 1. Implement your cost function in a class that inherits from the appropiate base class declared in cost_function.h 2. Create an object of class lbfgs (lbfgs.h) passing an object of your cost function class in the constructor. Adjust settings of lbfgs to your liking. 3. Run minimization providing an initial guess for the solution. Check the return code to know which stopping criterion was fulfilled.
About
This is a cross-platform, CUDA-based C++ library for general-purpose, unconstrained nonlinear optimization on the GPU. It implements the L-BFGS (“Limited-memory Broyden-Fletcher-Goldfarb-Shanno“) method, a popular Quasi-Newton variant with a low memory footprint.
Resources
Stars
Watchers
Forks
Packages 0
No packages published
You can’t perform that action at this time.