<?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 Hi GF G.,  in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Random-numbers-with-vdRngGaussianMV/m-p/1043811#M20856</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;A href="https://software.intel.com/en-us/user/1008742" style="font-size: 11px; line-height: 16.5px; background-color: rgb(238, 238, 238);"&gt;GF G.&lt;/A&gt;,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Are you asking the eqivalent folder in &lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;Intel® Parallel Studio XE Cluster Edition , 2016 for Windows?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;We changed the folder a little, for example,&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;C:\Program Files (x86)\Intel\Composer XE 2013 SP1\mkl&lt;/P&gt;

&lt;P&gt;in&amp;nbsp;&lt;/P&gt;

&lt;P&gt;C:\Program Files (x86)\&lt;STRONG&gt;Intel_sw_development_tools&lt;/STRONG&gt;\parallel_studio_xe_2016.0.0.xx\compilers_and_libraries_2016\windows\mkl&lt;/P&gt;

&lt;P&gt;You may replace them in your command&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Best Regards&lt;/P&gt;

&lt;P&gt;Ying&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 04 Nov 2015 02:06:00 GMT</pubDate>
    <dc:creator>Ying_H_Intel</dc:creator>
    <dc:date>2015-11-04T02:06:00Z</dc:date>
    <item>
      <title>Random numbers with vdRngGaussianMV.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Random-numbers-with-vdRngGaussianMV/m-p/1043806#M20851</link>
      <description>&lt;P&gt;Hi!&lt;/P&gt;

&lt;P&gt;I want to generate random numbers from a multivariate normal distribution with parameters &lt;CODE&gt;&lt;FONT face="Courier New"&gt;mu = &lt;/FONT&gt;&lt;/CODE&gt;[3.0 5.0 2.0] and &lt;CODE&gt;&lt;FONT face="Courier New"&gt;sigma = &lt;/FONT&gt;&lt;/CODE&gt;[ 16.0 8.0&amp;nbsp; 4.0;&amp;nbsp; 8.0 13.0 17.0; 4.0 17.0 62.0].&lt;/P&gt;

&lt;P&gt;I wrote a mex-code using the the function &lt;FONT face="Courier New"&gt;vdRngGaussianMV and the results of the simulation are&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&amp;gt;&amp;gt; mean(out)&lt;BR /&gt;
	ans =&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.4558&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.9934&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.3013&lt;BR /&gt;
	&amp;gt;&amp;gt; cov(out)&lt;BR /&gt;
	ans =&lt;BR /&gt;
	&amp;nbsp; 146.5081&amp;nbsp;&amp;nbsp; -1.9068&amp;nbsp;&amp;nbsp; -2.1787&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; -1.9068&amp;nbsp; 144.7461&amp;nbsp;&amp;nbsp; -0.7771&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; -2.1787&amp;nbsp;&amp;nbsp; -0.7771&amp;nbsp; 142.3955&lt;/P&gt;

&lt;P&gt;Could you please tell me what I am doing wrong.&lt;/P&gt;

&lt;P&gt;Thank you very much.&lt;/P&gt;

&lt;P&gt;The code is the following:&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;#include &amp;lt;math.h&amp;gt;
#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;mkl.h&amp;gt;
#include "mkl_vml.h"
#include "mex.h"
#include "matrix.h"
#include "mkl_vsl.h"
#include &amp;lt;time.h&amp;gt;

#define SEED time(NULL)
#define BRNG&amp;nbsp;&amp;nbsp;&amp;nbsp; VSL_BRNG_MCG31 // VSL basic generator to be used

double normalMVN(int npars, int N, double *cov, double *mean, double *out);


/* main fucntion */
void mexFunction(int nlhs,&amp;nbsp; mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; int npars,&amp;nbsp; N;
&amp;nbsp;&amp;nbsp;&amp;nbsp; double *cov, *mean, *out;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* make pointers to input data */
&amp;nbsp;&amp;nbsp;&amp;nbsp; npars = (int)mxGetScalar(prhs[0]);
&amp;nbsp;&amp;nbsp;&amp;nbsp; N = (int)mxGetScalar(prhs[1]);
&amp;nbsp;&amp;nbsp;&amp;nbsp; cov = mxGetPr(prhs[2]);
&amp;nbsp;&amp;nbsp;&amp;nbsp; mean = mxGetPr(prhs[3]);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* make pointers to output data */
&amp;nbsp;&amp;nbsp;&amp;nbsp; plhs[0] = mxCreateDoubleMatrix( N, npars, mxREAL);
&amp;nbsp;&amp;nbsp;&amp;nbsp; out = mxGetPr(plhs[0]);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* call */
&amp;nbsp;&amp;nbsp;&amp;nbsp; normalMVN(npars, N, cov, mean, out);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
}


