aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Kahn <jacobkahn1@gmail.com>2020-11-30 12:05:02 -0600
committerGitHub <noreply@github.com>2020-11-30 10:05:02 -0800
commitb7f03b46354b2258c184ac744c9214f22859e873 (patch)
treef8e915d68e43a065ceebb8b1f182f9dd6e30f336
parente95a7a8dc04da4bddb24a6fc122fe9dc3ccc7151 (diff)
downloadvcpkg-b7f03b46354b2258c184ac744c9214f22859e873.tar.gz
vcpkg-b7f03b46354b2258c184ac744c9214f22859e873.zip
[flashlight-cuda] New Port (#14676)
* [flashlight-cuda] New Port * Rebase on NCCL port, update commit * Add default feature (fl)
-rw-r--r--ports/flashlight-cuda/portfile.cmake55
-rw-r--r--ports/flashlight-cuda/vcpkg.json72
2 files changed, 127 insertions, 0 deletions
diff --git a/ports/flashlight-cuda/portfile.cmake b/ports/flashlight-cuda/portfile.cmake
new file mode 100644
index 000000000..de9d33b7e
--- /dev/null
+++ b/ports/flashlight-cuda/portfile.cmake
@@ -0,0 +1,55 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO facebookresearch/flashlight
+ REF cd0aa18b94340afc7cfa9a14281d1c90c0ed42e1
+ SHA512 a11392af82054b63c557214c04e59b362aa1eb5897b30a595b26fd22c37c29571e504346947c6b9cebc4499c3af68d2075fd3144dcc0535a27886e34036ac5ff
+ HEAD_REF master
+)
+
+################################### Build ###################################
+# Default flags
+set(FL_DEFAULT_VCPKG_CMAKE_FLAGS
+ -DFL_BUILD_TESTS=OFF
+ -DFL_BUILD_EXAMPLES=OFF
+ -DFL_BACKEND=CUDA # this port is CUDA-backend only
+ -DFL_BUILD_STANDALONE=OFF
+ -DFL_INSTALL_CMAKE_DIR=${CURRENT_PACKAGES_DIR}/share/${PORT} # for CMake configs/targets
+ )
+
+# Determine which backend to build via specified feature
+vcpkg_check_features(
+ OUT_FEATURE_OPTIONS FL_BACKEND_FEATURE_OPTIONS
+ FEATURES
+ lib FL_BUILD_LIBRARIES
+ fl FL_BUILD_CORE
+ asr FL_BUILD_APP_ASR
+ imgclass FL_BUILD_APP_IMG_CLASS
+)
+
+# Build and install
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS ${FL_DEFAULT_VCPKG_CMAKE_FLAGS} ${FL_BACKEND_FEATURE_OPTIONS}
+)
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+# Binaries/tools
+set(FLASHLIGHT_TOOLS "")
+if ("imgclass" IN_LIST FEATURES)
+ list(APPEND FLASHLIGHT_TOOLS fl_imageNetResnet34)
+endif()
+if ("asr" IN_LIST FEATURES)
+ list(APPEND FLASHLIGHT_TOOLS fl_asr_train fl_asr_test fl_asr_decode)
+endif()
+list(LENGTH FLASHLIGHT_TOOLS NUM_TOOLS)
+if (NUM_TOOLS GREATER 0)
+ vcpkg_copy_tools(TOOL_NAMES ${FLASHLIGHT_TOOLS} AUTO_CLEAN)
+endif()
+
+# Copyright and license
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/flashlight-cuda RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/flashlight-cuda RENAME license)
diff --git a/ports/flashlight-cuda/vcpkg.json b/ports/flashlight-cuda/vcpkg.json
new file mode 100644
index 000000000..f962304c6
--- /dev/null
+++ b/ports/flashlight-cuda/vcpkg.json
@@ -0,0 +1,72 @@
+{
+ "name": "flashlight-cuda",
+ "version-string": "20201120",
+ "port-version": 1,
+ "description": "A C++ standalone library for machine learning. CUDA backend.",
+ "supports": "!(windows | osx)",
+ "default-features": [
+ "fl"
+ ],
+ "features": {
+ "asr": {
+ "description": "flashlight asr app",
+ "dependencies": [
+ {
+ "name": "flashlight-cuda",
+ "default-features": false,
+ "features": [
+ "fl"
+ ]
+ },
+ "gflags",
+ "libsndfile"
+ ]
+ },
+ "fl": {
+ "description": "flashlight core autograd and neural net library",
+ "dependencies": [
+ {
+ "name": "arrayfire",
+ "default-features": false,
+ "features": [
+ "cuda"
+ ]
+ },
+ "cereal",
+ "cuda",
+ "cudnn",
+ {
+ "name": "flashlight-cuda",
+ "default-features": false,
+ "features": [
+ "lib"
+ ]
+ },
+ "nccl",
+ "openmpi"
+ ]
+ },
+ "imgclass": {
+ "description": "flashlight image classification app",
+ "dependencies": [
+ {
+ "name": "flashlight-cuda",
+ "default-features": false,
+ "features": [
+ "fl"
+ ]
+ },
+ "gflags"
+ ]
+ },
+ "lib": {
+ "description": "flashlight libraries",
+ "dependencies": [
+ "cub",
+ "fftw3",
+ "intel-mkl",
+ "kenlm"
+ ]
+ }
+ }
+}