-
Notifications
You must be signed in to change notification settings - Fork 170
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
compile ARM - qcrs/prim.h #2
Comments
Thank you for bringing this up, Alex. -Thilee |
Alex, What command did you use to upload the file? The sample 'cptoqfs' given in the wiki page uses Reed-Solomon, and may not work if you use it with RS stripped out. Run 'cptoqfs -h' for usage. In any case, you may want to check a couple of things. Before running 'sample_server.py -a install':
After running 'sample_server.py -a install':
Run cptoqfs without RS:
Let me know if you run into any trouble.
From: Alex Hurd <[email protected]mailto:[email protected]> Thilee, I was able to create a replacement primitives, as well as completing the build process. However I am unable to upload a file to the qfs after running 'sample_server.py -a install', I will take a look at it tomorrow. Thanks. -alex — |
I ended up running 'make test-release' and it passed the tests. |
Thilee, should I create a fork with the updated primitives? |
Yes please. Create a fork with your changes and submit a pull request. Thanks. Alex Hurd [email protected] wrote: Thilee, should I create a fork with the updated primitives? — |
ok, I am having some issues modifying the CMakeList.txt to correctly support ARM as well as the other x86 architectures. |
Closing issue as this is duplicate of #3. |
… with abort. Remove .gitignore. Eliminated compiler warnings. Squashed commit of the following: commit 4f28f0189cc4dd68e8e643026e6b6151429c4af6 Author: Mike Ovsiannikov <[email protected]> Date: Fri Jan 27 00:13:22 2017 -0800 Move into ext/gf-complete commit d61b4d377a6a3f202de8a3541abf6383313adab7 Author: John Coyle <[email protected]> Date: Mon Dec 5 20:22:55 2016 -0500 gf_cpu.c: fix pclmul detection and add portable cpuid feature bit defs Correct invalid check for pclmul support. Was checking SSE3 (1 << 0) vs. PCLMUL (1 << 1). Fixes: http://tracker.ceph.com/issues/18092 Signed-off-by: John Coyle <[email protected]> (cherry picked from commit 7c2fcc5bd021c81caf02486c0a330776f91ec0b0) commit 6ac5310254fbeaaa0f651132cb377c2de4e5314e Author: Kefu Chai <[email protected]> Date: Fri Nov 18 03:53:50 2016 +0000 gf_w32.c: silence the -Wmaybe-uninitialized warning in gf_w32_cfmgk_multiply_region_from_single(), follow warning is reported by gcc: gf-complete/src/gf_w32.c:410:5: warning: ‘a’ may be used uninitialized in this function [-Wmaybe-uninitialized] g = _mm_insert_epi64 (a, g_star, 0); ^ actually, we are using `a` as a dummy parameter for initializing `g` and `q`. and only the lower lower 64 bits of them are used when doing calculation. but their lower 64 bits are always initialized using _mm_insert_epi64(). so this is a false alarm. but we can silence this warning by moving the statement initializing `a` up before passing it to _mm_insert_epi64(). this change does not hurt the performance. Signed-off-by: Kefu Chai <[email protected]> (cherry picked from commit 9fbc44259355b00d1271c21bf14493d039160ccf) commit a6847973cba329ae079d3bd26341a4ec2906f012 Merge: 185295f 0690ba8 Author: bassamtabbara <[email protected]> Date: Wed Sep 14 20:22:27 2016 +0000 Merge branch 'simd-runtime-detection' into 'master' Support for runtime detection of SIMD This merge request adds support for runtime SIMD detection. The idea is that you would build gf-complete with full SIMD support, and gf_init will select the appropriate function at runtime based on the capabilities of the target machine. This would eliminate the need to build different versions of the code for different processors (you still need to build for different archs). Ceph for example has 3-4 flavors of jerasure on Intel (and does not support PCLMUL optimizations as a result of using to many binaries). Numerous libraries have followed as similar approach include zlib. When reviewing this merge request I recommend that you look at each of the 5 commits independently. The first 3 commits don't change the existing logic. Instead they add debugging functions and test scripts that facilitate testing of the 4th and commit. The 4th commit is where all the new logic goes along with tests. The 5th commit fixes build scripts. I've tested this on x86_64, arm, and aarch64 using QEMU. Numerous tests have been added that help this code and could help with future testing of gf-complete. Also I've compared the functions selected with the old code (prior to runtime SIMD support) with the new code and all functions are identical. Here's a gist with the test results prior to SIMD extensions: https://gist.github.com/bassamtabbara/d9a6dcf0a749b7ab01bc2953a359edec. See merge request !18 commit 0690ba86a81faff99a3383b5907ddc02a317eea0 Author: Bassam Tabbara <[email protected]> Date: Tue Sep 13 11:11:40 2016 -0700 Added --enable flags for debugging runtime SIMD commit 0e5c920fb69f2d962db1df045d1b71b9b012b902 Author: Bassam Tabbara <[email protected]> Date: Tue Sep 13 10:19:24 2016 -0700 gf_multby_one now checks runtime SIMD support commit ad11042132c7db78e8ae57a364c37df74572e8b6 Author: Bassam Tabbara <[email protected]> Date: Tue Sep 6 23:48:39 2016 -0700 Simplify SIMD make scripts ax_ext.m4 no longer performs any CPU checks. Instead it just checks if the the compile supports SIMD flags. Runtime detection will choose the right methods base on CPU instructions available. Intel AVX support is still done through the build since it would require a major refactoring of the code base to support it at runtime. For now I added a configuration flag --enable-avx that can be used to compile with AVX support. Also use cpu intrinsics instead of __asm__ commit 4339569f14c95a8895a347845f8ed6e18b345ace Author: Bassam Tabbara <[email protected]> Date: Sat Sep 3 08:43:13 2016 -0700 Support for runtime SIMD detection This commits adds support for runtime detection of SIMD instructions. The idea is that you would build once with all supported SIMD functions and the same binaries could run on different machines with varying support for SIMD. At runtime gf-complete will select the right functions based on the processor. gf_cpu.c has the logic to detect SIMD instructions. On Intel processors this is done through cpuid. For ARM on linux we use getauxv. The logic in gf_w*.c has been changed to check for runtime SIMD support and fallback to generic code. Also a new test has been added. It compares the functions selected by gf_init when we enable/disable SIMD support through build flags, with runtime enabling/disabling. The test checks if the results are identical. commit 7761438c63e18f380979a3bf5647574243708abd Author: Bassam Tabbara <[email protected]> Date: Fri Sep 2 17:23:36 2016 -0700 Add SIMD test helpers This commit adds a couple of scripts that help test SIMD functionality on different machines through QEMU. tools/test_simd_qemu.sh will automatically start qemu, run tests and stop it. it uses the Ubuntu cloud images which are built for x86_64, arm and arm64. tools/test_simd.sh run a number of tests including compiling with different flags, unit tests, and gathering the functions selected in gf_init (and when compiling with DEBUG_FUNCTIONS) commit 87f0d4395dbfe0ae559e964668b71f85819378a0 Author: Bassam Tabbara <[email protected]> Date: Fri Sep 2 17:19:04 2016 -0700 Add support for printing functions selected in gf_init There is currently no way to figure out which functions were selected during gf_init and as a result of SIMD options. This is not even possible in gdb since most functions are static. This commit adds a new macro SET_FUNCTION that records the name of the function selected during init inside the gf_internal structure. This macro only works when DEBUG_FUNCTIONS is defined during compile. Otherwise the code works exactly as it did before this change. The names of selected functions will be used during testing of SIMD runtime detection. All calls such as: gf->multiply.w32 = gf_w16_shift_multiply; need to be replaced with the following: SET_FUNCTION(gf,multiply,w32,gf_w16_shift_multiply) Also added a new flag to tools/gf_methods that will print the names of functions selected during gf_init. commit 22352ca094e242d7c93a2ed822f89a07eeb34c1a Author: Bassam Tabbara <[email protected]> Date: Fri Sep 2 17:16:18 2016 -0700 Remove generated autotools files from the build. Also update .gitignore to ignore some autotools files and tests. commit 185295f247698f727fd3bb11c4795e1741bb359e Merge: 51a1abb f940bf3 Author: Loic Dachary <[email protected]> Date: Tue Sep 13 19:23:39 2016 +0000 Merge branch 'wip-valgrind' into 'master' enable valgrind for tests See merge request !9 commit 51a1abb9185ec6ea35817620d13322047f4fde4d Merge: 8fe7382 643743d Author: Loic Dachary <[email protected]> Date: Tue Sep 13 10:34:23 2016 +0000 Merge branch 'neon_fixes' into 'master' NEON fixes/tweaks This merge request fixes some issues and adds some tweaks to NEON code: * SPLIT(16,4) ALTMAP implementation was broken as it only processed half the amount of data. As such, this fixed implementation is significantly slower than the old code (which is to be expected). Fixes #2 * SPLIT(16,4) implementations now merge the ARMv8 and older code path, similar to SPLIT(32,4). This fixes the ALTMAP variant, and also enables the non-ALTMAP version to have consistent sizing * Unnecessary VTRN removed in non-ALTMAP SPLIT(16,4) as NEON allows (de)interleaving during load/store; because of this, ALTMAP isn't so useful in NEON * This can also be done for SPLIT(32,4), but I have not implemented it * I also pulled the `if(xor)` conditional from non-ALTMAP SPLIT(16,4) to outside the loop. It seems to improve performance a bit on my Cortex A7 * It probably should be implemented everywhere else, but I have not done this * CARRY_FREE was incorrectly enabled on all sizes of w, when it's only available for w=4 and w=8 See merge request !16 commit f940bf3b5be7eec6fe3e38a11ab65592b1dc10db Author: Loic Dachary <[email protected]> Date: Tue Sep 13 11:41:40 2016 +0200 log-zero-ext: workaround for uninitialized memory Workaround until issue #13 is dealt with. Signed-off-by: Loic Dachary <[email protected]> commit e2dd917ea1490c85f0edc0e3af70fd6dbdc6ee4f Author: Loic Dachary <[email protected]> Date: Tue Sep 13 10:25:13 2016 +0200 increase the verbosity of make check failures Signed-off-by: Loic Dachary <[email protected]> commit 22cd7b15e8d65f855f2739bf0e20d9f1319c4c4b Author: Loic Dachary <[email protected]> Date: Sun Jan 11 11:00:37 2015 +0100 add --enable-valgrind for make check If --enable-valgrind is given to ./configure, all tests are run with valgrind set to fail if an error is reported ( --error-exitcode=1 ) Signed-off-by: Loic Dachary <[email protected]> commit 62b702d568ae0e764219ea47e165556f7b39392b Author: Loic Dachary <[email protected]> Date: Sun Jan 11 11:03:17 2015 +0100 do not memcpy if src and dst are the same This is harmless really but triggers a valgrind error. Signed-off-by: Loic Dachary <[email protected]> commit 8fe7382e2a1f7763be8b12db283cc1570eb64518 Merge: 363da20 9f9f005 Author: Loic Dachary <[email protected]> Date: Tue Sep 13 06:59:08 2016 +0000 Merge branch 'manual' into 'master' HTML manual fixes Fixes to HTML manual, for mistakes I've noticed. I'm sure there's more, but this is a start... See merge request !14 commit 643743d0482ca09a9dfa57beed196f172a22a78e Author: animetosho <[email protected]> Date: Sat Nov 14 16:32:25 2015 +1000 Move conditional outside loop for NEON SPLIT4 implementation Seems to improve performance a fair bit commit 05057e5635e5ef7fb5be3156f477866cce98fbdb Author: animetosho <[email protected]> Date: Thu Nov 12 22:17:53 2015 +1000 Eliminate unnecessary VTRNs in SPLIT(16,4) NEON implementation Also makes the ARMv8 version consistent with the older one, in terms of processing width commit 438283c12d8378c449b78e011cb4f9c0ff33dcc3 Author: animetosho <[email protected]> Date: Thu Nov 12 21:17:13 2015 +1000 Use similar strategy for SPLIT(16,4) ALTMAP NEON implementation as SPLIT(32,4) commit f373b138aae6ee052ca711e90837ca11bbedd156 Author: animetosho <[email protected]> Date: Thu Nov 12 21:09:44 2015 +1000 Initial fix for SPLIT(16,4) ALTMAP NEON (non ARMv8) commit 7a9a09f32cf29c3ceaa99108738c5a68d60de95a Author: animetosho <[email protected]> Date: Thu Nov 12 21:06:34 2015 +1000 CARRY_FREE is currently only available for w=4 and w=8 on NEON commit 9f9f005a3fda204b4e4dadb6e27fc97708aa0afb Author: animetosho <[email protected]> Date: Sat Oct 31 14:29:39 2015 +1000 Fix a number of conversion issues in the HTML manual commit 363da207236617b1d50f04bb191a14f0de364303 Merge: d1b6bbf 547f67e Author: KMG <[email protected]> Date: Fri Sep 4 01:23:27 2015 +0000 Merge branch 'wip-manual' into 'master' convert manual from PDF to HTML See merge request !11 commit d1b6bbf706b2628ab21cee2eb51a7cfe8cf04bcd Author: Loic Dachary <[email protected]> Date: Wed Sep 2 19:11:51 2015 +0200 add -Wsign-compare and address the warnings * (1 << w) are changed into ((uint32_t)1 << w) * int are changed into uint32_t gf.c: gf_composite_get_default_poly: a larger unsigned were assigned to unsigned integers in which case the type of the assigned variable is changed to be the same as the value assigned to it. gf_w16.c: GF_MULTBY_TWO setting the parameter to a variable instead of passing the expression resolves the warning for some reason. Signed-off-by: Loic Dachary <[email protected]> commit 284a97a0d9299721a62e357f8a17a31c16533fe1 Author: Loic Dachary <[email protected]> Date: Wed Sep 2 19:02:40 2015 +0200 ignore test-driver file Ignore it because it is rebuild by autogen.sh Signed-off-by: Loic Dachary <[email protected]> commit af22f913ed60310516f6ab4c08389884b45338a4 Merge: 5f31e27 2f6db51 Author: Loic Dachary <[email protected]> Date: Wed Sep 2 16:05:33 2015 +0000 Merge branch 'wip-da-SCA-coverity' into 'master' Fix issues found by Coverity in the Ceph project Remove dead code and fix potential integer overflow issues See merge request !12 commit 2f6db512fb83f2d8e84e8097ebd2595c6ec8f8eb Author: Danny Al-Gaaf <[email protected]> Date: Thu Jun 18 09:01:37 2015 +0200 gf_w64.c: fix integer overflow Fix for Coverity issue (from Ceph): CID 1193089 (#1 of 1): Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN) overflow_before_widen: Potentially overflowing expression 1 << g_r with type int (32 bits, signed) is evaluated using 32-bit arithmetic, and then used in a context that expects an expression of type uint64_t (64 bits, unsigned). CID 1193090 (#1 of 1): Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN) overflow_before_widen: Potentially overflowing expression 1 << g_s with type int (32 bits, signed) is evaluated using 32-bit arithmetic, and then used in a context that expects an expression of type uint64_t (64 bits, unsigned). Signed-off-by: Danny Al-Gaaf <[email protected]> commit 1aef8694bc62a053e35cc1c74c67f1d15d8d1b6a Author: Danny Al-Gaaf <[email protected]> Date: Thu Jun 18 09:00:03 2015 +0200 gf_w64.c: fix integer overflow Fix for Coverity issue (from Ceph): CID 1193088 (#1 of 1): Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN) overflow_before_widen: Potentially overflowing expression 1 << g_s with type int (32 bits, signed) is evaluated using 32-bit arithmetic, and then used in a context that expects an expression of type uint64_t (64 bits, unsigned). Signed-off-by: Danny Al-Gaaf <[email protected]> commit e127bb1fb9b1025094a0e0ce50d2e44c38c4e97f Author: Danny Al-Gaaf <[email protected]> Date: Thu Jun 18 08:58:20 2015 +0200 gf_w64.c: fix integer overflow Fix for Coverity issue (from Ceph): CID 1193087 (#1 of 1): Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN) overflow_before_widen: Potentially overflowing expression 1 << g_r with type int (32 bits, signed) is evaluated using 32-bit arithmetic, and then used in a context that expects an expression of type uint64_t (64 bits, unsigned). Signed-off-by: Danny Al-Gaaf <[email protected]> commit 98e5e37159f4c7634305aa65c9bc98a36488a4a9 Author: Danny Al-Gaaf <[email protected]> Date: Thu Jun 18 08:55:49 2015 +0200 gf_w64.c: fix integer overflow Fix for Coverity issue (from Ceph): CID 1193086 (#1 of 1): Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN) overflow_before_widen: Potentially overflowing expression 1 << g_r with type int (32 bits, signed) is evaluated using 32-bit arithmetic, and then used in a context that expects an expression of type uint64_t (64 bits, unsigned). Signed-off-by: Danny Al-Gaaf <[email protected]> commit 7972291e1f1fb68d05332cccd46a738b0d83b1be Author: Danny Al-Gaaf <[email protected]> Date: Wed Jun 17 10:46:44 2015 +0200 src/gf_w128.c: remove dead code and unused variable Fix for Coverity issue: CID 1297812 (#1 of 1): Constant variable guards dead code (DEADCODE) dead_error_begin: Execution cannot reach this statement: fprintf(stderr, "Code conta.... Local variable no_default_flag is assigned only once, to a constant value, making it effectively constant throughout its scope. If this is not the intent, examine the logic to see if there is a missing assignment that would make no_default_flag not remain constant. Signed-off-by: Danny Al-Gaaf <[email protected]> commit da671b490833332afb72e02480b9100535864cbf Author: Danny Al-Gaaf <[email protected]> Date: Wed Jun 17 10:43:38 2015 +0200 src/gf_w64.c: remove dead code Fix for Coverity issue: CID 1297852 (#1 of 1): 'Constant'; variable guards dead code (DEADCODE) dead_error_begin: Execution cannot reach this statement: fprintf(stderr, "Code conta.... Local variable no_default_flag is assigned only once, to a constant value, making it effectively constant throughout its scope. If this is not the intent, examine the logic to see if there is a missing assignment that would make no_default_flag not remain constant. Signed-off-by: Danny Al-Gaaf <[email protected]> commit 547f67ec985fe829e11ecac4957025acad433ae0 Author: Loic Dachary <[email protected]> Date: Wed Jan 14 16:15:27 2015 +0100 manual: convert from PDF to HTML It makes it easier to update. Signed-off-by: Loic Dachary <[email protected]> commit 5f31e2719d4b66f1d5354b7424a81bf3423de7b7 Merge: dd53895 15ce865 Author: KMG <[email protected]> Date: Thu Jan 8 14:59:07 2015 +0000 Merge branch 'wip-documentation' into 'master' jerasure.org is http, not https See merge request !4 commit 15ce8650c7e0dc7fbbd0e5142dd0927af7a19f2d Author: Loic Dachary <[email protected]> Date: Mon Dec 29 15:16:31 2014 +0100 jerasure.org is http, not https Signed-off-by: Loic Dachary <[email protected]> commit dd5389542ebbcbe0094a032f182a218c51502d1d Merge: 9a65216 79f34a1 Author: KMG <[email protected]> Date: Mon Dec 29 03:27:23 2014 +0000 Merge branch 'wip-dirstamp-ignore' into 'master' dirstamp ignore See merge request !1 commit 9a652166c4211c2357c3bfc28afd299ebef6d309 Merge: 695d83e e7131cf Author: KMG <[email protected]> Date: Mon Dec 29 03:27:02 2014 +0000 Merge branch 'wip-exit-v2' into 'master' exit v2 See merge request !2 commit 695d83ea597e9a5f4566c2d65183f13247f85d83 Merge: e0e400a 58eebab Author: KMG <[email protected]> Date: Mon Dec 29 03:26:44 2014 +0000 Merge branch 'wip-documentation' into 'master' documentation updates to replace URLs that do not contain useful information See merge request !3 commit 58eebabd204998364355eee293402929502bf1a9 Author: Loic Dachary <[email protected]> Date: Thu Dec 25 11:55:49 2014 +0100 documentation: update with jerasure.org new home Signed-off-by: Loic Dachary <[email protected]> commit cbbf35b6d262f926f523e03de73d0dc8e2b1a0e6 Author: Loic Dachary <[email protected]> Date: Thu Dec 25 11:51:38 2014 +0100 Revert "Removed PDF from the repo and added a note in the README that describes how to" This reverts commit 9311b4fc107da2f2e9a2624520cfe2ffd216af53. commit 79f34a1b461d6449c9b11577b1522a696880cfaf Author: Greg Farnum <[email protected]> Date: Tue Dec 9 15:01:00 2014 -0800 gitignore: add src/.dirstamp Signed-off-by: Greg Farnum <[email protected]> commit e7131cfd854a54e59459bc8fa1a98e867cf0ac2b Author: Loic Dachary <[email protected]> Date: Mon Dec 1 21:50:17 2014 +0100 use assert(0) instead of exit(1) When a fatal error (unaligned memory etc.) is detected, gf-complete should assert(3) instead of exit(3) to give a chance to the calling program to catch the exception and display a stack trace. Although it is possible for gdb to display the stack trace and break on exit, libraries are not usually expected to terminate the calling program in this way. Signed-off-by: Loic Dachary <[email protected]> (cherry picked from commit 29427efac2ce362fce8e4f5f5f1030feba942b73) commit e0e400aaf68a3b4d9f10ee3e73baddb48cb45ed9 Merge: 70dd94a 29427ef Author: kmgreen2 <[email protected]> Date: Sat Dec 6 08:09:55 2014 -0800 Merge pull request #1 from dachary/wip-assert use assert(0) instead of exit(1) commit 29427efac2ce362fce8e4f5f5f1030feba942b73 Author: Loic Dachary <[email protected]> Date: Mon Dec 1 21:50:17 2014 +0100 use assert(0) instead of exit(1) When a fatal error (unaligned memory etc.) is detected, gf-complete should assert(3) instead of exit(3) to give a chance to the calling program to catch the exception and display a stack trace. Although it is possible for gdb to display the stack trace and break on exit, libraries are not usually expected to terminate the calling program in this way. Signed-off-by: Loic Dachary <[email protected]> commit 70dd94ae38f2d20dd78532a6dfd1310fdfb4a884 Merge: 62d4b81 6fdd8bc Author: Kevin Greenan <[email protected]> Date: Fri Oct 24 14:19:31 2014 -0700 Merged in jannau/gf-complete/neon (pull request #25) arm neon optimisations commit 6fdd8bc3d32cb2f7fa55d2de9dc7cc5bb2f885aa Author: Janne Grunau <[email protected]> Date: Wed Sep 17 16:15:27 2014 +0200 arm: NEON optimisations for gf_w64 Optimisations for 4,64 split table region multiplications. Only used on ARMv8-A since it is not faster on ARMv7-A. commit 370c88b9015cbe874aca81442a5d8f6f99bfb654 Author: Janne Grunau <[email protected]> Date: Wed Sep 17 16:13:02 2014 +0200 arm: NEON optimisations for gf_w32 Optimisations for 4,32 split table multiplications. Selected time_tool.sh results on a 1.7 GHz cortex-a9: Region Best (MB/s): 346.67 W-Method: 32 -m SPLIT 32 4 -r SIMD - Region Best (MB/s): 92.89 W-Method: 32 -m SPLIT 32 4 -r NOSIMD - Region Best (MB/s): 258.17 W-Method: 32 -m SPLIT 32 4 -r SIMD -r ALTMAP - Region Best (MB/s): 162.00 W-Method: 32 -m SPLIT 32 8 - Region Best (MB/s): 160.53 W-Method: 32 -m SPLIT 8 8 - Region Best (MB/s): 32.74 W-Method: 32 -m COMPOSITE 2 - - Region Best (MB/s): 199.79 W-Method: 32 -m COMPOSITE 2 - -r ALTMAP - commit 474010a91d35fef5ca7dea77205b6a5c7e68c3e9 Author: Janne Grunau <[email protected]> Date: Wed Sep 17 16:10:25 2014 +0200 arm: NEON optimisations for gf_w16 Optimisations for the 4,16 split table region multiplications. Selected time_tool.sh 16 -A -B results for a 1.7 GHz cortex-a9: Region Best (MB/s): 532.14 W-Method: 16 -m SPLIT 16 4 -r SIMD - Region Best (MB/s): 212.34 W-Method: 16 -m SPLIT 16 4 -r NOSIMD - Region Best (MB/s): 801.36 W-Method: 16 -m SPLIT 16 4 -r SIMD -r ALTMAP - Region Best (MB/s): 93.20 W-Method: 16 -m SPLIT 16 4 -r NOSIMD -r ALTMAP - Region Best (MB/s): 273.99 W-Method: 16 -m SPLIT 16 8 - Region Best (MB/s): 270.81 W-Method: 16 -m SPLIT 8 8 - Region Best (MB/s): 70.42 W-Method: 16 -m COMPOSITE 2 - - Region Best (MB/s): 393.54 W-Method: 16 -m COMPOSITE 2 - -r ALTMAP - commit bec15359de5273d06673c43b8e73c70f97396041 Author: Janne Grunau <[email protected]> Date: Wed Sep 3 16:57:06 2014 +0200 arm: NEON optimisations for gf_w8 Optimisations for the 4,4 split table region multiplication and carry less multiplication using NEON's polynomial long multiplication. arm: w8: NEON carry less multiplication Selected time_tool.sh results for a 1.7GHz cortex-a9: Region Best (MB/s): 375.86 W-Method: 8 -m CARRY_FREE - Region Best (MB/s): 142.94 W-Method: 8 -m TABLE - Region Best (MB/s): 225.01 W-Method: 8 -m TABLE -r DOUBLE - Region Best (MB/s): 211.23 W-Method: 8 -m TABLE -r DOUBLE -r LAZY - Region Best (MB/s): 160.09 W-Method: 8 -m LOG - Region Best (MB/s): 123.61 W-Method: 8 -m LOG_ZERO - Region Best (MB/s): 123.85 W-Method: 8 -m LOG_ZERO_EXT - Region Best (MB/s): 1183.79 W-Method: 8 -m SPLIT 8 4 -r SIMD - Region Best (MB/s): 177.68 W-Method: 8 -m SPLIT 8 4 -r NOSIMD - Region Best (MB/s): 87.85 W-Method: 8 -m COMPOSITE 2 - - Region Best (MB/s): 428.59 W-Method: 8 -m COMPOSITE 2 - -r ALTMAP - commit 1311a44f7a27b38217a94e9d7a5dbe3ae3dde035 Author: Janne Grunau <[email protected]> Date: Wed Sep 17 15:12:05 2014 +0200 arm: NEON optimisations for gf_w4 Optimisations for the single table region multiplication and carry less multiplication using NEON's polynomial multiplication of 8-bit values. The single polynomial multiplication is not that useful but vector version is for region multiplication. Selected time_tool.sh results for a 1.7GHz cortex-a9: Region Best (MB/s): 672.72 W-Method: 4 -m CARRY_FREE - Region Best (MB/s): 265.84 W-Method: 4 -m BYTWO_p - Region Best (MB/s): 329.41 W-Method: 4 -m TABLE -r DOUBLE - Region Best (MB/s): 278.63 W-Method: 4 -m TABLE -r QUAD - Region Best (MB/s): 329.81 W-Method: 4 -m TABLE -r QUAD -r LAZY - Region Best (MB/s): 1318.03 W-Method: 4 -m TABLE -r SIMD - Region Best (MB/s): 165.15 W-Method: 4 -m TABLE -r NOSIMD - Region Best (MB/s): 99.73 W-Method: 4 -m LOG - commit 3a1be40ea87ecc81e737aee6819ff96a6721f011 Author: Janne Grunau <[email protected]> Date: Thu Sep 4 10:47:10 2014 +0200 arm: NEON optimisations for XOR in gf_multby_one commit 36e75c3efec08b1e9bdb9c1f69a5b0018abd8ac7 Author: Janne Grunau <[email protected]> Date: Fri Sep 5 13:33:04 2014 +0200 use posix_memalign to align memory for SIMD region tests Properly emulate aligned allocation if posix_memalign is not available. commit eb5ce0ca4206ed4f74009c1b9a3a72407693448b Author: Janne Grunau <[email protected]> Date: Thu Sep 4 18:29:58 2014 +0200 configure: add ARM/AArch64 NEON support Checks for arm_neon.h header. commit 568df90edc6ae07744de45de8665fb86ce6c84ee Author: Janne Grunau <[email protected]> Date: Fri Sep 19 12:30:57 2014 +0200 simd: rename the region flags from SSE to SIMD SSE is not the only supported SIMD instruction set. Keep the old names for backward compatibility. commit 2a2f1e306f1759e5e52771a643a3a2df54552069 Author: Janne Grunau <[email protected]> Date: Wed Sep 24 16:02:19 2014 +0200 check: split unit tests and support paralell execution commit f6828cfbc1bf24d686e6e24ce9822e69f824351d Author: Janne Grunau <[email protected]> Date: Thu Aug 7 00:54:21 2014 +0200 build: fix out of source tree build commit d315d20d569f7da176eb7445b8c21ea055083f06 Author: Janne Grunau <[email protected]> Date: Thu Aug 7 00:52:55 2014 +0200 build: make CFLAGS user setable There is no need to force the non-default CFLAGS on users trying to set them via enviroment variable or on configure command. commit 62d4b81a833477e596c3ec264f83c08901eeea5b Merge: 87d7e8f dfffff2 Author: Kevin Greenan <[email protected]> Date: Fri Oct 3 08:55:35 2014 -0700 Merged in dachary/gf-complete/wip-static-code-analysis (pull request #24) static code analysis fixes commit dfffff27407a78a37ee5b4329bf4d5298e509890 Author: Loic Dachary <[email protected]> Date: Wed Sep 17 10:02:12 2014 +0200 remove dead code in create_gf_from_argv Since there can only be one -m, base cannot be set by -m COMPOSITE and then deallocated on the second -m if it is bugous. The second -m will exit on error at _gf_errno = GF_E_TWOMULT;. Signed-off-by: Loic Dachary <[email protected]> commit 7c06749ab8b162e205ad4bd47d8e910435dfdc71 Author: Loic Dachary <[email protected]> Date: Wed Sep 17 09:26:14 2014 +0200 disable gf_error_check test that requires >> 64 Because >> 64 does not have a defined behavior. Signed-off-by: Loic Dachary <[email protected]> commit 87d7e8fbb08205cb739235cfb5524c85e1d884c2 Merge: c25310f 6f16092 Author: Kevin Greenan <[email protected]> Date: Sat Aug 23 11:14:11 2014 -0700 Merged in beol/gf-complete (pull request #23) On CPU that doesn't support SSE4.2 instructions set, this will fail commit 6f160921dca0e61f90bbc1fe42e9ee1b4b90676e Author: Leo Laksmana <[email protected]> Date: Sat Aug 23 18:08:31 2014 +0800 On CPU that doesn't support SSE4.2 instructions set, this will fail because incorrect header is included. smmintrin.h => SSE4.1 nmmintrin.h => SSE4.2 commit c25310f215bc97a37944339d331b000ba806d505 Author: Adam Disney <[email protected]> Date: Mon Jun 16 13:04:15 2014 -0400 Removed comments marking CARRY_FREE_GK additions. commit f48f2d38afba9f7c56d6d9d1256e193ff1ad7f6b Merge: 5be1fec 5832024 Author: Adam Disney <[email protected]> Date: Mon Jun 16 12:44:45 2014 -0400 Merge remote-tracking branch 'dalgaaf/wip-da-sca-20140513' commit 5be1fecbcb8bc7fc2370185ec9faa36ae367b58a Author: Adam Disney <[email protected]> Date: Mon Jun 16 12:27:19 2014 -0400 Fixed a few minor warnings when running autogen.sh. commit d08de3bdcb80748f884850db4cdb4630148c2398 Merge: 259d91a d631535 Author: Adam Disney <[email protected]> Date: Mon Jun 16 12:24:06 2014 -0400 Merge remote-tracking branch 'jayrde/wip-autoconf-cleanup' Conflicts: .gitignore INSTALL Makefile.in aclocal.m4 config.guess config.sub configure examples/Makefile.in include/config.h.in include/config.h.in~ install-sh ltmain.sh m4/libtool.m4 m4/ltversion.m4 missing src/Makefile.in test/Makefile.in tools/Makefile.in commit 259d91ad43aefc30ee8a5a01c200897358371401 Author: Kevin Greenan <[email protected]> Date: Mon Jun 9 12:36:05 2014 -0700 autoreconf'd to reflect addition of --disable-sse commit a11dc931ffed995c9635b058424fb21a0eea5994 Author: Kevin Greenan <[email protected]> Date: Mon Jun 9 11:21:01 2014 -0700 Adding option to disable SSE in autoconf script commit 9311b4fc107da2f2e9a2624520cfe2ffd216af53 Author: Kevin Greenan <[email protected]> Date: Mon Jun 9 08:34:50 2014 -0700 Removed PDF from the repo and added a note in the README that describes how to get the manual. commit 6bb1ebb9f4579d8faafb6124da33178da217a133 Author: Adam Disney <[email protected]> Date: Fri Jun 6 13:09:04 2014 -0400 Implemented CARRY_FREE_GK. Sections added are tagged with a comment //ADAM for easy navigation. commit 5832024d68c229934fd603ceac1ddb5f675d1509 Author: Danny Al-Gaaf <[email protected]> Date: Wed May 14 16:15:52 2014 +0200 gf_w32.c: remove dead assignment with no effect Signed-off-by: Danny Al-Gaaf <[email protected]> commit 40b9f8f9687539624df1b55c6a03c0d324c5c01f Author: Danny Al-Gaaf <[email protected]> Date: Wed May 14 16:12:59 2014 +0200 gf_time.c: remove dead assignment to 'elapsed' Signed-off-by: Danny Al-Gaaf <[email protected]> commit 83f1eee1c2cda2bdbafde7568d1fd0d843533c56 Author: Danny Al-Gaaf <[email protected]> Date: Wed May 14 16:10:49 2014 +0200 gf_w32.c: fix/remove some dead assignments Signed-off-by: Danny Al-Gaaf <[email protected]> commit bfa6671fa99fb0fcba30fc86fbf30827d42c8a58 Author: Danny Al-Gaaf <[email protected]> Date: Wed May 14 16:09:55 2014 +0200 gf_w16.c: fix/remove some dead assignments Signed-off-by: Danny Al-Gaaf <[email protected]> commit eb3bb91d84864469ec32bc4ad25ce32420f15f7f Author: Danny Al-Gaaf <[email protected]> Date: Wed May 14 16:00:05 2014 +0200 gf_w128.c: remove some dead assignments Signed-off-by: Danny Al-Gaaf <[email protected]> commit 925802a06a6ebc2fe9a1d770356c5ab5fbdd6615 Author: Danny Al-Gaaf <[email protected]> Date: Wed May 14 15:44:06 2014 +0200 gf_w8.c: fix dead assignment report from scan-build Fix dead assignment in case of INTEL_SSSE3 defined. Signed-off-by: Danny Al-Gaaf <[email protected]> commit c0dd8e0fe2e75ef4aaa5576f1cc7a57a447cc7b7 Author: Danny Al-Gaaf <[email protected]> Date: Wed May 14 10:49:20 2014 +0200 gf_w64.c: remove dead assignments and unused variable 'm2' The 'm2' variable in gf_w64_clm_multiply_region_from_single_2() isn't used except for calculations on 'm2' which are not used later in the code. Signed-off-by: Danny Al-Gaaf <[email protected]> commit 277819a972f6f95b0a590c5162897543fecf9680 Author: Danny Al-Gaaf <[email protected]> Date: Wed May 14 10:46:05 2014 +0200 gf_w64.c: remove dead assigments in gf_w64_shift_multiply() These assigments are never used and directly overwritten later in the function. Signed-off-by: Danny Al-Gaaf <[email protected]> commit 3e242830b089e74e9bc35a0960757ea2b53d4a21 Author: Danny Al-Gaaf <[email protected]> Date: Wed May 14 09:55:57 2014 +0200 tools/gf_poly.c: fix undefined allocation of 0 bytes Due to man page of malloc the behaviour in case of allocation size of 0 bytes is undefined: "If size was equal to 0, either NULL or a pointer suitable to be passed to free() is returned" Fix for clang scan-build report: Unix API Undefined allocation of 0 bytes (CERT MEM04-C; CWE-131) 210 poly = (gf_general_t *) malloc(sizeof(gf_general_t)*(n+1)); 9 Call to 'malloc' has an allocation size of 0 bytes Signed-off-by: Danny Al-Gaaf <[email protected]> commit f6936562b27f5716fa82c4d29767932319d211c0 Author: Danny Al-Gaaf <[email protected]> Date: Tue May 13 19:29:32 2014 +0200 gf_w32.c: fix dereference of undefined pointer value Check for array boundaries of 't' in while loop header. Signed-off-by: Danny Al-Gaaf <[email protected]> commit cb87c41f282dccc1b3649e3ea3fb80d19f820310 Author: Danny Al-Gaaf <[email protected]> Date: Tue May 13 19:24:47 2014 +0200 test/gf_unit.c: free memory after usage Signed-off-by: Danny Al-Gaaf <[email protected]> commit 33492be5db5d801d8fab5d0e01fc2c372c6ec9f6 Author: Danny Al-Gaaf <[email protected]> Date: Tue May 13 19:06:13 2014 +0200 gf_inline_time.c: fix memory leak Free all with malloc allocated memory before exit. Change if checks against 'w' to be a if-else check to prevent checking after already matched. Signed-off-by: Danny Al-Gaaf <[email protected]> commit 9d53ea590b243170900d82111f6f04d75977e1cb Merge: 1559c2b df2c84d Author: Kevin Greenan <[email protected]> Date: Sun Apr 27 09:24:00 2014 -0700 Merged in dalgaaf/gf-complete/wip-da-coverity-rebased (pull request #21) Fixes for some issues found via Coverity in the Ceph project. commit df2c84d2322976b411fd6b1d60471fc3a0b8e74c Author: Danny Al-Gaaf <[email protected]> Date: Wed Mar 19 23:51:26 2014 +0100 gf_w4.c: remove some dead code Fix for coverity issue from Ceph project: CID 1193093 (#1 of 1): Structurally dead code (UNREACHABLE) unreachable: This code cannot be reached: "return gf_w4_double_table_i...". Signed-off-by: Danny Al-Gaaf <[email protected]> commit 0c04d6e3db792dbd979507e35d5df89f107e43be Author: Danny Al-Gaaf <[email protected]> Date: Wed Mar 19 23:45:28 2014 +0100 gf.c: fix pointless expression Remove identical expression, reorganize code in gf_error_check() to be identical handled trough all checks. Removed (raltmap && arg1 != 4) check - this is dead code (arg1 is always 4 in this code path). Fix for coverity issue from Ceph project: CID 1193071 (#1 of 1): Same on both sides (CONSTANT_EXPRESSION_RESULT) pointless_expression: The expression (arg1 == 4 && arg2 == 32) || (arg1 == 4 && arg2 == 32) does not accomplish anything because it evaluates to either of its identical operands, arg1 == 4 && arg2 == 32. Did you intend the operands to be different? Signed-off-by: Danny Al-Gaaf <[email protected]> commit 13f0e8888f9ae3bcd78a57514f9a9235a903492b Author: Danny Al-Gaaf <[email protected]> Date: Wed Mar 19 23:25:59 2014 +0100 fix comment/message on GF_E_SP128_A/GF_E_SP128_S Swap comments/messages on GF_E_SP128_A/GF_E_SP128_S. Signed-off-by: Danny Al-Gaaf <[email protected]> commit fa5ec8112b66471559a4e983085703401e2fd866 Author: Danny Al-Gaaf <[email protected]> Date: Wed Mar 19 22:57:27 2014 +0100 gf_w8.c: add missing breaks Since there is no comment indicating fallthrough on purpose added a break in switch value 5 and 6. Fix for coverity issue from Ceph project: CID 1193084 (#1 of 1): Missing break in switch (MISSING_BREAK) unterminated_case: This case (value 5) is not terminated by a 'break' statement. Signed-off-by: Danny Al-Gaaf <[email protected]> commit 3b6364e5f20e0a5a6e3aa8dd143e5fdd8fc867ad Author: Danny Al-Gaaf <[email protected]> Date: Wed Mar 19 22:47:14 2014 +0100 gf_w4.c: add missing breaks Since there is no comment indicating fallthrough on purpose added a break in switch value 5 and 6. Fix for coverity issue from Ceph project: CID 1193082 (#1 of 1): Missing break in switch (MISSING_BREAK) unterminated_case: This case (value 5) is not terminated by a 'break' statement. CID 1193083 (#1 of 1): Missing break in switch (MISSING_BREAK) unterminated_case: This case (value 6) is not terminated by a 'break' statement. Signed-off-by: Danny Al-Gaaf <[email protected]> commit 86b994df05ce792b792411b813f1c11f077ddb52 Author: Danny Al-Gaaf <[email protected]> Date: Wed Mar 19 22:32:35 2014 +0100 gf_w32.c: add missing breaks Since there is no comment indicating fallthrough on purpose added a break in switch value 3 and 5/before default. Fix for coverity issue from Ceph project: CID 1193080 (#1 of 1): Missing break in switch (MISSING_BREAK) unterminated_case: This case (value 3) is not terminated by a 'break' statement. CID 1193081 (#1 of 1): Missing break in switch (MISSING_BREAK) unterminated_case: This case (value 5) is not terminated by a 'break' statement. Signed-off-by: Danny Al-Gaaf <[email protected]> commit e958b0437dd91b66457522b414091ea06deb5677 Author: Danny Al-Gaaf <[email protected]> Date: Wed Mar 19 22:26:30 2014 +0100 gf_w16.c: add missing break Since there is no comment indicating fallthrough on purpose added a break in switch value 5/before default. Fix for coverity issue from Ceph project: CID 1193079 (#1 of 1): Missing break in switch (MISSING_BREAK) unterminated_case: This case (value 5) is not terminated by a 'break' statement. Signed-off-by: Danny Al-Gaaf <[email protected]> commit 173f82442dbaf85ba99ecb0ac64d76170ba866e5 Author: Danny Al-Gaaf <[email protected]> Date: Wed Mar 19 18:30:16 2014 +0100 gf_general.c: fix pointless expression Instead of checking w128[0] twice check for w128[0] and w128[1]. Fix for coverity issue from Ceph project: CID 1193072 (#1 of 1): Same on both sides (CONSTANT_EXPRESSION_RESULT) pointless_expression: The expression v1->w128[0] == v2->w128[0] && v1->w128[0] == v2->w128[0] does not accomplish anything because it evaluates to either of its identical operands, v1->w128[0] == v2->w128[0]. Did you intend the operands to be different? Signed-off-by: Danny Al-Gaaf <[email protected]> commit 1559c2b51575c6ddd0005232e899ba1af4340610 Merge: e26cd5a a0ae760 Author: Kevin Greenan <[email protected]> Date: Thu Apr 10 19:01:49 2014 -0700 Merged in dachary/gf-complete/wip-uint-8 (pull request #19) prefer uint8_t to char in pointer arithmetic commit e26cd5aa3788631238acb7c70830ce63efd70f59 Merge: 8a96cbb b5ac258 Author: Kevin Greenan <[email protected]> Date: Thu Apr 10 10:46:20 2014 -0700 Merged in dachary/gf-complete/wip-hard-coded-note (pull request #18) TODO reminder for KMG/JSP about hardcoded constant commit a0ae760ed39c54e9ed63dae1e65dfb31dff44260 Author: Loic Dachary <[email protected]> Date: Thu Apr 10 17:21:38 2014 +0200 prefer uint8_t to char in pointer arithmetic Signed-off-by: Loic Dachary <[email protected]> commit 564f019f49285c5befa471366025f42a3e59d552 Author: Loic Dachary <[email protected]> Date: Thu Apr 10 17:20:42 2014 +0200 Show pointer arithmetic warnings by default So that a void* being used in pointer arithmetic does not go unnoticed. Signed-off-by: Loic Dachary <[email protected]> commit b5ac2580c29f5cc021003c094ee981eeea0b9008 Author: Loic Dachary <[email protected]> Date: Thu Apr 10 16:59:38 2014 +0200 TODO reminder for KMG/JSP about hardcoded constant Signed-off-by: Loic Dachary <[email protected]> commit 8a96cbb37113a851ec63b65a396520a1113529f1 Author: Kevin Greenan <[email protected]> Date: Wed Apr 2 10:35:21 2014 -0700 Ran autogen to pick-up the changes needed to run 'make check' commit 31baa175198de1a0a3d9f8829e39a87cba373624 Merge: 4c84a3b c18b97c Author: Kevin Greenan <[email protected]> Date: Wed Apr 2 10:21:40 2014 -0700 Merged in dachary/gf-complete/wip-make-check (pull request #11) add make check target and basic tests commit c18b97cd0295849189d877b042701b2ef51d21f8 Author: Loic Dachary <[email protected]> Date: Sat Mar 29 11:51:27 2014 +0100 add make check target and basic tests To conveniently run tests as $ make check ============================================================================ Testsuite summary for gf-complete 1.0 ============================================================================ # TOTAL: 1 # PASS: 1 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ The run-tests.sh script loops over gf_methods and is introduced because autotools does not allow tests to have parameters in the Makefile.am Signed-off-by: Loic Dachary <[email protected]> commit 4c84a3b6507e9d1a13b1b7e00c3227829fbeaff2 Merge: 37d6a1b ce61fb0 Author: Kevin Greenan <[email protected]> Date: Mon Mar 31 08:53:14 2014 -0700 Merged in dachary/gf-complete/wip-compilation-warnings (pull request #12) fix void* arithmetic compilation warning commit 37d6a1b21784f0e7c48fcd6edeaf3875aba6587e Merge: 1aef638 d569220 Author: Kevin Greenan <[email protected]> Date: Mon Mar 31 08:42:20 2014 -0700 Merged in dachary/gf-complete/wip-sse4 (pull request #13) do not compile if used in SSE4 code path only commit 1aef6384e7ce82d7ac02551fcca5d7bf28cc3242 Merge: c61ad61 47a2598 Author: Kevin Greenan <[email protected]> Date: Mon Mar 31 08:04:23 2014 -0700 Merged in dachary/gf-complete/wip-gitignore (pull request #10) .gitignore: ignore autotools stuff commit d569220629d476d687859968fc4bee3194eca16f Author: Loic Dachary <[email protected]> Date: Sun Mar 30 00:06:48 2014 +0100 do not compile if used in SSE4 code path only Acknowledge that gf_w128_split_4_128_multiply_region and gf_w128_split_4_128_sse_multiply_region are only used when the INTEL_SSE4 flag is present, even though they only need INTEL_SSSE3 It suppresses a compilation warning complaining about them not being used if INTEL_SSE4 is absent and INTEL_SSSE3 is present. Signed-off-by: Loic Dachary <[email protected]> commit ce61fb053da692477877dc2370c637efb4df43ff Author: Loic Dachary <[email protected]> Date: Sat Mar 29 23:51:34 2014 +0100 fix void* arithmetic compilation warning Signed-off-by: Loic Dachary <[email protected]> commit 47a25981c1a3c81f6baf9dd811ec3ac0dc122727 Author: Sage Weil <[email protected]> Date: Thu Mar 27 11:40:06 2014 -0700 .gitignore: ignore autotools stuff Signed-off-by: Sage Weil <[email protected]> (cherry picked from commit c70286782425b1f792313e4fd1ce1773c72dcd76) commit c61ad61b439188fa9ec7cf8747fe3bd47f7ef17f Merge: 3127a3c 87ed689 Author: Kevin Greenan <[email protected]> Date: Fri Mar 28 09:09:43 2014 -0700 Merged in dachary/gf-complete/wip-gitignore (pull request #6) create a .gitignore commit 3127a3cc9793051df630b3ce67b6628eea1078f9 Merge: f8ff1e2 20a242d Author: Kevin Greenan <[email protected]> Date: Fri Mar 28 08:26:19 2014 -0700 Merged in dachary/gf-complete/wip-compilation-warnings (pull request #3) fix compilation warnings commit 20a242d9ddbb1d27988b93ce3ce5d24ee10deb15 Author: Loic Dachary <[email protected]> Date: Thu Mar 6 15:18:42 2014 +0100 remove unused static function gf_w128_group_r_sse_init Signed-off-by: Loic Dachary <[email protected]> commit 87ed6898ad41a08a591e1ba37d69e11f7537fdbd Author: Loic Dachary <[email protected]> Date: Tue Mar 18 18:53:32 2014 +0100 create a .gitignore Signed-off-by: Loic Dachary <[email protected]> commit d631535472d3b2335c764831cda4b1bec26da1ba Author: Jens Rosenboom <[email protected]> Date: Tue Mar 18 22:37:31 2014 +0100 ignore more library files and eecutables commit 034c73cdf5dc937fff3c83bbf1c1731e78c8e3d2 Author: Jens Rosenboom <[email protected]> Date: Tue Mar 18 22:31:14 2014 +0100 fixup AM_INIT_AUTOMAKE call commit 343c23a920244cc8c410db2d030c783060ff2be7 Author: Jens Rosenboom <[email protected]> Date: Tue Mar 18 22:24:37 2014 +0100 add autogen.sh call to README commit 0914fdf84d447d0286fe0f60ea4dd89075a2cf4b Author: Jens Rosenboom <[email protected]> Date: Tue Mar 18 22:24:10 2014 +0100 cleanup unused flag leftover from commit fb0bbdcf commit 8690e8594952b1d022a302840a2dd41d67098046 Merge: 3b9a588 d66837d Author: Jens Rosenboom <[email protected]> Date: Tue Mar 18 22:15:21 2014 +0100 Merge branch 'wip-autoconf-cleanup' of https://bitbucket.org/jayrde/gf-complete into wip-autoconf-cleanup commit 3b9a5880e600aa71e53b64e5b6290cc5e6b18f99 Author: Jens Rosenboom <[email protected]> Date: Tue Mar 18 22:01:17 2014 +0100 remove obsolete files commit d66837d5212886552d30f4911271a94a86f8f184 Author: Jens Rosenboom <[email protected]> Date: Tue Mar 18 21:00:06 2014 +0000 Created new branch wip-autoconf-cleanup commit 756cd5c331f623fd5f07d2032ad89e6ffc8dd37e Author: Jens Rosenboom <[email protected]> Date: Tue Mar 18 21:55:20 2014 +0100 add more autogenerated files to be ignored commit 2758e242fe5a397e7716d1d9b351b31f09650428 Author: Jens Rosenboom <[email protected]> Date: Tue Mar 18 21:53:24 2014 +0100 remove autogenerated files from repository commit 9b5f56ed1810574fec3ff868488bca86a9b50606 Author: Jens Rosenboom <[email protected]> Date: Tue Mar 18 21:53:01 2014 +0100 add .gitignore commit cfcc1881ea715f90a959fa27e98edb10cdf92c54 Author: Loic Dachary <[email protected]> Date: Thu Mar 6 15:01:55 2014 +0100 remove unused argument from SSE_AB2 Signed-off-by: Loic Dachary <[email protected]> commit 5c5b312a767afae3ae47774d0fbd98701c14794e Author: Loic Dachary <[email protected]> Date: Thu Mar 6 15:00:10 2014 +0100 main() returns int Signed-off-by: Loic Dachary <[email protected]> commit 191b86b5d25a42e747e1bd7733de6c532c9df45c Author: Loic Dachary <[email protected]> Date: Thu Mar 6 15:11:24 2014 +0100 remove unused variables from #if SSE blocs Signed-off-by: Loic Dachary <[email protected]> commit 59cb51046bf9a6b24e9abd622ea33fbaf7bb80e7 Author: Loic Dachary <[email protected]> Date: Thu Mar 6 14:50:44 2014 +0100 remove spurious i < in for loop Signed-off-by: Loic Dachary <[email protected]> commit cc45e190265171dca5b7a8317906a7ddd730b082 Author: Loic Dachary <[email protected]> Date: Thu Mar 6 17:48:12 2014 +0100 do not use gf_internal_t when it is null Signed-off-by: Loic Dachary <[email protected]> commit 3c4a451b509cfc3d51f9906326a66ac3e95de9d4 Author: Loic Dachary <[email protected]> Date: Thu Mar 6 14:48:34 2014 +0100 silence some warnings for unset variables By setting them when they are defined and when the compiler fails to see the logic is ok. Signed-off-by: Loic Dachary <[email protected]> commit d8863ceff7c4e462c997cbdd8f5b53ea165df3fe Author: Loic Dachary <[email protected]> Date: Thu Mar 6 13:22:30 2014 +0100 remove duplicate headers from src Signed-off-by: Loic Dachary <[email protected]> commit 29899ad4439aca07ccd2efe2a8b7086efdec72b0 Author: Loic Dachary <[email protected]> Date: Thu Mar 6 17:32:30 2014 +0100 move #if to avoid unused warning Signed-off-by: Loic Dachary <[email protected]> commit 0020ff80920c6fc84ab454568e71ba78448a0809 Author: Loic Dachary <[email protected]> Date: Thu Mar 6 01:04:58 2014 +0100 initialize pointer early in the function otherwise it may be used uninitialized Signed-off-by: Loic Dachary <[email protected]> commit d36bd6e54090c2a2d8971349f6998d499beeb133 Author: Loic Dachary <[email protected]> Date: Thu Mar 6 01:04:12 2014 +0100 cast void* to char* for pointer arithmetic Signed-off-by: Loic Dachary <[email protected]> commit f043479e3c9d3f7296d49c0d5d9547ec3e73631f Author: Loic Dachary <[email protected]> Date: Thu Mar 6 00:58:10 2014 +0100 remove unused variables In some places move variables in the scope of the CPP define where they are used. Signed-off-by: Loic Dachary <[email protected]> commit 4bf474daf7e30b8e4b110d8edf43506e3b76b345 Author: Loic Dachary <[email protected]> Date: Thu Mar 6 14:16:53 2014 +0100 increase compilation warning level to -Wall and remove unused CXXFLAGS Signed-off-by: Loic Dachary <[email protected]> commit f8ff1e2f64fc88bf74861a0ceec44d130ff1902c Author: Jim Plank <[email protected]> Date: Wed Jan 29 16:37:12 2014 -0500 Formatting commit 9ee4bbdff51fb7e9bff4ac285b9a04b7aafb3ca3 Author: Jim Plank <[email protected]> Date: Wed Jan 29 16:06:38 2014 -0500 Formatting commit c374b37b9c21515282ce339a6b7394452caddd70 Author: Jim Plank <[email protected]> Date: Wed Jan 29 16:05:14 2014 -0500 Updated manual and readme. commit 814240e336a6a7ff07111869299aaa5baf2b775c Author: Jim Plank <[email protected]> Date: Sat Jan 25 10:33:23 2014 -0500 Changed %d to %u in gf_general.c commit dcf65692b0fd4af0bc4f51cd88d96eb11e0146a3 Author: Kevin Greenan <[email protected]> Date: Tue Jan 7 08:36:44 2014 -0800 Updated autoconf to put BSD license in COPYING. commit 02bc991f68fb12f3e9af455a98de58f1f5664540 Author: Kevin Greenan <[email protected]> Date: Thu Jan 2 10:01:31 2014 -0800 Added more header files to the distribution, which will allow clients of the lib to take advantage of even more stuff. commit ee0e03bda83e87e5f052ec8e03b1440ce9a177a0 Author: Jim Plank <[email protected]> Date: Wed Jan 1 12:04:37 2014 -0500 Revision 1.02 is done. Manual updated. commit f0c32c94bcc2cc5037cb714c75f8ec0ad2e1e2ef Author: Jim Plank <[email protected]> Date: Wed Jan 1 11:00:40 2014 -0500 Removed GROUP/128/SSE. It wasn't compiling, and it needed an overhaul. I'll do it someday when I'm bored. commit fb0bbdcf62a8cc82268207285a2f94808672dfdb Author: Jim Plank <[email protected]> Date: Tue Dec 31 20:08:18 2013 -0500 Fixed the problem with PCLMUL and gf_complete.h. Removed ARCH_64 from everything but 128/GROUP/SSE. Fortunately, no one ever uses that. commit 8900c0e635bc809f2667647eb71156b0732112d3 Author: Kevin Greenan <[email protected]> Date: Mon Dec 30 22:12:43 2013 -0800 Make INTEL_SSE4_PCLMUL flag consistent (was INTEL_PCLMUL in gf.c) commit 5687b9c2ccdf55449fb5a727a10a0232bd649c28 Author: Kevin Greenan <[email protected]> Date: Mon Dec 30 22:50:04 2013 -0800 Third.1 time's a charm (autoconf non-sense for PCLMUL). commit 137b7ccd758dc06cea8bd54f68be23e5ef85a002 Author: Kevin Greenan <[email protected]> Date: Mon Dec 30 22:40:18 2013 -0800 Revert "Third time's a charm (autoconf non-sense for PCLMUL)." The commit was not successfully pushed (not sure what happened). This reverts commit 762926920aa6b0067443e7c085bddf22d03a1d04. commit 762926920aa6b0067443e7c085bddf22d03a1d04 Author: Kevin Greenan <[email protected]> Date: Mon Dec 30 21:26:47 2013 -0800 Third time's a charm (autoconf non-sense for PCLMUL). commit a98f6c1115aa94b4834a17dcd48f230c63503fde Author: Kevin Greenan <[email protected]> Date: Mon Dec 30 16:31:54 2013 -0800 Added entry to configure.ac to avoid running autotools during normal build. commit a97563f0e4960a145b2c981b5b09627e3c66a2ad Author: Kevin Greenan <[email protected]> Date: Mon Dec 30 14:14:08 2013 -0800 Added PCLMUL to the autoconf macro... commit 393fa02fd98b0a881b478c3157c436dd61071864 Author: Jim Plank <[email protected]> Date: Mon Dec 30 15:55:37 2013 -0500 Some wordsmithing. commit 2c583ca7118a49f15f9fa38dde24248fca4a83ae Author: Jim Plank <[email protected]> Date: Mon Dec 30 13:42:50 2013 -0500 Version numbering, and pointing only to bitbucket. commit 52376d9cc63fda140e3266cd7f08876dd2556d7d Author: Jim Plank <[email protected]> Date: Sun Dec 29 17:01:42 2013 -0500 Copmiler errors with %llx. commit 88bb18c651e48c527de540564471dff34fdc0d9c Author: Jim Plank <[email protected]> Date: Sun Dec 29 16:51:37 2013 -0500 Added time_tool.sh to tools for quick timing. Modified gf_methods to be a little more flexible. commit 8eec6d46764dde8f11090d6bb0ff9111d535c793 Merge: bc2f7c1 ef18bcc Author: James Plank <[email protected]> Date: Sat Dec 28 14:29:06 2013 -0500 Merged in kmgreen2/gf-complete-testautoconf (pull request #2) Autoconf commit ef18bccc3a063790e29c6cb33f37974b5f1c1ae4 Author: Kevin Greenan <[email protected]> Date: Tue Dec 10 09:00:32 2013 -0800 Group for w=128 was failing because SSE4 is enabled, but not ARCH_64 (on my Linux VM). Ensure that both are defined when init'ing group for w=128. commit e1c76b4dd48a3ab323e20e94ebe984d7ded7c183 Author: Kevin Greenan <[email protected]> Date: Sat Dec 7 16:00:12 2013 -0800 Added exhaustive test support (Ethan's changes to gf_unit and gf_methods) and overrode autoconf's defaults for CFLAGS. commit 87bb2604175e7471e05394782d2edb6fd05b4fa5 Author: Kevin Greenan <[email protected]> Date: Thu Dec 5 08:35:18 2013 -0800 Adding flag for SSSE3. Must have missed it when I updated the ax_ext() macro. commit 639c106d23ea155c3498aaade127b3583a94cc6c Author: Kevin Greenan <[email protected]> Date: Wed Dec 4 21:54:26 2013 -0800 Build failed... It was because the some headers were in the wrong place. It was working for me because the headers were installed in /usr/local/include on my Linux box. commit e0d7928749d0896be595d8d81dfe97cb75043123 Author: Kevin Greenan <[email protected]> Date: Wed Dec 4 21:27:29 2013 -0800 Copy README.txt to README commit 153dd20988bf9e91f10f8c5564f2c4d6a2fc50cd Author: Kevin Greenan <[email protected]> Date: Tue Nov 26 07:09:36 2013 -0800 Setting up autoconf/automake for GF-Complete Also re-organized the directory structure. Signed-off-by: Kevin Greenan <[email protected]> commit bc2f7c1c3685cd086d82f48215f4a0ccdf716072 Author: Jim Plank <[email protected]> Date: Tue Nov 12 13:06:53 2013 -0500 Revision 1.01. commit 07b0399e0ccaee74953dff3477c9b2fb1389a4e6 Author: Jim Plank <[email protected]> Date: Tue Nov 12 12:59:36 2013 -0500 Lazy table bug. Thanks, Kevin. commit 7bb3797a5075ebbab3ab291986f1e8e4419b0aa7 Author: Jim Plank <[email protected]> Date: Fri Nov 8 23:21:22 2013 -0500 Added SPLIT SSE STDMAP for w=128 commit 10b7d7653238451f3d450350033f90d960932fb1 Author: Jim Plank <[email protected]> Date: Wed Oct 9 11:35:06 2013 -0400 Added headers to the include files, and gf_size() to the documentation. commit b0e2ae07abefbc7f5d3c7b19e165fe275b1eafcc Author: Jim Plank <[email protected]> Date: Wed Oct 9 11:00:24 2013 -0400 Put headers on the C files. commit 110523d6f311d7ee81835566b5594e6feb2ce9dd Author: Jim Plank <[email protected]> Date: Wed Oct 9 10:36:37 2013 -0400 GF-Complete Release 1.0. Please see the user's manual for details. commit 79a46d18b687f3e470a35becb21a68bab41d53f5 Author: Ethan L. Miller <[email protected]> Date: Thu Sep 19 15:57:07 2013 -0700 Optimized version of GF(2^64) multiply using Intel SIMD carry-free multiply. commit b36cada55702be4c8c3411c6afb20c31c3693466 Author: Jim Plank <[email protected]> Date: Tue Apr 9 16:29:46 2013 -0400 Man, that was an idiotic bug in division for w=16. I had d_antilog pointing to the log table rather than the antilog table. Not unrelatedly, the unit tester is now testing division. commit a351a6501b1bdc429ce975d514ccb91e2c7be019 Author: Jim Plank <[email protected]> Date: Mon Apr 8 11:38:56 2013 -0400 Fixed bug with logtable division. commit 345a4de1713f9ea4301552f442b9479b4862b6ab Author: Jim Plank <[email protected]> Date: Mon Apr 1 16:26:10 2013 -0400 See the last commit. I forgot to do commit -a. commit 5c214745b6a095d57b9d83c831091a0e68558ef0 Author: Jim Plank <[email protected]> Date: Mon Apr 1 16:24:25 2013 -0400 Added inline functions for w=4, 8 and 16. Plus gf_inline_time.c to time the inline functions. I see that gf_unit at present is not testing division -- that's a problem which we need to fix. Multiplication for w=4 & 8 is a little less than 2x faster when inlined. w=16 is quite a bit slower. If I had the patience, I'd test logzero inlined, but I don't really have the patience at present. commit d05a931f046f3700f64f9c389c8796bededb7562 Author: Jim Plank <[email protected]> Date: Fri Mar 8 16:31:42 2013 -0500 Added LOG_ZERO_EXT and modified LOG_ZERO. The new LOG_ZERO doesn't have an entry for two times the sentinel, because it's only needed for single multiplication. I haven't fixed w=16 yet with this. Monday maybe? Timings on our lab machines show no big difference. We'd only expect a difference in single multiplies, and it's in the noise really. UNIX> gf_time 8 MDG 0 10240 10240 LOG - - Seed: 0 Multiply: 0.231191 s Mops: 100.000 432.542 Mega-ops/s Divide: 0.229992 s Mops: 100.000 434.797 Mega-ops/s Region-Random: XOR: 0 0.095446 s MB: 100.000 1047.712 MB/s Region-Random: XOR: 1 0.115485 s MB: 100.000 865.914 MB/s UNIX> gf_time 8 MDG 0 10240 10240 LOG_ZERO - - Seed: 0 Multiply: 0.228568 s Mops: 100.000 437.506 Mega-ops/s Divide: 0.227718 s Mops: 100.000 439.140 Mega-ops/s Region-Random: XOR: 0 0.085062 s MB: 100.000 1175.613 MB/s Region-Random: XOR: 1 0.095891 s MB: 100.000 1042.846 MB/s UNIX> gf_time 8 MDG 0 10240 10240 LOG_ZERO_EXT - - Seed: 0 Multiply: 0.228960 s Mops: 100.000 436.758 Mega-ops/s Divide: 0.227758 s Mops: 100.000 439.063 Mega-ops/s Region-Random: XOR: 0 0.085180 s MB: 100.000 1173.981 MB/s Region-Random: XOR: 1 0.095931 s MB: 100.000 1042.421 MB/s UNIX> commit 47896e9ddcd26da694d6775bf7fcadc7feebf385 Author: Jim Plank <[email protected]> Date: Mon Mar 4 17:06:43 2013 -0500 Killing all of these junk files. They should not be in the repository. commit 4d5f453827d1d100d83d003d807edd52672c943e Author: Jim Plank <[email protected]> Date: Mon Mar 4 17:05:18 2013 -0500 Killing junk.txt commit b2d6666ed75a0c7a54bfdd2e9aed8a83396d55f5 Author: Jim Plank <[email protected]> Date: Mon Mar 4 17:02:24 2013 -0500 Added clm region multiplication for w=64. I should make this the default, but I haven't yet. Speed is nice and fast, but not as fast ast SPLIT 64 4 SSE,ALTMAP: UNIX> gf_time 64 R 0 10240 10240 - Seed: 0 Region-Random: XOR: 0 0.661736 s MB: 100.000 151.118 MB/s Region-Random: XOR: 1 0.659374 s MB: 100.000 151.659 MB/s Region-By-Zero: XOR: 0 0.002128 s MB: 100.000 46989.738 MB/s Region-By-Zero: XOR: 1 0.000248 s MB: 100.000 402911.047 MB/s Region-By-One: XOR: 0 0.002168 s MB: 100.000 46131.808 MB/s Region-By-One: XOR: 1 0.003946 s MB: 100.000 25344.758 MB/s Region-By-Two: XOR: 0 0.377993 s MB: 100.000 264.555 MB/s Region-By-Two: XOR: 1 0.382269 s MB: 100.000 261.596 MB/s UNIX> gf_time 64 R 0 10240 10240 SPLIT 64 4 SSE,ALTMAP - Seed: 0 Region-Random: XOR: 0 0.050045 s MB: 100.000 1998.211 MB/s Region-Random: XOR: 1 0.049198 s MB: 100.000 2032.597 MB/s Region-By-Zero: XOR: 0 0.002100 s MB: 100.000 47619.255 MB/s Region-By-Zero: XOR: 1 0.000260 s MB: 100.000 384445.830 MB/s Region-By-One: XOR: 0 0.002139 s MB: 100.000 46743.609 MB/s Region-By-One: XOR: 1 0.003928 s MB: 100.000 25457.053 MB/s Region-By-Two: XOR: 0 0.048678 s MB: 100.000 2054.330 MB/s Region-By-Two: XOR: 1 0.048800 s MB: 100.000 2049.161 MB/s UNIX> gf_time 64 R 0 10240 10240 SHIFT SSE - Seed: 0 Region-Random: XOR: 0 0.108492 s MB: 100.000 921.724 MB/s Region-Random: XOR: 1 0.110783 s MB: 100.000 902.663 MB/s Region-By-Zero: XOR: 0 0.002077 s MB: 100.000 48155.040 MB/s Region-By-Zero: XOR: 1 0.000254 s MB: 100.000 393461.914 MB/s Region-By-One: XOR: 0 0.002088 s MB: 100.000 47902.056 MB/s Region-By-One: XOR: 1 0.003885 s MB: 100.000 25739.822 MB/s Region-By-Two: XOR: 0 0.107280 s MB: 100.000 932.142 MB/s Region-By-Two: XOR: 1 0.110782 s MB: 100.000 902.676 MB/s UNIX> commit 5c719db2b9c7c2da63e4d51dfcb2b8b926524d9c Merge: cf6a5df 82a365d Author: Ethan Miller <[email protected]> Date: Mon Mar 4 10:20:44 2013 -0800 Merged in jimplank/gf-complete-unit-bytwo (pull request #1) Unit & w=64 bytwo. Made a few more changes. commit 82a365dae1b1597d5775f23ad344467d1a24c0b4 Author: Jim Plank <[email protected]> Date: Fri Mar 1 17:23:38 2013 -0500 Getting the defaults and flags working with carryless multiply. Regions next! commit ed9bc0f6c4c6ab8de0ab630fde2adc20153d13af Author: Jim Plank <[email protected]> Date: Fri Mar 1 15:42:29 2013 -0500 Unit & w=64 bytwo. commit cf6a5dfa29207fed0c1305d06eaff708e535633a Author: Ethan L. Miller <[email protected]> Date: Fri Feb 15 15:41:46 2013 -0800 Basic 64-bit multiply using intrinsics working. commit 6219bb9867071c9fdba322544c996743f03ac6ef Author: Ethan L. Miller <[email protected]> Date: Fri Feb 15 11:58:45 2013 -0800 Adding support for carry-less multiply. commit e6fd0a544be315a9a17709b938a04239b2101f03 Author: elm <elm@36f187d4-5712-4624-889c-152d48957efa> Date: Fri Feb 15 18:11:22 2013 +0000 Updated the way we track CPU features. Much more stable now. git-svn-id: svn://mamba.eecs.utk.edu/home/plank/svn/Galois-Library@100 36f187d4-5712-4624-889c-152d48957efa commit 327f637b833e53165fe727d5b81266def29395d2 Author: plank <plank@36f187d4-5712-4624-889c-152d48957efa> Date: Wed Feb 13 01:32:10 2013 +0000 Wordsmithing. git-svn-id: svn://mamba.eecs.utk.edu/home/plank/svn/Galois-Library@99 36f187d4-5712-4624-889c-152d48957efa commit 64386c048bd40009b4f3d931f6a7685d0e2c3314 Author: plank <plank@36f187d4-5712-4624-889c-152d48957efa> Date: Wed Feb 13 01:10:11 2013 +0000 Added whats_my_sse.c, so users can test the sse crap themselves. git-svn-id: svn://mamba.eecs.utk.edu/home/plank/svn/Galois-Library@98 36f187d4-5712-4624-889c-152d48957efa commit 61d75c53f1de666d36f5803b813ad48b5ccc7f2a Author: plank <plank@36f187d4-5712-4624-889c-152d48957efa> Date: Sun Feb 10 21:04:32 2013 +0000 Bugs with SSE4. Shit. git-svn-id: svn://mamba.eecs.utk.edu/home/plank/svn/Galois-Library@97 36f187d4-5712-4624-889c-152d48957efa commit 92a5441ea4daa385c5e0239dcb0ac7463116da6a Author: plank <plank@36f187d4-5712-4624-889c-152d48957efa> Date: Sun Feb 10 19:57:20 2013 +0000 This holds the files that should be included as part of the release. git-svn-id: svn://mamba.eecs.utk.edu/home/plank/svn/Galois-Library@96 36f187d4-5712-4624-889c-152d48957efa commit d0f2d55cce42f9a3a16d20c91f6c547acf66f43c Author: plank <plank@36f187d4-5712-4624-889c-152d48957efa> Date: Sun Feb 10 19:56:15 2013 +0000 Putting on the finishing touches. git-svn-id: svn://mamba.eecs.utk.edu/home/plank/svn/Galois-Library@95 36f187d4-5712-4624-889c-152d48957efa commit 4e5e5cd17d4d0f63928ea45f7f8b434b8d114992 Author: plank <plank@36f187d4-5712-4624-889c-152d48957efa> Date: Sat Feb 9 17:45:44 2013 +0000 Making it work with the maunal. …
Trying to compile on an ARM box:
In file included from /root/qfs/src/cc/qcrs/rs_table.h:33:0,
from /root/qfs/src/cc/qcrs/decode.c:32:
/root/qfs/src/cc/qcrs/prim.h: In function ‘mask’:
/root/qfs/src/cc/qcrs/prim.h:41:5: error: incompatible types when returning type ‘int’ but ‘v16’ was expected
/root/qfs/src/cc/qcrs/prim.h: In function ‘mul2’:
/root/qfs/src/cc/qcrs/prim.h:49:8: error: incompatible types when assigning to type ‘v16’ from type ‘int’
Not sure if this has to do with SSE functions?
I think the CMakeLists.txt files might need to be updated to support ARM?
Please advise.
-alex
The text was updated successfully, but these errors were encountered: