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

ippm function access arrays of f32vec4

rich-kulakowski
Beginner
423 Views
Greetings,
I have a vectors of f32vec4 values and would like to feed them through some of the ippm vv functions without having to code the processing manually. Can I just treat them as vectors of ipp_32f? Are they packed the same? Will the ippm functions be as fast as loops of the handcoded SIMD instructions? I know the ippm would be easier to read. Specifically I am looking at the ippmLComb_vv_32f to start. We are not specifically compiling with icl targeted to a specific processor but are running on a core 2 duo of some kind.
Thanks. Rich.
0 Kudos
1 Reply
Vladimir_Dudnik
Employee
423 Views
Hello,

there is comment from our expert:

Yes, it is possible to use

IppStatus ippmLComb_vv_32f, ( const Ipp32f* pSrc1 , int src1Stride2, Ipp32f scale1 , const Ipp32f* pSrc2 , int src2Stride2, Ipp32f scale2 , Ipp32f* pDst , int dstStride2, int len );

for example

{

#define F32vec4 float[4];

F32vec4 src1;

F32vec4 src2;

F32vec4 dst;

ippmLComb_vv_32f ( src1 , sizeof(float), 0.3 , src2 , sizeof(float), 0.7 , dst , sizeof(float), 4 );

}

This function has SSE optimization, i.e. it uses SIMD instruction

For a vectors of F32vec4 values it is better to call ippmLComb_vava_32f function.


Regards,
Vladimir

0 Kudos
Reply