- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
platform: Windows (XP), IA-32 ipp v6.0.2.074
code:
typedef complex
typedef complex
int N = 512;
float *arg = ippsMalloc_32f(N);
float *arsin = ippsMalloc_32f(N);
float *arcos = ippsMalloc_32f(N);
FCOMPLEX *arexp = (FCOMPLEX*)ippsMalloc_32fc(N);
double *darg = ippsMalloc_64f(N);
double *darsin = ippsMalloc_64f(N);
double *darcos = ippsMalloc_64f(N);
DCOMPLEX *darexp = (DCOMPLEX*)ippsMalloc_64fc(N);
for (int i = 0; i < N; ++i)
{
arg = 2*3.14*i/N;
darg = 2*3.14*i/N;
};
IppStatus status;
status = ippsSinCos_32f_A11(arg,arsin,arcos,N);
cout<<"ippsSinCos_32f_A11 - status = "<
cout<
status = ippsCIS_32fc_A11(arg, (Ipp32fc*)arexp, N);
cout<<"ippsCIS_32fc_A11 - status = "<
cout<
result:
>ippsSinCos_32f_A11 - status = 0
>0.707398 0.706827
CRASH
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello agor,
Thank you for your report. We will look into this.
For workaround,assume you arelinking static library, e.g
ippvmemerged.lib ippvmmerged.lib ippsemerged.lib ippsmerged.liblibcorel.lib
Would you pleasetry toadd the below code at the begin of your program and see if it can work?
//use "px" code
IppStatus sts = ippStaticInitCpu( ippCpuUnknown );//ippGetCpuType()
// Print the version of ipp being used
const IppLibraryVersion* lib = ippvmGetLibVersion();
printf("%s %s %d.%d.%d.%dn", lib->Name, lib->Version,lib->major, lib->minor, lib->majorBuild, lib->build);
Regards,
Ying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, my test code is alredy linked as static.
I have added code to the begining of the previous code:
IppCpuType cpu = ippGetCpuType();
cout<<"Real CPU type = "<
const IppLibraryVersion* lib = ippvmGetLibVersion();
printf("%s %s %d.%d.%d.%dn", lib->Name, lib->Version,lib->major, lib->minor, lib->majorBuild, lib->build);
result:
Real CPU type = 34
ippvmpxl.lib 6.0 Update 2 build 167.41 6.0.167.628
ippsSinCos_32f_A11 - status = 0
0.707388 0.706825
ippsCIS_32fc_A11 - status = 0
(0.707388,0.706825)
Press any key to continue . . .
change ippCpuUnknown on ippGetCpuType() ( ppStatus sts = ippStaticInitCpu(ippGetCpuType()); )
result:
Real CPU type = 34
ippvmv8l.lib 6.0 Update 2 build 167.41 6.0.167.628
ippsSinCos_32f_A11 - status = 0
0.707398 0.706827
ippsCIS_32fc_A11 - status = 0
(0,0)
Press any key to continue . . .
No crash, but (0,0) not correctly result. I would like tohave more fast version and
it's a pity that it's imposible.
Regards, Igor.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Agor,
Thank you for your test.I'm able to reproduce problem with MSVC2005 too. There are some problem with cpu-specific optimized code, but "px" code works fine.The issue has been recorded our database and will befixed in further release.
As workaround, you may try:
1) to use px version of CIS_32fc by directly call to _px_ippsCIS_32fc or by removing ippStaticInit function
2) to use CIS_64fc instead CIS_32fc
Thanks
Ying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Ying,
>The issue has been recorded our database and will befixed in further release.
OK. Wait... :)
>1) to use px version of CIS_32fc - by directly call to _px_ippsCIS_32fc or by removing ippStaticInit function
px version no interest. I using CIS with FFT (px version is slow).
I think use:
ippsSinCos_32f_A11((arg_array, sin_array, cos_array, len);
ippsRealToCplx_32f(cos_array, sin_array, exp_array, len);
Regards, Igor.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Regards,
Ying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Igor,
IPP 6.1 Gold is released today. You are welcomed to try it. The install packageis available in Intel registration center<<>>>. Or you can get 30-day evaluate version from IPP product website <<>>>.
Best Regards,
Ying

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page