Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

RHEL 6 crash on using mkl

Sam_Z_
Beginner
610 Views

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
610 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.

0 Kudos
Sam_Z_
Beginner
610 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

 

0 Kudos
Evgueni_P_Intel
Employee
610 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 

0 Kudos
Reply