- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I try to change the exemple found on https://software.intel.com/en-us/articles/how-to-use-intel-ipp-s-1d-fourier-transform-functions
To use 16 bits instead of 32, but I have linking problems:
icc fftIPP_16.c -o fftIPP_16 -L/opt/intel/composer_xe_2015.3.187/ipp/../compiler/lib -lm -lippcore -lipps -lippi
Undefined symbols for architecture x86_64:
"_ippsDFTFwd_CToC_16sc", referenced from:
_main in iccGavA8K.o
"_ippsDFTGetSize_C_16sc", referenced from:
_main in iccGavA8K.o
"_ippsDFTInit_C_16sc", referenced from:
_main in iccGavA8K.o
"_ippsDFTInv_CToC_16sc", referenced from:
_main in iccGavA8K.o
ld: symbol(s) not found for architecture x86_64
Any Idea of what's wrong? Which library should I use instead?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Samy,
is everything OK with 32fc functions that are used in the example code?
regards, Igor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, with the 32fc the same build command could compile, link and run and then validate with DFT OK
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you find 16-bit FFT in ipps.h?
These functions were marked as deprecated in 8.x and removed in 9.0. The main reason for this particular functionality - because there was no 16-bit implementation for FFT - internally this functionality was implemented via ippsConvert_16s32, FFT_32f and ippsConvert_32f16s_Sfs. If you need 16-bit implementation - you can do the same in your app.
regards, Igor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have this int he ipps.h
typedef struct FFTSpec_C_16sc IppsFFTSpec_C_16sc;
typedef struct FFTSpec_C_16s IppsFFTSpec_C_16s;
typedef struct FFTSpec_R_16s IppsFFTSpec_R_16s;
How do I know my release is 8 or 9?
The files are from the evaluation tar.gz on MacOSX (composer_xe_2015.3.187)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
These are just rudiment data types residues, - there are no 16-bit FFTs in ippSP anymore. In order to understand which IPP version do you use just call
/* /////////////////////////////////////////////////////////////////////////////
// Name: ippsGetLibVersion
// Purpose: get the library version
// Parameters:
// Returns: pointer to structure describing version of the ipps library
//
// Notes: don't free the pointer
*/
IPPAPI( const IppLibraryVersion*, ippsGetLibVersion, (void) )
(or use an example from the user manual):
const IppLibraryVersion* lib = ippsGetLibVersion(); printf(“%s %s %d.%d.%d.%d\n”, lib->Name, lib->Version, lib->major, lib->minor, lib->majorBuild, lib->build);
regards, Igor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page