- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi! I am trying to understand what MYRIAD_ENABLE_HW_ACCELERATION exactly does. Working on a Myriad X (NCS2), i get different fire segmentation results when enabling/disabling it (see attached files).
The generated IR models are identical, i.e. .bin and .xml files are the same in both cases. By comparing my first layer outputs, i found these (very very) summurized results
(l.10) UnetMobileNetV3Small/rescaling_1/add
->
hw output == no hw output
(l.13) UnetMobileNetV3Small/Conv/Conv2D ~OK
->
no hw 1.1543 1.12305 1.16602 1.16211 1.19531 1.12305 1.13086
hw 1.15625 1.125 1.16797 1.16406 1.19727 1.125 1.13281
(l.19) UnetMobileNetV3Small/multiply_18/mul ~OK
->
no hw 2.7832 2.7793 2.76758 2.74219 2.71875 2.64062
hw 2.7793 2.7793 2.75977 2.73633 2.71484 2.64062
(l.23) UnetMobileNetV3Small/expanded_conv/depthwise/depthwise KO
->
no hw -36.5625 44.5 8.60156 -35.0625 43.3125 8.75 -36.75
hw 6.42969 6.84766 7.55469 8.63281 6.14062 7.05078
Probably the small output differences of the layer (l.13) become bigger at layer (l.23) level. Id like to understand what does "Turn on HW stages usage" (ie MYRIAD_ENABLE_HW_ACCELERATION) mean ? The myriad x is not fully exploited when disabled ?
Thanks +++
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Benguigui__Michael, Thank you for posting in the Intel® Communities Support.
I just transfer your thread to the proper department. They will further assist you with this matter as soon as possible.
Regards,
Albert R.
Intel Customer Support Technician
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Benguigui__Michael,
Thanks for reaching out to us.
For your information, MyriadX has SHAVEs and NCE hardware modules. SHAVEs use software kernels which is more stable option. Kernels like Convolution and Pooling can be optimized for NCE. NCE are not programmable. There can be several HW design issues for corner cases. For example, paddings for Pooling with even sized kernel (2x2, 4x4) can’t be calculated accurately.
When MYRIAD_ENABLE_HW_ACCELERATION is OFF, all kernels including Conv and Pooling are being run on SHAVEs. Based on the use-case or operations involved the flag MYRIAD_ENABLE_HW_ACCELERATION can be set to ON or OFF.
Regards,
Wan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Benguigui__Michael,
Thanks for reaching out to us.
This thread will no longer be monitored since we have provided an explanation. If you need additional information from Intel, please submit a new question.
Regards,
Wan
![](/skins/images/7B0AB6865064EAE32B30EC9A4E94B48A/responsive_peak/images/icon_anonymous_message.png)
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page