<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic sparse 3D convolution  in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-3D-convolution/m-p/1053196#M21269</link>
    <description>&lt;P&gt;Hi MKL developers,&lt;/P&gt;

&lt;P&gt;I am trying to implement a sparse convolution function based on MKL convolution. According to the sparseness, I departed the big convolution to a serials of subconvolution tasks. But only the first subconvolution result is correct, it goes wrong when I step forward in the sparseness.&lt;/P&gt;

&lt;P&gt;I have implemented a 3D convolution function without sparseness. The output is the same with naive method without MKL. In this function, I have to flip the dimensions from xyz to zyx when specifying the data shape. I have not changed the array. It seems that MKL convolution is using row-major ordering, and the last x is changing fastest. Is it right?&lt;/P&gt;

&lt;P&gt;The code using MKL is here:&lt;/P&gt;

&lt;P&gt;&lt;A href="https://github.com/jingpengwu/znn-release/blob/master/src/core/conv_mkl.hpp#L74" target="_blank"&gt;https://github.com/jingpengwu/znn-release/blob/master/src/core/conv_mkl.hpp#L74&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;The direct sparse convolution code is here:&lt;/P&gt;

&lt;P&gt;&lt;A href="https://github.com/jingpengwu/znn-release/blob/master/src/core/bf_conv.hpp#L261" target="_blank"&gt;https://github.com/jingpengwu/znn-release/blob/master/src/core/bf_conv.hpp#L261&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 16 Mar 2015 18:21:14 GMT</pubDate>
    <dc:creator>Jingpeng_W_</dc:creator>
    <dc:date>2015-03-16T18:21:14Z</dc:date>
    <item>
      <title>sparse 3D convolution</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-3D-convolution/m-p/1053196#M21269</link>
      <description>&lt;P&gt;Hi MKL developers,&lt;/P&gt;

&lt;P&gt;I am trying to implement a sparse convolution function based on MKL convolution. According to the sparseness, I departed the big convolution to a serials of subconvolution tasks. But only the first subconvolution result is correct, it goes wrong when I step forward in the sparseness.&lt;/P&gt;

&lt;P&gt;I have implemented a 3D convolution function without sparseness. The output is the same with naive method without MKL. In this function, I have to flip the dimensions from xyz to zyx when specifying the data shape. I have not changed the array. It seems that MKL convolution is using row-major ordering, and the last x is changing fastest. Is it right?&lt;/P&gt;

&lt;P&gt;The code using MKL is here:&lt;/P&gt;

&lt;P&gt;&lt;A href="https://github.com/jingpengwu/znn-release/blob/master/src/core/conv_mkl.hpp#L74" target="_blank"&gt;https://github.com/jingpengwu/znn-release/blob/master/src/core/conv_mkl.hpp#L74&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;The direct sparse convolution code is here:&lt;/P&gt;

&lt;P&gt;&lt;A href="https://github.com/jingpengwu/znn-release/blob/master/src/core/bf_conv.hpp#L261" target="_blank"&gt;https://github.com/jingpengwu/znn-release/blob/master/src/core/bf_conv.hpp#L261&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 16 Mar 2015 18:21:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-3D-convolution/m-p/1053196#M21269</guid>
      <dc:creator>Jingpeng_W_</dc:creator>
      <dc:date>2015-03-16T18:21:14Z</dc:date>
    </item>
    <item>
      <title>Hi Jingpeng,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-3D-convolution/m-p/1053197#M21270</link>
      <description>&lt;P&gt;Hi Jingpeng,&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I&amp;nbsp;recommend you to devote a little bit more time to&amp;nbsp;your code. In particular, look at the status returned by the MKL functions. It might also help to read the documentation and play with&amp;nbsp;MKL examples. MKL convolution supports both col-major and row-major ordering of data, as defined by stride parameters to execution function (these are all&amp;nbsp;NULL in your case, which assumes row-major ordering).&lt;/P&gt;

&lt;P&gt;Thanks&lt;BR /&gt;
	Dima&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Mar 2015 03:51:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-3D-convolution/m-p/1053197#M21270</guid>
      <dc:creator>Dmitry_B_Intel</dc:creator>
      <dc:date>2015-03-17T03:51:47Z</dc:date>
    </item>
    <item>
      <title>Hi Dima,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-3D-convolution/m-p/1053198#M21271</link>
      <description>&lt;DIV&gt;
	&lt;DIV&gt;
		&lt;P&gt;Hi Dima,&lt;/P&gt;
	&lt;/DIV&gt;

	&lt;P&gt;Thanks for your information. I have fixed the bug. The sparse convolution works now!&lt;/P&gt;
&lt;/DIV&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;DIV&gt;
	&lt;P&gt;Best Wishes!&lt;/P&gt;
&lt;/DIV&gt;

&lt;P&gt;Jingpeng&lt;/P&gt;</description>
      <pubDate>Tue, 24 Mar 2015 21:44:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/sparse-3D-convolution/m-p/1053198#M21271</guid>
      <dc:creator>Jingpeng_W_</dc:creator>
      <dc:date>2015-03-24T21:44:53Z</dc:date>
    </item>
  </channel>
</rss>

