Repository navigation
Changes
- The CMake helper
cpp/cmake/TensoracleCuda.cmakeprovides the public functiontensoracle_find_cuda(OUT_INCLUDE_DIR <var> OUT_DRIVER_LIBRARY <var>). It sets the two named variables in the calling scope to the directory containingcuda.hand the CUDA driver link library thattensoracle_add_cubin_pluginuses for the plugin build. It reads the sameCUDAToolkit_ROOTCMake variable, environment variable, and default locations astensoracle_add_cubin_plugin, and stops with the same error when an input is missing. Both keywords are required, each needs a value, and unknown arguments are rejected. The function can be called repeatedly, before or after adding a plugin. - The public IMPORTED target
tensoracle_cuda_drivercarries the same include directory and driver library. Link a CMake target to it to inherit both. - Plugins built by
tensoracle_add_cubin_pluginlinkThreads::Threadson Linux, so they recordlibpthread.so.0as a dependency on glibc 2.28 and other glibc versions earlier than 2.34. The common plugin source usesstd::mutex, which needs the thread library to be loaded on those systems. - The README lists the GPUs (sm86, sm89, sm120) used to test the example cubin bundle.
Upgrade note
The public Python API, saved engine file format, cache identity, tensoracle_add_cubin_plugin arguments, and runtime dependencies are unchanged from 1.3.0. Engines saved by 1.3.0 are reused without a rebuild.
Projects that read the CUDA include directory or driver library from the helper should call tensoracle_find_cuda or link tensoracle_cuda_driver instead of using internal helper names.
A project that added Threads::Threads to its own plugin target as a workaround can keep it; linking it twice is harmless.
Windows builds and CMake 3.20 were not exercised for this release; the CMake helper tests ran on Linux (WSL2) with CMake 3.31.
Install
pip install tensoracle==1.4.0