diff --git a/ports/dpdk/0002-fix-dependencies.patch b/ports/dpdk/0002-fix-dependencies.patch index baceeb349b..1f947823b4 100644 --- a/ports/dpdk/0002-fix-dependencies.patch +++ b/ports/dpdk/0002-fix-dependencies.patch @@ -165,6 +165,25 @@ index af469a9827..de45a4a694 100644 if not dep.found() build = false reason = 'missing dependency, "libcrypto"' +diff --git a/drivers/gpu/cuda/meson.build b/drivers/gpu/cuda/meson.build +index d54473f148..1b5a01ce1f 100644 +--- a/drivers/gpu/cuda/meson.build ++++ b/drivers/gpu/cuda/meson.build +@@ -6,12 +6,12 @@ if not is_linux + reason = 'only supported on Linux' + subdir_done() + endif +-if not cc.has_header('cuda.h') ++if not cc.has_header('cuda.h', required: true) + build = false + reason = 'missing dependency, "cuda.h"' + subdir_done() + endif +-if not cc.has_header('cudaTypedefs.h') ++if not cc.has_header('cudaTypedefs.h', required: true) + build = false + reason = 'missing dependency, "cudaTypedefs.h"' + subdir_done() diff --git a/drivers/net/bnx2x/meson.build b/drivers/net/bnx2x/meson.build index bc66ab8032..21ff1276c3 100644 --- a/drivers/net/bnx2x/meson.build diff --git a/ports/dpdk/portfile.cmake b/ports/dpdk/portfile.cmake index 2e44ccba28..52b9a35b25 100644 --- a/ports/dpdk/portfile.cmake +++ b/ports/dpdk/portfile.cmake @@ -80,6 +80,12 @@ endif() set(DISABLE_DRIVERS "regex/cn9k") +if("gpu-cuda" IN_LIST FEATURES) + vcpkg_find_cuda(OUT_CUDA_TOOLKIT_ROOT CUDA_TOOLKIT_ROOT) + set(ENV{CFLAGS} "$ENV{CFLAGS} -I${CUDA_TOOLKIT_ROOT}/include") +else() + string(APPEND DISABLE_DRIVERS ",gpu/cuda") +endif() if(NOT "mlx5" IN_LIST FEATURES) string(APPEND DISABLE_DRIVERS ",common/mlx5,compress/mlx5,crypto/mlx5,net/mlx5,regex/mlx5,vdpa/mlx5") endif() diff --git a/ports/dpdk/vcpkg.json b/ports/dpdk/vcpkg.json index a48838eb1c..4b1182dcde 100644 --- a/ports/dpdk/vcpkg.json +++ b/ports/dpdk/vcpkg.json @@ -1,7 +1,7 @@ { "name": "dpdk", "version": "26.3", - "port-version": 4, + "port-version": 5, "description": "A set of libraries and drivers for fast packet processing", "homepage": "https://www.dpdk.org/", "documentation": "https://doc.dpdk.org/guides/", @@ -29,6 +29,13 @@ "docs": { "description": "Build and install docs" }, + "gpu-cuda": { + "description": "Build CUDA GPU driver", + "supports": "linux", + "dependencies": [ + "cuda" + ] + }, "mlx5": { "description": "Build NVIDIA MLX5 drivers", "supports": "linux", diff --git a/scripts/ci.feature.baseline.txt b/scripts/ci.feature.baseline.txt index f4240b7fc6..470cb05488 100644 --- a/scripts/ci.feature.baseline.txt +++ b/scripts/ci.feature.baseline.txt @@ -269,6 +269,7 @@ dlib[cuda]:arm64-windows=cascade dlib[cuda]:x86-windows=cascade dmlc[openmp]:arm64-osx=feature-fails # No openmp on osx dpdk:arm64-linux=fail +dpdk[gpu-cuda]:arm64-linux=cascade dv-processing:arm64-linux=cascade dv-processing[tools]:arm64-osx=feature-fails # Broke with compiler version. See https://github.com/microsoft/vcpkg/issues/39852 ecal(android)=fail diff --git a/versions/baseline.json b/versions/baseline.json index faf947cdb9..c1ebe7ca7a 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2610,7 +2610,7 @@ }, "dpdk": { "baseline": "26.3", - "port-version": 4 + "port-version": 5 }, "dpp": { "baseline": "10.1.5", diff --git a/versions/d-/dpdk.json b/versions/d-/dpdk.json index 53459d1dab..30a6ed2b10 100644 --- a/versions/d-/dpdk.json +++ b/versions/d-/dpdk.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "207224e92310362a25a40ac5ba7e9fae7141d6e8", + "version": "26.3", + "port-version": 5 + }, { "git-tree": "3443c981274fca7554e7cec83b5fb7552c33af24", "version": "26.3",