# 3D convolution

I am using MKL's VSL multi-dimensional convolution routines to perform a 3D convolution. As a test, I am using the input function as a 3D gaussian as follows:

f(x,y,z) = exp(- (x-2)**2) exp(-(y+2)**2) exp(- (z**2))

and the convolution kernel as

g(x,y,z) = exp(-(x**2 + y**2 + z**2))

# Extract row/column of a matrix and subvector form a vector.

Hi! I would like to ask if there are routines for the following issues:

1) Extract a row/column of a matrix.

2) If theta is a vector extract a subvector. For example extract the elements 4 until 8 of  theta.

3) Merge 2 vectors. For example if a, b be row vectors I want to create a new vector c with the first row be the a vector and the second row will be the b vector.

I know that the above can be done using "for", but I' m interested in using routines (if there are).

# Use ?gbmv with a 3d array.

Let assume the we have a 3d array A and a matrix B of size 2x5.

`int A[3][2][2]= { {{1,2},{3,4} }, {{5,6},{7,8}}, {{9,10},{11,12}} };`

I want to program the following:

cs =0.0;

for j=1 until 3

Multiply the Aj matrix with the t-j column of the B matrix and add the result to the term cs.

end

# PARDISO segmentation fault

idbc wrote after 80% of LL' factorization:

mkl_blas_mc_sgem2vu_odd () in /mnt/storage/opt/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_mc.so

in the attachment there is matrix with the program and makefile to reproduce this fault.

Matrix is CSR 3-array-variation 1-based (Upper triangle part of hermitian matrix) with about 22 000 000 nonzeros and 64000x64000 size

The same program with smaller size worked, max size tested 17280x17280.

# I can't run MKL with Visual studio.

Hello!

I installed on my computer Intel® C++ Studio XE for Windows 2013 SP1 and Microsoft Visual Studio Pro 2012. Then I followed the instructions that I watched on this video http://software.intel.com/en-us/videos/using-the-intel-c-compiler-with-m.... In order to use MKL  I followed these instructions

For the Visual Studio* 2010/2012 development system:

# How do we select the column of a matrix?

Hello!

I am new to MKL and to C in general. Lets say that we have two matrices A, B of size (n,k). We would like for j =1 until k to subtrack the j column of A from B. In Matlab language the code is: for j=1:k, B(:,j)-A(:,j), end and in R language for(j=1 in k), { B[,j]-A[,j] }. I would like to ask if there is a routine to select the j column (or row) of a matrix? I searched but I had no luck.

Thank you very much.

# Problems with DSS routine

I am beginner of MKL. I just want to use the DSS routine to solve a large sparse matrix equation. I revised the DSS example according to the manual. But it could not work with the error message "forrtl: severe (157): Program Exception -access violation".

I wonder if DSS routine has a size limitation for the solving sparse matrix.

Could someone tell me how to fix this problem? Please find my code attached.

Your help would be fully appreciated.

# Symmetric sparse matrix - dense matrix multiplication

I need to multiply a symmetric sparse matrix A with a dense matrix X (Y = A*X) using multi-thread/core. The matrices I'm using are the adjacency matrix of graphs, with large number of nodes (up to 2 million nodes).

I have tried two approaches: