Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Sam_Z_
Beginner
67 Views

RHEL 6 crash on using mkl

Hi,

I m trying to use mkl for fft calcs and here is the snippet I m using in my code:

void std::vector<std::complex> processconst std::vector<double> &data )

{
	DFTI_DESCRIPTOR_HANDLE hand = 0;
 
std::vector<std::complex> result;
 
size_t input_data_size = data.size();
 
int status = DftiCreateDescriptor( &handDFTI_DOUBLEDFTI_REAL, 1, static_cast<MKL_LONG>(input_data_size) );
status = DftiSetValuehandDFTI_PLACEMENTDFTI_NOT_INPLACE );
status DftiSetValuehandDFTI_CONJUGATE_EVEN_STORAGEDFTI_COMPLEX_COMPLEX );
status = DftiCommitDescriptorhand );
 
	result.resizeinput_data_size );
 
status = DftiComputeForwardhandconst_cast<double*>(&data[0]), &result[0] );
 
status = 	DftiFreeDescriptor( &hand );
 
	return result;
}

this function is called n times and it usually crash in the call to DftiCreateDescripter after few iterations.

 

Any help will be appreciated

Sam

0 Kudos
3 Replies
Evgueni_P_Intel
Employee
67 Views

Hi Sam Z.!

Your code looks correct and should run fine if we add <double> after std::complex.

If it does not, please post here, or send privately, or submit via premier.intel.com a complete reproducer for the issue.

Thanks.

Evgueni.

Sam_Z_
Beginner
67 Views

thanks Evqueni it was just a typo in the post.

I get a double free() failure. it seems that there is an issue inside the call to DftiCreateDescriptor

 

Evgueni_P_Intel
Employee
67 Views

Please post the size of data, the compile line, the link line, and the MKL version that you use.

You may check the link line for correctness using Intel MKL Link Line Advisor https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor 

Reply