diff --git a/validation/kernels/2d-5pt.c b/validation/kernels/2d-5pt.c index 33e7166..8863e26 100644 --- a/validation/kernels/2d-5pt.c +++ b/validation/kernels/2d-5pt.c @@ -2,6 +2,9 @@ #include #include #include +#ifdef __ARM_FEATURE_SVE +#include +#endif #endif #define DTYPE double @@ -15,7 +18,7 @@ void kernel(DTYPE* a, DTYPE* b, const int repeat, const int cur_elementsy, const for(int y=1; y #include #include +#ifdef __ARM_FEATURE_SVE +#include +#endif #endif #define DTYPE double @@ -16,31 +19,31 @@ void kernel(DTYPE* a, DTYPE* b, const int repeat, const int cur_elementsz, const for(int y=1; y #include #include +#ifdef __ARM_FEATURE_SVE +#include +#endif #endif #define DTYPE double @@ -16,8 +19,8 @@ void kernel(DTYPE* a, DTYPE* b, const int repeat, const int cur_elementsz, const for(int y=1; y #include #include +#ifdef __ARM_FEATURE_SVE +#include +#endif #endif #define DTYPE double @@ -18,8 +21,8 @@ void kernel(DTYPE* a, DTYPE* b, const int repeat, const int cur_elementsz, const a[z*cur_elementsy*cur_elementsx+y*cur_elementsx+x] = 1.0234 * ( b[(z+3)*cur_elementsy*cur_elementsx+y*cur_elementsx+x] + b[(z+1)*cur_elementsy*cur_elementsx+y*cur_elementsx+x] + - b[z*cur_elementsy*cur_elementsx+(y-3)*cur_elementsx+x] + - b[z*cur_elementsy*cur_elementsx+(y-1)*cur_elementsx+x] + + b[z*cur_elementsy*cur_elementsx+(y-3)*cur_elementsx+x] + + b[z*cur_elementsy*cur_elementsx+(y-1)*cur_elementsx+x] + b[z*cur_elementsy*cur_elementsx+y*cur_elementsx+x-1] + b[z*cur_elementsy*cur_elementsx+y*cur_elementsx+x+1] + b[z*cur_elementsy*cur_elementsx+(y+1)*cur_elementsx+x] + @@ -60,7 +63,11 @@ int main(int argc, char *argv[]) { } printf("kernel: 3d-r3-11pt\n"); printf("elementsize: %lu\n", sizeof(DTYPE)); - +#ifdef __ARM_FEATURE_SVE + int vl_in_bytes = prctl(PR_SVE_GET_VL) & PR_SVE_VL_LEN_MASK; + printf("vector length: %d bits\n", vl_in_bytes*8); +#endif + //SETUP DTYPE* a = malloc(maxproduct*sizeof(DTYPE)); DTYPE* b = malloc(maxproduct*sizeof(DTYPE)); @@ -99,4 +106,4 @@ int main(int argc, char *argv[]) { free(a); return 0; } -#endif \ No newline at end of file +#endif diff --git a/validation/kernels/add.c b/validation/kernels/add.c index 287e40e..261d3a7 100644 --- a/validation/kernels/add.c +++ b/validation/kernels/add.c @@ -2,6 +2,9 @@ #include #include #include +#ifdef __ARM_FEATURE_SVE +#include +#endif #endif #define DTYPE double @@ -38,7 +41,11 @@ int main(int argc, char *argv[]) { } printf("kernel: add\n"); printf("elementsize: %lu\n", sizeof(DTYPE)); - +#ifdef __ARM_FEATURE_SVE + int vl_in_bytes = prctl(PR_SVE_GET_VL) & PR_SVE_VL_LEN_MASK; + printf("vector length: %d bits\n", vl_in_bytes*8); +#endif + //SETUP DTYPE* a = malloc(maxelements*sizeof(DTYPE)); DTYPE* b = malloc(maxelements*sizeof(DTYPE)); @@ -75,4 +82,4 @@ int main(int argc, char *argv[]) { free(a); return 0; } -#endif \ No newline at end of file +#endif diff --git a/validation/kernels/copy.c b/validation/kernels/copy.c index 6fd5b81..d3d94b7 100644 --- a/validation/kernels/copy.c +++ b/validation/kernels/copy.c @@ -2,6 +2,9 @@ #include #include #include +#ifdef __ARM_FEATURE_SVE +#include +#endif #endif #define DTYPE double @@ -38,7 +41,11 @@ int main(int argc, char *argv[]) { } printf("kernel: copy\n"); printf("elementsize: %lu\n", sizeof(DTYPE)); - +#ifdef __ARM_FEATURE_SVE + int vl_in_bytes = prctl(PR_SVE_GET_VL) & PR_SVE_VL_LEN_MASK; + printf("vector length: %d bits\n", vl_in_bytes*8); +#endif + //SETUP DTYPE* a = malloc(maxelements*sizeof(DTYPE)); DTYPE* b = malloc(maxelements*sizeof(DTYPE)); @@ -73,4 +80,4 @@ int main(int argc, char *argv[]) { free(a); return 0; } -#endif \ No newline at end of file +#endif diff --git a/validation/kernels/gs-2d-5pt.c b/validation/kernels/gs-2d-5pt.c index 19a5b6c..527647f 100644 --- a/validation/kernels/gs-2d-5pt.c +++ b/validation/kernels/gs-2d-5pt.c @@ -2,6 +2,9 @@ #include #include #include +#ifdef __ARM_FEATURE_SVE +#include +#endif #endif #define DTYPE double @@ -15,7 +18,7 @@ void kernel(DTYPE* a, const int repeat, const int cur_elementsy, const int cur_e for(int y=1; y #include #include +#ifdef __ARM_FEATURE_SVE +#include +#endif #endif #define DTYPE double @@ -40,7 +43,12 @@ int main(int argc, char *argv[]) { } printf("kernel: pi\n"); printf("elementsize: %lu\n", sizeof(DTYPE)); - +#ifdef __ARM_FEATURE_SVE + int vl_in_bytes = prctl(PR_SVE_GET_VL) & PR_SVE_VL_LEN_MASK; + printf("vector length: %d bits\n", vl_in_bytes*8); +#endif + + //SETUP likwid_markerInit(); @@ -68,4 +76,4 @@ int main(int argc, char *argv[]) { likwid_markerClose(); return 0; } -#endif \ No newline at end of file +#endif diff --git a/validation/kernels/store.c b/validation/kernels/store.c index b926487..9e4cbd3 100644 --- a/validation/kernels/store.c +++ b/validation/kernels/store.c @@ -2,6 +2,9 @@ #include #include #include +#ifdef __ARM_FEATURE_SVE +#include +#endif #endif #define DTYPE double @@ -39,7 +42,11 @@ int main(int argc, char *argv[]) { } printf("kernel: store\n"); printf("elementsize: %lu\n", sizeof(DTYPE)); - +#ifdef __ARM_FEATURE_SVE + int vl_in_bytes = prctl(PR_SVE_GET_VL) & PR_SVE_VL_LEN_MASK; + printf("vector length: %d bits\n", vl_in_bytes*8); +#endif + //SETUP DTYPE* a = malloc(maxelements*sizeof(DTYPE)); for(int i=0; i #include #include +#ifdef __ARM_FEATURE_SVE +#include +#endif #endif #define DTYPE double @@ -38,7 +41,11 @@ int main(int argc, char *argv[]) { } printf("kernel: triad\n"); printf("elementsize: %lu\n", sizeof(DTYPE)); - +#ifdef __ARM_FEATURE_SVE + int vl_in_bytes = prctl(PR_SVE_GET_VL) & PR_SVE_VL_LEN_MASK; + printf("vector length: %d bits\n", vl_in_bytes*8); +#endif + //SETUP DTYPE* a = malloc(maxelements*sizeof(DTYPE)); DTYPE* b = malloc(maxelements*sizeof(DTYPE)); @@ -77,4 +84,4 @@ int main(int argc, char *argv[]) { free(a); return 0; } -#endif \ No newline at end of file +#endif diff --git a/validation/kernels/sumreduction.c b/validation/kernels/sumreduction.c index b81daf8..2758af8 100644 --- a/validation/kernels/sumreduction.c +++ b/validation/kernels/sumreduction.c @@ -2,6 +2,9 @@ #include #include #include +#ifdef __ARM_FEATURE_SVE +#include +#endif #endif #define DTYPE double @@ -40,7 +43,11 @@ int main(int argc, char *argv[]) { } printf("kernel: sumreduction\n"); printf("elementsize: %lu\n", sizeof(DTYPE)); - +#ifdef __ARM_FEATURE_SVE + int vl_in_bytes = prctl(PR_SVE_GET_VL) & PR_SVE_VL_LEN_MASK; + printf("vector length: %d bits\n", vl_in_bytes*8); +#endif + //SETUP DTYPE* a = malloc(maxelements*sizeof(DTYPE)); for(int i=0; i #include #include +#ifdef __ARM_FEATURE_SVE +#include +#endif #endif #define DTYPE double @@ -38,7 +41,11 @@ int main(int argc, char *argv[]) { } printf("kernel: triad\n"); printf("elementsize: %lu\n", sizeof(DTYPE)); - +#ifdef __ARM_FEATURE_SVE + int vl_in_bytes = prctl(PR_SVE_GET_VL) & PR_SVE_VL_LEN_MASK; + printf("vector length: %d bits\n", vl_in_bytes*8); +#endif + //SETUP DTYPE* a = malloc(maxelements*sizeof(DTYPE)); DTYPE* b = malloc(maxelements*sizeof(DTYPE)); @@ -75,4 +82,4 @@ int main(int argc, char *argv[]) { free(a); return 0; } -#endif \ No newline at end of file +#endif diff --git a/validation/kernels/update.c b/validation/kernels/update.c index 382c428..a4a8b26 100644 --- a/validation/kernels/update.c +++ b/validation/kernels/update.c @@ -2,6 +2,9 @@ #include #include #include +#ifdef __ARM_FEATURE_SVE +#include +#endif #endif #define DTYPE double @@ -38,7 +41,11 @@ int main(int argc, char *argv[]) { } printf("kernel: update\n"); printf("elementsize: %lu\n", sizeof(DTYPE)); - +#ifdef __ARM_FEATURE_SVE + int vl_in_bytes = prctl(PR_SVE_GET_VL) & PR_SVE_VL_LEN_MASK; + printf("vector length: %d bits\n", vl_in_bytes*8); +#endif + //SETUP DTYPE* a = malloc(maxelements*sizeof(DTYPE)); DTYPE* b = malloc(maxelements*sizeof(DTYPE)); @@ -75,4 +82,4 @@ int main(int argc, char *argv[]) { free(a); return 0; } -#endif \ No newline at end of file +#endif