Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Transpose error

atilla_k_
Beginner
484 Views
I use ipp library in my codes(FFTwd, MulC, ie.) and they work right. but I couldnt use ipp transpose functions. I added ipp library and path. I wrote this code from the ipp documents: IppStatus transpose_m_32f(void) { /* Source matrix with width=4 and height=3 */ Ipp32f pSrc[3*4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2 }; /* Destination matrix with width=3 and height=4 */ Ipp32f pDst[4*3]; /* Standard description for source and destination matrices */ int srcStride2 = sizeof(Ipp32f); int srcStride1 = 4*sizeof(Ipp32f); int dstStride2 = sizeof(Ipp32f); int dstStride1 = 3*sizeof(Ipp32f); IppStatus status = ippmTranspose_m_32f((const Ipp32f*)pSrc, srcStride1, srcStride2, 4, 3, pDst, dstStride1, dstStride2); /* // It is recommended to check return status // to detect wrong input parameters, if any */ if (status == ippStsNoErr) { printf_m_Ipp32f("Transposed matrix:", pDst, 3, 4, status); } else { printf("Function returns status: %s \n", ippGetStatusString(status)); } return status; } After that I run : transpose_m_32f(); But I saw these words on the screen " Function returns status: ippStsUnknownStatusCodeErr: Unknown status code." How can I solve this problem? This codes taken from the documents and What could be the problem?  
0 Kudos
5 Replies
Gennady_F_Intel
Moderator
485 Views

1. This functionality has been removed to the legacy package of IPP since v.9.0 ( see here the info about that, by follow the link:https://software.intel.com/en-us/articles/intel-ipp-legacy-libraries)

2. but, I checked how it works with v.8.2.2 ( the latest version where this functionality is still exists and don't see the problem. 

here is the output i have ( win64, static linking)

ippSP AVX2 (l9 threaded) 8.2.2 (r46212) 8.2.2.46212
Transposed matrix PASSEDm status = (null):

Original matrix: 1.000000 2.000000 3.000000 4.000000
Original matrix: 5.000000 6.000000 7.000000 8.000000
Original matrix: 9.000000 0.000000 1.000000 2.000000


Transponsed matrix: 1.000000 5.000000 9.000000
Transponsed matrix: 2.000000 6.000000 0.000000
Transponsed matrix: 3.000000 7.000000 1.000000
Transponsed matrix: 4.000000 8.000000 2.000000
Press any key to continue . . .

0 Kudos
atilla_k_
Beginner
485 Views
My ipp library version is 8.1.0: ippSP AVX2 (l9) 8.1.0 (r41883) 8.1.0.41883 Could it be any problem about this version ?
0 Kudos
Igor_A_Intel
Employee
485 Views

Could you extend a bit your code and provide an output once more?

printf("Function returns status %d: %s \n", status, ippGetStatusString(status));

regards, Igor

0 Kudos
atilla_k_
Beginner
485 Views
Function returns status 1065353216: ippStsUnknownStatusCodeErr: Unknown status code.
0 Kudos
atilla_k_
Beginner
485 Views

I solved the problem. Thanks.

0 Kudos
Reply