double normalMVN(int npars, int N, double *cov, double *mean, double *out)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* This we need it for distributions */
&amp;nbsp;&amp;nbsp;&amp;nbsp; VSLSSTaskPtr task;
&amp;nbsp;&amp;nbsp;&amp;nbsp; VSLStreamStatePtr stream;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; char&amp;nbsp;&amp;nbsp; uplo;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int i, j, n, lda,&amp;nbsp; info;
&amp;nbsp;&amp;nbsp;&amp;nbsp; double *T, fiori[3];
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; T = (double *)mxMalloc( npars*npars*sizeof( double* ) );
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; uplo = 'L';
&amp;nbsp;&amp;nbsp;&amp;nbsp; n = npars;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lda = npars;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; cblas_dcopy(npars*npars, cov, 1, T, 1);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; dpotrf( &amp;amp;uplo, &amp;amp;n, T, &amp;amp;lda, &amp;amp;info );
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(info != 0){mexPrintf("c++ error: Cholesky failed\n\n");}
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; vslNewStream( &amp;amp;stream, BRNG, SEED );
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; vdRngGaussianMV( VSL_METHOD_DGAUSSIANMV_BOXMULLER2, stream, N, out, npars, VSL_MATRIX_STORAGE_FULL, mean, T );
&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp; vslDeleteStream( &amp;amp;stream );
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Free memory */
&amp;nbsp;&amp;nbsp;&amp;nbsp; mxFree(T);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;
}
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 02 Nov 2015 12:28:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Random-numbers-with-vdRngGaussianMV/m-p/1043806#M20851</guid>
      <dc:creator>Fiori</dc:creator>
      <dc:date>2015-11-02T12:28:42Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Random-numbers-with-vdRngGaussianMV/m-p/1043807#M20852</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;Per quick analysis of your code, it makes sense to apply a few corrections:&lt;/P&gt;

&lt;P&gt;- replace &lt;FONT face="Courier New"&gt;uplo = &lt;CODE class="cpp string"&gt;'L'&lt;/CODE&gt;&lt;CODE class="cpp plain"&gt;; with uplo = 'U';&lt;/CODE&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT face="Courier New"&gt;-&lt;/FONT&gt;remove&lt;FONT face="Courier New"&gt; '*' in sizeof( double* ) in T = (&lt;CODE class="cpp color1 bold"&gt;double&lt;/CODE&gt;&lt;/FONT&gt; &lt;FONT face="Courier New"&gt;&lt;CODE class="cpp plain"&gt;*)mxMalloc( npars*npars*&lt;/CODE&gt;&lt;CODE class="cpp keyword bold"&gt;sizeof&lt;/CODE&gt;&lt;CODE class="cpp plain"&gt;( &lt;/CODE&gt;&lt;CODE class="cpp color1 bold"&gt;double&lt;/CODE&gt;&lt;CODE class="cpp plain"&gt;* ) );&lt;/CODE&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;For debugging purposes can you please&amp;nbsp;set SEED &amp;nbsp;to a fixed number, provide value of N, and the data set you get from the generator for those parameters (I assume N is not huge, something like ~1000) ? It would help to compare the results on your and our side.&lt;/P&gt;

&lt;P&gt;Also, which library version do you use?&lt;/P&gt;

&lt;P&gt;Andrey&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 02 Nov 2015 14:32:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Random-numbers-with-vdRngGaussianMV/m-p/1043807#M20852</guid>
      <dc:creator>Andrey_N_Intel</dc:creator>
      <dc:date>2015-11-02T14:32:25Z</dc:date>
    </item>
    <item>
      <title>Hello.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Random-numbers-with-vdRngGaussianMV/m-p/1043808#M20853</link>
      <description>&lt;P&gt;Hello.&lt;/P&gt;

