擅长:python、mysql、java
<p>我也为kronecker产品开发了一个内核。我将把它放在这里作为参考。为</p>
<p>A#B=C</p>
<p>其中#是<a href="https://en.wikipedia.org/wiki/Kronecker_product" rel="nofollow">the kronecker product</a>,A是m-x-n-矩阵,B是p-x-q-矩阵,C是x-x-y-矩阵,x=m<em>p和y=n</em>q,下面的内核将计算C:</p>
<pre><code>__kernel void kroneckerProdFast(__global float* res,
__global float* a,
__global float* b,
int p,
int q){
int xi = get_global_id(0);
int x = get_global_size(0);
int yi = get_global_id(1);
int y = get_global_size(1);
int n = y / q;
int mi = xi / p;
int ni = yi / q;
int pi = xi % p;
int qi = yi % q;
res[xi * y + yi] = a[mi * n + ni] * b[pi * q + qi];
}
</code></pre>
<p>来自PyOpenCL的电话是:</p>
^{pr2}$