Software Archive
Read-only legacy content
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.
17060 Discussions

Reduction operation can reduce on multiple ranks?

Philippe_T_Intel
Employee
1,167 Views

Theoretically, 

sum = __sec_reduce_add(a[:][:]); //sum across the whole array 'a'

sum_of_column[:]=__sec_reduce_add(a[:][:]); //sum across the column of 'a'

Actually, when I tested the second statement, the sum_of_column got always the sum across the whole array of a, no matter the rank of sum_of_column. 

For a given execution context of rank m and a reduction array section argument with rank n, where n>m, it is the last n-m ranks of the array section argument who should be reduced, right? What went wrong? 

Thank you for your help!

0 Kudos
4 Replies
Balaji_I_Intel
Employee
1,167 Views

Hello Phillippe,

     What compiler (and version) are you using?

 

Thanks,

 

Balaji V. Iyer.

0 Kudos
Philippe_T_Intel
Employee
1,167 Views

I'm using icc version 13.1.0. 

0 Kudos
BelindaLiviero
Employee
1,167 Views

To the person who is reporting and responding to this issue on behalf of Philippe, can you please send me a private message containing your personal email address.  There seems to be a profile conflict problem.

0 Kudos
Chang-Sun_L_Intel
1,167 Views

Thanks for trying out our language feature. The reduction operations are simply defined---they always reduce everything down to a single scalar value. To do a column sum, an outer loop is needed: [cpp] for (int i = 0; i < rows; i++) { sum = __sec_reduce_add(a[:]); } [/cpp]

0 Kudos
Reply