&lt;P&gt;I corrected the code as you proposed.&amp;nbsp;&amp;nbsp;I set the &amp;nbsp;SEED equal to 777,&amp;nbsp; npars =3, N=5000, sigma = [ 16.0 8.0&amp;nbsp; 4.0;&amp;nbsp; 8.0 13.0 17.0; 4.0 17.0 62.0];, &amp;nbsp;m=[3.0 5.0 2.0]; I have installed on my pc&amp;nbsp; "Intel Parallel Studio XE 2013 SP1, Update 2 for Windows".&lt;/P&gt;

&lt;P&gt;I run the code with the command&amp;nbsp; out = fio(npars, N, sigma, m); and the results are&lt;/P&gt;

&lt;P&gt;&amp;gt;&amp;gt; mean(out)&lt;BR /&gt;
	ans =&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.3099&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.4070&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.3614&lt;BR /&gt;
	&amp;gt;&amp;gt; cov(out)&lt;BR /&gt;
	ans =&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; 32.5436&amp;nbsp;&amp;nbsp; -0.5491&amp;nbsp;&amp;nbsp; -0.9751&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; -0.5491&amp;nbsp;&amp;nbsp; 29.8680&amp;nbsp;&amp;nbsp; -0.6707&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; -0.9751&amp;nbsp;&amp;nbsp; -0.6707&amp;nbsp;&amp;nbsp; 32.0381&lt;BR /&gt;
	&amp;gt;&amp;gt;&lt;/P&gt;

&lt;P&gt;Please see the attached txt&amp;nbsp;for the&amp;nbsp;simulated data.&lt;/P&gt;

&lt;P&gt;The corrected code is:&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;#include &amp;lt;math.h&amp;gt;
#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;mkl.h&amp;gt;
#include "mkl_vml.h"
#include "mex.h"
#include "matrix.h"
#include "mkl_vsl.h"
#include &amp;lt;time.h&amp;gt;

#define SEED 777
#define BRNG&amp;nbsp; VSL_BRNG_MCG31 // VSL basic generator to be used

double normalMVN(int npars, int N, double *cov, double *mean, double *out);


/* main fucntion */
void mexFunction(int nlhs,&amp;nbsp; mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; int npars,&amp;nbsp; N;
&amp;nbsp;&amp;nbsp;&amp;nbsp; double *cov, *mean, *out;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* make pointers to input data */
&amp;nbsp;&amp;nbsp;&amp;nbsp; npars = (int)mxGetScalar(prhs[0]);
&amp;nbsp;&amp;nbsp;&amp;nbsp; N = (int)mxGetScalar(prhs[1]);
&amp;nbsp;&amp;nbsp;&amp;nbsp; cov = mxGetPr(prhs[2]);
&amp;nbsp;&amp;nbsp;&amp;nbsp; mean = mxGetPr(prhs[3]);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* make pointers to output data */
&amp;nbsp;&amp;nbsp;&amp;nbsp; plhs[0] = mxCreateDoubleMatrix( N, npars, mxREAL);
&amp;nbsp;&amp;nbsp;&amp;nbsp; out = mxGetPr(plhs[0]);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* call */
&amp;nbsp;&amp;nbsp;&amp;nbsp; normalMVN(npars, N, cov, mean, out);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
}


double normalMVN(int npars, int N, double *cov, double *mean, double *out)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; char&amp;nbsp;&amp;nbsp; uplo;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int i, j, n, lda,&amp;nbsp; info;
&amp;nbsp;&amp;nbsp;&amp;nbsp; double *T;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* This we need it for distributions */
&amp;nbsp;&amp;nbsp;&amp;nbsp; VSLSSTaskPtr task;
&amp;nbsp;&amp;nbsp;&amp;nbsp; VSLStreamStatePtr stream;
&amp;nbsp;&amp;nbsp;&amp;nbsp; vslNewStream( &amp;amp;stream, BRNG, SEED );
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Following variables are used in Cholesky factorization subroutine */
&amp;nbsp;&amp;nbsp;&amp;nbsp; T =&amp;nbsp; mxMalloc( npars*npars*sizeof( double ) );
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; uplo = 'U';
&amp;nbsp;&amp;nbsp;&amp;nbsp; n = npars;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lda = npars;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; cblas_dcopy(npars*npars, cov, 1, T, 1);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MKL Choelsky factorization routine call */
&amp;nbsp;&amp;nbsp;&amp;nbsp; dpotrf( &amp;amp;uplo, &amp;amp;n, T, &amp;amp;lda, &amp;amp;info );
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(info != 0){mexPrintf("c++ error: Cholesky failed\n\n");}
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /*****************************************************
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Generating random numbers
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * from multivariate normal distribution
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *****************************************************/
&amp;nbsp;&amp;nbsp;&amp;nbsp; vdRngGaussianMV( VSL_METHOD_DGAUSSIANMV_BOXMULLER2, stream, N, out, npars, VSL_MATRIX_STORAGE_FULL, mean, T );
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; vslDeleteStream( &amp;amp;stream );
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Free memory */
&amp;nbsp;&amp;nbsp;&amp;nbsp; mxFree(T);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;
}
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 02 Nov 2015 16:55:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Random-numbers-with-vdRngGaussianMV/m-p/1043808#M20853</guid>
      <dc:creator>Fiori</dc:creator>
      <dc:date>2015-11-02T16:55:45Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Random-numbers-with-vdRngGaussianMV/m-p/1043809#M20854</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;Thanks for the generated data. I reproduced covariance and mean estimates with your dataset.&amp;nbsp;This indicates the bug in that version of Intel MKL. I attach&amp;nbsp;C test case that was based on the your code, and the output produced by this test case. For the experiments I used&amp;nbsp;Intel MKL&amp;nbsp;from Intel Parallel Studio 2016 for Linux. Can&amp;nbsp;you please download&amp;nbsp;the latest&amp;nbsp;version of the Studio and run the experiments with it?&lt;/P&gt;

