diff options
author | Maxim Yurchuk <maxim-yurchuk@ydb.tech> | 2024-10-18 20:31:38 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-18 20:31:38 +0300 |
commit | 2a74bac2d2d3bccb4e10120f1ead805640ec9dd0 (patch) | |
tree | 047e4818ced5aaf73f58517629e5260b5291f9f0 /contrib/libs/isa-l/erasure_code/gf_vect_dot_prod_1tbl.c | |
parent | 2d9656823e9521d8c29ea4c9a1d0eab78391abfc (diff) | |
parent | 3d834a1923bbf9403cd4a448e7f32b670aa4124f (diff) | |
download | ydb-2a74bac2d2d3bccb4e10120f1ead805640ec9dd0.tar.gz |
Merge pull request #10502 from ydb-platform/mergelibs-241016-1210
Library import 241016-1210
Diffstat (limited to 'contrib/libs/isa-l/erasure_code/gf_vect_dot_prod_1tbl.c')
-rw-r--r-- | contrib/libs/isa-l/erasure_code/gf_vect_dot_prod_1tbl.c | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/contrib/libs/isa-l/erasure_code/gf_vect_dot_prod_1tbl.c b/contrib/libs/isa-l/erasure_code/gf_vect_dot_prod_1tbl.c index d2959c3c51..bd202fdcf1 100644 --- a/contrib/libs/isa-l/erasure_code/gf_vect_dot_prod_1tbl.c +++ b/contrib/libs/isa-l/erasure_code/gf_vect_dot_prod_1tbl.c @@ -33,22 +33,22 @@ #include "test.h" #include "erasure_code.h" -//#define CACHED_TEST -#ifdef CACHED_TEST +#ifndef GT_L3_CACHE +# define GT_L3_CACHE 32*1024*1024 /* some number > last level cache */ +#endif + +#if !defined(COLD_TEST) && !defined(TEST_CUSTOM) // Cached test, loop many times over small dataset # define TEST_SOURCES 10 # define TEST_LEN 8*1024 # define TEST_TYPE_STR "_warm" -#else -# ifndef TEST_CUSTOM +#elif defined (COLD_TEST) // Uncached test. Pull from large mem base. -# define TEST_SOURCES 10 -# define GT_L3_CACHE 32*1024*1024 /* some number > last level cache */ -# define TEST_LEN GT_L3_CACHE / TEST_SOURCES -# define TEST_TYPE_STR "_cold" -# else -# define TEST_TYPE_STR "_cus" -# endif +# define TEST_SOURCES 10 +# define TEST_LEN (GT_L3_CACHE / TEST_SOURCES) +# define TEST_TYPE_STR "_cold" +#elif defined (TEST_CUSTOM) +# define TEST_TYPE_STR "_cus" #endif typedef unsigned char u8; @@ -111,10 +111,20 @@ void gf_vect_dot_prod_mult(int len, int vlen, u8 * v, u8 ** src, u8 * dest) int main(void) { int i, j; - u8 vec[TEST_SOURCES], dest1[TEST_LEN], dest2[TEST_LEN]; + u8 vec[TEST_SOURCES], *dest1, *dest2; u8 *matrix[TEST_SOURCES]; struct perf start; + dest1 = (u8 *) malloc(TEST_LEN); + dest2 = (u8 *) malloc(TEST_LEN); + + if (NULL == dest1 || NULL == dest2) { + printf("buffer alloc error\n"); + return -1; + } + memset(dest1, 0xfe, TEST_LEN); + memset(dest2, 0xfe, TEST_LEN); + mk_gf_field(); mk_gf_mul_table(gf_mul_table); |