@@ -188,15 +188,11 @@ TEST_F(QnnHTPBackendTests, LayerNorm1D_LastAxis_StaticScale_StaticBias_AU8_WU8_B
188
188
ExpectedEPNodeAssignment::All);
189
189
}
190
190
191
- // QNN 2.27 accuracy issue
192
- // Inaccuracy detected for output 'output_0', element 0
193
- // output_range=1.2245157957077026, tolerance=0.40000000596046448%.
194
- // Expected val (f32@CPU_EP): -0
195
- // qdq@QNN_EP val: 0.19133351743221283 (err: 0.19133351743221283, err/output_range: 15.625238418579102%)
196
- // qdq@CPU_EP val: 0 (err: 0, err/output_range: 0%)
197
- TEST_F (QnnHTPBackendTests, DISABLED_LayerNorm1D_QNN2_24_ImplicitBias_ValidationBug) {
198
- // QNN 2.24 LayerNorm fails validation (intermittent) if the bias input is not provided. QNN EP will provide an
199
- // explicit bias of all zeros to get around this bug.
191
+ TEST_F (QnnHTPBackendTests, LayerNorm1D_QNN2_24_ImplicitBias_ValidationBug) {
192
+ // QNN 2.24 to 2.27: LayerNorm fails validation (intermittent) if the bias input is not provided. QNN EP will provide
193
+ // an explicit bias of all zeros to get around this bug.
194
+ // QNN 2.28.0: Validation bug is fixed, but get accuracy errors.
195
+ // QNN 2.28.2: All fixed.
200
196
for (size_t i = 0 ; i < 15 ; i++) { // Run it multiple times since this is an intermittent bug.
201
197
RunLayerNormQDQTest<uint16_t , uint8_t >(TestInputDef<float >({1 , 2 , 3 }, false , GetFloatDataInRange (0 .0f , 1 .0f , 6 )),
202
198
TestInputDef<float >({3 }, true , GetFloatDataInRange (0 .0f , 1 .0f , 3 )),
@@ -207,14 +203,9 @@ TEST_F(QnnHTPBackendTests, DISABLED_LayerNorm1D_QNN2_24_ImplicitBias_ValidationB
207
203
}
208
204
}
209
205
210
- // Test accuracy of 16-bit QDQ LayerNorm with a static scale input.
211
- // QNN 2.27 accuracy issue
212
- // Inaccuracy detected for output 'output_0', element 0
213
- // output_range=1.224743127822876, tolerance=0.40000000596046448%.
214
- // Expected val (f32@CPU_EP): -0
215
- // qdq@QNN_EP val: 0.19136904180049896 (err: 0.19136904180049896, err/output_range: 15.625238418579102%)
216
- // qdq@CPU_EP val: 0 (err: 0, err/output_range: 0%)
217
- TEST_F (QnnHTPBackendTests, DISABLED_LayerNorm1D_LastAxis_StaticScale_AU16_WU8) {
206
+ TEST_F (QnnHTPBackendTests, LayerNorm1D_LastAxis_StaticScale_AU16_WU8) {
207
+ // QNN 2.28.0: Get accuracy errors.
208
+ // QNN 2.28.2: All fixed.
218
209
RunLayerNormQDQTest<uint16_t , uint8_t >(TestInputDef<float >({1 , 2 , 3 }, false , GetFloatDataInRange (0 .0f , 10 .0f , 6 )),
219
210
TestInputDef<float >({3 }, true , GetFloatDataInRange (0 .0f , 1 .0f , 3 )), // Static
220
211
TestInputDef<float >(),
@@ -225,7 +216,7 @@ TEST_F(QnnHTPBackendTests, DISABLED_LayerNorm1D_LastAxis_StaticScale_AU16_WU8) {
225
216
226
217
// Test accuracy of 8-bit QDQ LayerNorm with a dynamic scale input.
227
218
//
228
- // TODO(adrianlizarraga): Fails to finalize with QNN SDK 2.22.
219
+ // TODO(adrianlizarraga): Fails to finalize with QNN SDK 2.22. Still fails on QNN SDK 2.28.2.
229
220
// Verbose logs:
230
221
// Starting stage: Graph Transformations and Optimizations
231
222
// C:\...\QNN\HTP\HTP\src\hexagon\prepare\graph_prepare.cc:203:ERROR:could not create op: q::flat_to_vtcm
0 commit comments