Skip to content

Commit

Permalink
Fix CUDA/DML package exception caused by ENABLE_CUDA_NHWC_OPS (#22851)
Browse files Browse the repository at this point in the history
### Description
Now,  ENABLE_CUDA_NHWC_OPS is enabled by default.
It adds a new chance to create cuda provider while both cuda/dml are
enabled


### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
  • Loading branch information
mszhanyi authored Nov 18, 2024
1 parent 101ed10 commit 135d8b2
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 0 deletions.
10 changes: 10 additions & 0 deletions onnxruntime/test/lora/lora_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,16 @@ TEST(LoraAdapterTest, Load) {

#ifdef USE_CUDA
TEST(LoraAdapterTest, VerifyDeviceCopy) {
// These checks for CUDA/DML combined Package, Be careful when you want to remove it!
if (DefaultCudaExecutionProvider() == nullptr) {
GTEST_SKIP() << "Skip This Test Due to this EP is null";
}
#ifdef USE_DML
if (DefaultDmlExecutionProvider() != nullptr) {
GTEST_FAIL() << "It should not run with DML EP";
}
#endif

auto cpu_ep = DefaultCpuExecutionProvider();
auto cpu_allocator = cpu_ep->CreatePreferredAllocators()[0];
auto cuda_ep = DefaultCudaExecutionProvider();
Expand Down
6 changes: 6 additions & 0 deletions onnxruntime/test/util/default_providers.cc
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,12 @@ std::unique_ptr<IExecutionProvider> DefaultCudaExecutionProvider() {
#ifdef ENABLE_CUDA_NHWC_OPS
std::unique_ptr<IExecutionProvider> DefaultCudaNHWCExecutionProvider() {
#if defined(USE_CUDA)
#ifdef USE_DML
const std::string no_cuda_ep_test = Env::Default().GetEnvironmentVar("NO_CUDA_TEST");
if (no_cuda_ep_test == "1") {
return nullptr;
}
#endif
OrtCUDAProviderOptionsV2 provider_options{};
provider_options.do_copy_in_default_stream = true;
provider_options.use_tf32 = false;
Expand Down
1 change: 1 addition & 0 deletions tools/ci_build/github/azure-pipelines/templates/win-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -413,6 +413,7 @@ stages:
workingDirectory: '$(Build.BinariesDirectory)'
env:
NO_CUDA_TEST: '1'
GTEST_FILTER: -*CudaNhwcTypedTest*
- task: PythonScript@0
displayName: 'test excludes DML'
condition: and(succeeded(), eq('${{ parameters.runTests}}', true))
Expand Down

0 comments on commit 135d8b2

Please sign in to comment.