Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.

2D Convolution methode

KIM__ILTAEK
Beginner
384 Views

Hi, 

 

Matlab supports three methods when using conv2. As you can see from the reference site below, Full, Same, and Valid methods are supported.

https://johnloomis.org/ece563/notes/filter/conv/convolution.html

Is it possible to add an option like this using vsldConvExec? Or if there is any other way, please advise.

0 Kudos
1 Solution
Gennady_F_Intel
Moderator
384 Views

here is what I see on my part.

Math kernel Lib Runtime : 1.859sec
Naive Algorithm Runtime : 1.157sec
Press any key to continue . . .

Yes, the naive implementation is faster then what mkl suggested. You may submit the request to the intel online service center or as I already suggested you - check the IPP library. The Conv/Corr functionality from IPP is very much optimized.

 

View solution in original post

6 Replies
Gennady_F_Intel
Moderator
384 Views

I see two options: #1. You could try to submit the Feature Request against Intel MKL to add these options and #2 - Try to take Intel IPP which already supported all of the modes you are looking for. Please refer to the IPP Developer Reference follow this link:https://software.intel.com/en-us/ipp-dev-reference-conv

KIM__ILTAEK
Beginner
384 Views

Thank for your reply. 

First, we implemented convolution by full method and crop by input size.

However, it is slower than the navie algorithm. I am developing on windows 10 with i7-5960X.

Below is my test code result. Please advise if I have something wrong. Code is attached. Please review.

 

Math kernel lib runtime : 1.282sec

Naive Algorithm runtime : 0.234sec

 

 

 

Gennady_F_Intel
Moderator
384 Views

At first glance, everything is correct with the mkl part but I didn't try to build the case. Is it requires to build from VS as I see the test included only stdafx.h? 

KIM__ILTAEK
Beginner
384 Views

The project file was compressed and uploaded. The development environment is using visual studio 2015.
Please review together. 

Gennady_F_Intel
Moderator
385 Views

here is what I see on my part.

Math kernel Lib Runtime : 1.859sec
Naive Algorithm Runtime : 1.157sec
Press any key to continue . . .

Yes, the naive implementation is faster then what mkl suggested. You may submit the request to the intel online service center or as I already suggested you - check the IPP library. The Conv/Corr functionality from IPP is very much optimized.

 

KIM__ILTAEK
Beginner
384 Views

Thank you for your confirm. 

I will check it again using IPP.

Reply