&lt;P&gt;Thanks, Andrey&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 03 Nov 2015 07:01:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Random-numbers-with-vdRngGaussianMV/m-p/1043809#M20854</guid>
      <dc:creator>Andrey_N_Intel</dc:creator>
      <dc:date>2015-11-03T07:01:59Z</dc:date>
    </item>
    <item>
      <title>Hi!</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Random-numbers-with-vdRngGaussianMV/m-p/1043810#M20855</link>
      <description>&lt;P&gt;Hi!&lt;/P&gt;

&lt;P&gt;I really appreciate your help. I installed on my pc &amp;nbsp;&lt;SPAN class="formTitle"&gt;&amp;nbsp;'Intel® Parallel Studio XE Cluster Edition , 2016 for Windows'&lt;/SPAN&gt; &amp;nbsp;but&amp;nbsp; I don't know how to run my mex-code. With &amp;nbsp;"Intel Parallel Studio XE 2013 SP1" I used the command&lt;/P&gt;

&lt;P&gt;'mex -v -g phi1c.c -I"C:\Program Files (x86)\Intel\Composer XE 2013 SP1\mkl\include" -L"C:\Program Files (x86)\Intel\Composer XE 2013 SP1\mkl\lib\intel64"&amp;nbsp; -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lmkl_cdft_core -lmkl_intel_thread'&lt;/P&gt;

&lt;P&gt;Could you please tell me if you know &amp;nbsp;what to do?&lt;/P&gt;

&lt;P&gt;Thank you very much.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 03 Nov 2015 18:59:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Random-numbers-with-vdRngGaussianMV/m-p/1043810#M20855</guid>
      <dc:creator>Fiori</dc:creator>
      <dc:date>2015-11-03T18:59:11Z</dc:date>
    </item>
    <item>
      <title>Hi GF G., </title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Random-numbers-with-vdRngGaussianMV/m-p/1043811#M20856</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;A href="https://software.intel.com/en-us/user/1008742" style="font-size: 11px; line-height: 16.5px; background-color: rgb(238, 238, 238);"&gt;GF G.&lt;/A&gt;,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Are you asking the eqivalent folder in &lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;Intel® Parallel Studio XE Cluster Edition , 2016 for Windows?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;We changed the folder a little, for example,&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;C:\Program Files (x86)\Intel\Composer XE 2013 SP1\mkl&lt;/P&gt;

&lt;P&gt;in&amp;nbsp;&lt;/P&gt;

&lt;P&gt;C:\Program Files (x86)\&lt;STRONG&gt;Intel_sw_development_tools&lt;/STRONG&gt;\parallel_studio_xe_2016.0.0.xx\compilers_and_libraries_2016\windows\mkl&lt;/P&gt;

&lt;P&gt;You may replace them in your command&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Best Regards&lt;/P&gt;

&lt;P&gt;Ying&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 04 Nov 2015 02:06:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Random-numbers-with-vdRngGaussianMV/m-p/1043811#M20856</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2015-11-04T02:06:00Z</dc:date>
    </item>
  </channel>
</rss>

