CuTangent is a CUDA library for computing forward-mode subgradients, i.e. tangents.
Please make sure that you have installed everything mentioned in the section Build Requirements.
git clone https://github.com/neilkichler/cutangent.git
cd cuinterval
cmake --preset release
cmake --build build
cmake --install build
CPMAddPackage("gh:neilkichler/cutangent@0.0.1")
include(FetchContent)
FetchContent_Declare(
cuinterval
GIT_REPOSITORY git@github.com:neilkichler/cutangent.git
GIT_TAG main
)
FetchContent_MakeAvailable(cutangent)
In either case, you can link to the library using:
target_link_libraries(${PROJECT_NAME} PUBLIC cutangent)
Have a look at the examples folder.
The documentation is available here.
We require C++20, CMake v3.25.2+, Ninja, and recent C++ and CUDA compilers.
apt install cmake gcc ninja-build
module load CMake CUDA GCC Ninja
cmake --workflow --preset dev
cmake --preset debug
cmake --build --preset debug
ctest --preset debug
cmake -S . -B build -GNinja
cmake --build build
./build/tests/tests