[QNN EP]Unblock Qnn EP for Csharp support (#15640)

### Description
Unblock Qnn EP for Csharp support

### Motivation and Context
Enable Csharp support for Qnn EP
This commit is contained in:
Hector Li 2023-04-23 21:28:34 -07:00 committed by GitHub
parent c82bebde6a
commit a8e2833050
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 4 deletions

View file

@ -369,16 +369,16 @@ namespace Microsoft.ML.OnnxRuntime
/// <summary>
/// Append SNPE or XNNPACK execution provider
/// Append QNN, SNPE or XNNPACK execution provider
/// </summary>
/// <param name="providerName">Execution provider to add. 'SNPE' or 'XNNPACK' are currently supported.</param>
/// <param name="providerName">Execution provider to add. 'QNN', 'SNPE' or 'XNNPACK' are currently supported.</param>
/// <param name="providerOptions">Optional key/value pairs to specify execution provider options.</param>
public void AppendExecutionProvider(string providerName, Dictionary<string, string> providerOptions = null)
{
if (providerName != "SNPE" && providerName != "XNNPACK")
if (providerName != "SNPE" && providerName != "XNNPACK" && providerName != "QNN")
{
throw new NotSupportedException(
"Only SNPE and XNNPACK execution providers can be enabled by this method.");
"Only QNN, SNPE and XNNPACK execution providers can be enabled by this method.");
}
if (providerOptions == null)

View file

@ -148,6 +148,12 @@ namespace Microsoft.ML.OnnxRuntime.Tests
ex = Assert.Throws<OnnxRuntimeException>(() => { opt.AppendExecutionProvider("SNPE"); });
Assert.Contains("SNPE execution provider is not supported in this build", ex.Message);
#endif
#if USE_QNN
opt.AppendExecutionProvider("QNN");
#else
ex = Assert.Throws<OnnxRuntimeException>(() => { opt.AppendExecutionProvider("QNN"); });
Assert.Contains("QNN execution provider is not supported in this build", ex.Message);
#endif
opt.AppendExecutionProvider_CPU(1);
}