Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- tnum = 1e4;
- a = 101;
- b = 700;
- c = 201;
- d = 800;
- Ez = rand(b+1, d);
- Ez2 = Ez;
- Hx = rand(b+1, d);
- Hx2 = Hx;
- A = rand(b-a+1, d-c+1);
- B = rand(b-a+1, d-c+1);
- C = rand(b-a+1, d-c+1);
- D = rand(b-a+1, d-c+1);
- % MATLAB
- tic
- for t=1:tnum
- Ez(a:b,c:d)=A.*Ez(a:b,c:d)+B.*(Hx(a+1:b+1,c:d)-Hx(a:b,c:d));
- Hx(a:b,c:d)=C.*Hx(a:b,c:d)+D.*(Ez(a+1:b+1,c:d)-Ez(a:b,c:d));
- end
- toc
- % MEX with armadillo and MKL BLAS
- tic
- [Ez3, Hx3] = test_mkl_blas(tnum, a, b, c, d, Ez2, Hx2, A, B, C, D);
- toc
- % compile commands
- MKLROOT = 'C:\Program Files (x86)\Intel\Composer XE 2015\mkl';
- ICLLIB = 'C:\Program Files (x86)\Intel\Composer XE 2015\compiler\lib\intel64';
- OPTIMFLAGS = 'OPTIMFLAGS= /O3 /DNDEBUG /QxHost /Qparallel /Qopenmp /Qprec-div- /Qipo /Qinline-calloc';
- LINKER = 'LINKER=xilink';
- mex('-f', 'intel_cpp_15_vs2013.xml', '-v', '-largeArrayDims', ['-L', ICLLIB], ...
- 'test_c.cpp', OPTIMFLAGS, LINKER)
- mex('-f', 'intel_cpp_15_vs2013.xml', '-v', '-largeArrayDims', '-IC:\armadillo\include', ...
- ['-I', MKLROOT, '\include'], ['-L', MKLROOT, '\lib\intel64'], ['-L', ICLLIB], ...
- 'test_mkl_blas.cpp', OPTIMFLAGS, LINKER, '-lmkl_intel_lp64', '-lmkl_intel_thread', ...
- '-lmkl_core', '-llibiomp5md')
Add Comment
Please, Sign In to add comment