From 607aac22037e535d1da88bbaffe41eb24cb4aeb7 Mon Sep 17 00:00:00 2001 From: sewon jeon Date: Tue, 5 Dec 2023 10:13:07 +0900 Subject: [PATCH] [cuda-api-wrappers] new port (#35376) --- ports/cuda-api-wrappers/portfile.cmake | 38 ++++++++++++++++++++++++++ ports/cuda-api-wrappers/usage | 4 +++ ports/cuda-api-wrappers/vcpkg.json | 17 ++++++++++++ versions/baseline.json | 4 +++ versions/c-/cuda-api-wrappers.json | 9 ++++++ 5 files changed, 72 insertions(+) create mode 100644 ports/cuda-api-wrappers/portfile.cmake create mode 100644 ports/cuda-api-wrappers/usage create mode 100644 ports/cuda-api-wrappers/vcpkg.json create mode 100644 versions/c-/cuda-api-wrappers.json diff --git a/ports/cuda-api-wrappers/portfile.cmake b/ports/cuda-api-wrappers/portfile.cmake new file mode 100644 index 0000000000..9467e3875b --- /dev/null +++ b/ports/cuda-api-wrappers/portfile.cmake @@ -0,0 +1,38 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO eyalroz/cuda-api-wrappers + REF "v${VERSION}" + SHA512 4bc095513ed1a40f7239810abf7f6edcfde5471a89de8cf27a76038f6a54f6234542693bb606cc5e389403f3d12cb186b5a9cfb31c2bf3e437c112d215fb872d + HEAD_REF master +) + +# head only library +set(VCPKG_BUILD_TYPE release) + +# cuda toolkit check +vcpkg_find_cuda(OUT_CUDA_TOOLKIT_ROOT CUDA_TOOLKIT_ROOT) +message(STATUS "CUDA_TOOLKIT_ROOT ${CUDA_TOOLKIT_ROOT}") + +# nvcc compiler path +set(CMAKE_CUDA_COMPILER "${CUDA_TOOLKIT_ROOT}/bin/nvcc${VCPKG_HOST_EXECUTABLE_SUFFIX}") + +set(CUDA_ARCHITECTURES "native") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCAW_BUILD_EXAMPLES=OFF + "-DCMAKE_CUDA_ARCHITECTURES=${CUDA_ARCHITECTURES}" + "-DCMAKE_CUDA_COMPILER=${CMAKE_CUDA_COMPILER}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +vcpkg_fixup_pkgconfig() diff --git a/ports/cuda-api-wrappers/usage b/ports/cuda-api-wrappers/usage new file mode 100644 index 0000000000..aeb5856dfa --- /dev/null +++ b/ports/cuda-api-wrappers/usage @@ -0,0 +1,4 @@ +cuda-api-wrappers provides CMake targets: + + find_package(cuda-api-wrappers CONFIG REQUIRED) + target_link_libraries(main PRIVATE cuda-api-wrappers::rtc cuda-api-wrappers::nvtx cuda-api-wrappers::runtime-and-driver) diff --git a/ports/cuda-api-wrappers/vcpkg.json b/ports/cuda-api-wrappers/vcpkg.json new file mode 100644 index 0000000000..78ad5bf9c9 --- /dev/null +++ b/ports/cuda-api-wrappers/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "cuda-api-wrappers", + "version": "0.6.6", + "description": "header-only library of integrated wrappers around the core parts of NVIDIA's CUDA execution ecosystem", + "license": "BSD-3-Clause", + "dependencies": [ + "cuda", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index f0a209fcfe..c1d9a2148e 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2024,6 +2024,10 @@ "baseline": "10.1", "port-version": 13 }, + "cuda-api-wrappers" : { + "baseline": "0.6.6", + "port-version": 0 + }, "cudnn": { "baseline": "7.6.5", "port-version": 10 diff --git a/versions/c-/cuda-api-wrappers.json b/versions/c-/cuda-api-wrappers.json new file mode 100644 index 0000000000..adccf36c24 --- /dev/null +++ b/versions/c-/cuda-api-wrappers.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "f31ca06768d00b72f8387dce98f3a8d2d867cfcb", + "version": "0.6.6", + "port-version": 0 + } + ] +}