Intel® Math Kernel Library

dgemm_ vs. cblas_dgemm


I'm doing some performance benchmarks on Intel's mkl right now and I noticed some unexpected issues. When using dgemm_() function instead of cblas_dgemm() on the same matrix I get around 4 times fewer Gflop/s. It's the same either with the non-parallel and parallel version.

Did someone experience similiar things or could probably point me to a possible failure?


LInking Error Linux 32 bit


I have the following system setup
- Linux Ubuntu 8.04 32 bit
- compiler gcc 4.1
- Intel MKL

1. Question (static & dynamic linking):
My makefile looks like

MKL_PATH = /opt/intel/mkl/
MKL_INC = $(MKL_PATH)/include
MKL_LIB = $(MKL_PATH)/lib/32

main : main.o
gcc main.o -L$(MKL_LIB) -lmkl_intel -lmkl_intel_thread -lmkl_core -lguide -lpthread -lm -o main

main.o: main.c
gcc -c main.c -I$(MKL_INC)

Intializing an array

Suppose I have an array of doubles created using malloc. Is there an efficient (vectorized + optimised) way to set some or all its elements to a specific value, say 1.0? I want to avoid using a for loop to do this element by element. In other words, is there a more optimal way to do the following:

int main()
int n=1000;
double *x=(double *) malloc( n*sizeof(double));

int p=20, q=40;
for (int i=p; i < q; ++ i) x[i]=1.0;


MKL Linking issue


I am new to MKL. I am trying to setup the environment (Visual Studio 2005 + Intel Visual Fortran 10.1 + MKL 10.0) to compile the example program with the FGMRES routines in the Reference Manual.

I followed the guidelines for linking with IVF in the User's Guide:

MKL and NumPy incompatibility (test fails)

Numpy svn 1.1.0rc1 compiles w/o error with MKL, but the normal test fails. The identical failure has been reported by another user who is using the lib/em64t library. I'm using lib/32. Any pointers as to what may be going on would be much appreciated. Relevant data are below. Thanks.

Numpy was compiled with the command:

python config build_clib build_ext install --prefix=/usr/local > build.log


I havea 15-15 complex system of equations. I solved it with MKL_DSS using MKL_DSS_SYMMETRIC and MKL_DSS_INDEFINITE. There was no problem solving thissystem. However, I wanted to solve it with Pardiso defaults (specifying only that the system was complex symmetric) and NaNs appeared as output.

Problem linking C Sparse BLAS routines with gcc

I am trying to use the function mkl_dcscmm in my C++ code. I am using the gnu compiler and linker. When the linking stage begins I use this call:

g++ -ansi -pedantic -Wall -O3 netlist.o domain.o createMats.o main.o -o circuit libs/SuperLU_3.0/libsuperlu_3.0.a -Llibs/imkl/mkl/lib/em64t libs/imkl/mkl/lib/em64t/libmkl_intel_lp64.a libs/imkl/mkl/lib/em64t/libmkl_intel_thread.a libs/imkl/mkl/lib/em64t/libmkl_core.a libs/imkl/mkl/lib/em64t/libguide.a -lpthread -lm

Iscriversi a Intel® Math Kernel Library