diff --git a/.github/workflows/onnxruntime.yml b/.github/workflows/onnxruntime.yml index ec1c42fbb7..dacb0f9f9b 100644 --- a/.github/workflows/onnxruntime.yml +++ b/.github/workflows/onnxruntime.yml @@ -41,7 +41,7 @@ jobs: timeout-minutes: 720 strategy: matrix: - ext: ["", -gpu] + ext: ["", -gpu, -dml] steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-windows@actions redeploy: diff --git a/onnxruntime/cppbuild.sh b/onnxruntime/cppbuild.sh index 7447fc1efe..95df808b69 100755 --- a/onnxruntime/cppbuild.sh +++ b/onnxruntime/cppbuild.sh @@ -23,6 +23,11 @@ if [[ "$EXTENSION" == *gpu ]]; then GPU_FLAGS="--use_cuda" fi +export DML_FLAGS= +if [[ "$EXTENSION" == *dml ]]; then + DML_FLAGS="--use_dml" +fi + ONNXRUNTIME=1.18.1 mkdir -p "$PLATFORM$EXTENSION" @@ -56,7 +61,6 @@ case $PLATFORM in export CC="cl.exe" export CXX="cl.exe" export ARCH_FLAGS= - export DML_FLAGS="--use_dml" export PYTHON_BIN_PATH=$(which python.exe) ;; esac diff --git a/onnxruntime/platform/dml/pom.xml b/onnxruntime/platform/dml/pom.xml new file mode 100644 index 0000000000..84a8677966 --- /dev/null +++ b/onnxruntime/platform/dml/pom.xml @@ -0,0 +1,118 @@ + + + 4.0.0 + + + org.bytedeco + javacpp-presets + 1.5.11-SNAPSHOT + ../../../ + + + org.bytedeco + onnxruntime-platform-dml + 1.18.1-${project.parent.version} + JavaCPP Presets Platform DirectML for ONNX Runtime + + + onnxruntime + -dml + + + + + ${project.groupId} + ${javacpp.moduleId} + ${project.version} + + + ${project.groupId} + ${javacpp.moduleId} + ${project.version} + ${javacpp.platform.linux-x86_64} + + + + + + + + + ${project.groupId} + ${javacpp.moduleId} + ${project.version} + ${javacpp.platform.windows-x86_64} + + + + + + + maven-jar-plugin + + + default-jar + + + + ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-x86_64-gpu.jar ${javacpp.moduleId}-macosx-x86_64-gpu.jar ${javacpp.moduleId}-windows-x86_64-gpu.jar + + + + + + empty-javadoc-jar + + jar + + + javadoc + + + + empty-sources-jar + + jar + + + sources + + + + + + org.moditect + moditect-maven-plugin + + + add-module-infos + none + + + add-platform-module-info + package + + add-module-info + + + + + ${project.build.directory}/${project.artifactId}.jar + + module org.bytedeco.${javacpp.moduleId}.platform.gpu { + requires static org.bytedeco.${javacpp.moduleId}.linux.x86_64.gpu; +// requires static org.bytedeco.${javacpp.moduleId}.macosx.x86_64.gpu; + requires static org.bytedeco.${javacpp.moduleId}.windows.x86_64.gpu; + } + + + + + + + + + + + diff --git a/onnxruntime/src/main/java/org/bytedeco/onnxruntime/presets/onnxruntime.java b/onnxruntime/src/main/java/org/bytedeco/onnxruntime/presets/onnxruntime.java index fc28ad3cba..87a4bb350c 100644 --- a/onnxruntime/src/main/java/org/bytedeco/onnxruntime/presets/onnxruntime.java +++ b/onnxruntime/src/main/java/org/bytedeco/onnxruntime/presets/onnxruntime.java @@ -62,7 +62,7 @@ // "onnxruntime/core/providers/armnn/armnn_provider_factory.h", // "onnxruntime/core/providers/coreml/coreml_provider_factory.h", // "onnxruntime/core/providers/rocm/rocm_provider_factory.h", -// "onnxruntime/core/providers/dml/dml_provider_factory.h", + "onnxruntime/core/providers/dml/dml_provider_factory.h", }, link = {"onnxruntime_providers_shared", "onnxruntime@.1.18.1"} ), @@ -75,6 +75,11 @@ extension = "-gpu", link = {"onnxruntime_providers_shared", "onnxruntime@.1.18.1", "onnxruntime_providers_dnnl", "onnxruntime_providers_cuda"} ), + @Platform( + value = {"windows-x86_64"}, + extension = "-dml", + link = {"onnxruntime_providers_shared", "onnxruntime@.1.18.1", "onnxruntime_providers_dml"} + ), }, target = "org.bytedeco.onnxruntime", global = "org.bytedeco.onnxruntime.global.onnxruntime"