Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

erasure_code/gf_vect_mad_test fails with avx2 #19

Closed
daxtens opened this issue Mar 21, 2017 · 2 comments
Closed

erasure_code/gf_vect_mad_test fails with avx2 #19

daxtens opened this issue Mar 21, 2017 · 2 comments

Comments

@daxtens
Copy link

daxtens commented Mar 21, 2017

If I change gf_vect_mad_test to test the avx2 implementation, like so

#ifndef FUNCTION_UNDER_TEST                                                                                                                                                                                                                
# define FUNCTION_UNDER_TEST gf_vect_mad_avx2                                                                                                                                                                                              
# define REF_FUNCTION gf_vect_dot_prod                                                                                                                                                                                                     
# define VECT 1                                                                                                                                                                                                                            
#endif

I get the following error:

Fail rand gf_vect_mad_avx2 test0 size=16
 40 a2 e2 15 38 32 96 af 18 f7 12 de 5c 8c 39  1

dprod_base: 1d 57 49 fd 6e 87 24 9f 67 79 5c 73 e7 a3 cc 98 be
dprod_dut:  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 be

The tests pass if I use avx or sse.

This is broken on all the variants of gf_Nvect_mad_avx2 that I have tested.

@gbtucker
Copy link
Contributor

This is an arch-specific test and these specific low-level functions have different alignment restrictions. To use with the test you need to also define align_size=32 like so.

#ifndef ALIGN_SIZE
-# define ALIGN_SIZE 16
+# define ALIGN_SIZE 32
#endif

@daxtens
Copy link
Author

daxtens commented Mar 21, 2017 via email

@daxtens daxtens closed this as completed Mar 21, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants