Vector Classes 1.3.3

Vc is a free software library to ease explicit vectorization of C++ code. It has an intuitive API and provides portability between different compilers and compiler versions as well as portability between different vector instruction sets. Thus an application written with Vc can be compiled for: * AVX and AVX2 * SSE2 up to SSE4.2 or SSE4a * Scalar * MIC

Tags c++ library simd vectorization data-parallel
License BSDL
State stable

Recent Releases

1.3.327 Nov 2017 15:57 minor bugfix: * Support for AVX2 gather instructions * Shift optimizations * Preliminary support for compiling to non-x86 targets (uses only the Scalar ABI) * Resolve failing static assertions, moving the relevant tests to unit tests * Fixed is_simd_vector and is_simd_mask traits to consider the ElementType too.
1.515 Oct 2017 21:18 minor feature: Better use of GNU standards. Internationalization. Using pam authentication framework. Removed ssu because it is unsafe. Added wtmp option. Added nb in li.
1.408 Aug 2017 22:15 minor feature: Color display. Added option field Li now admits shortcuts
1.311 Jun 2017 14:56 minor feature: fixed a bug in xc. added services and protocols to li
4.4408 Jun 2017 04:59 minor bugfix: (a) Fixed check of exabyte sized filesystems. The signed check now only checks for -1 and -2; there could still be situations where the overflow exactly matches these values. (b) Added faster method for windows check for missing removable filesystems.
1.3.203 May 2017 12:46 minor bugfix: * Resolve warnings from GCC 6 about ignored attributes. * Support for Kaby Lake detection.
1.3.109 Mar 2017 14:00 minor bugfix: * `swap(v i , v j )` did not compile. Vc 1.3.1 overloads the `swap` function and thus enables swapping scalars into/out of vector and mask objects. * The spline example has moved to the new Vc-examples-nonfree repository since it has a license that restricts redistribution.
1.3.028 Oct 2016 13:31 major bugfix: * 64-bit MS VisualStudio 2015 support. (See #119 for some of the gory details.) * ICC 17 support (#143). * GCC 6 support (#125). * Workarounds for bad ICC code-gen (#135). Now Vc not only works correctly when compiled with ICC, but also performs as good (or better) as GCC and Clang. * Safer and more restrictive subscripting on `Vector` and `Mask`. There is a minor source compatibility break involved, since `Vector::operator ` returned lvalue references before Vc 1.3 and returns a smart reference (rvalue) now. This change reduces the chance of miscompilation internal compiler errors and reduces the reliance on non-standard C++ extensions. * Support for `x32` compilation (like x86_64 but with 32-bit pointers). * Added scatter interface to `SimdArray` (thanks to Kay Jahnke). * `simd_cast` properly works with ADL now (i.e. you don't have to write fully qualified `Vc::simd_cast` anymore). * Added `simd_for_each_n` (thanks to Hartmut Kaiser).
3.019 Jun 2015 12:25 feature: ne is now fully 64-bit, and needs to be compiled by a C99-compliant compiler. Files can be of any size, provided that enough core memory is available. ne is able to read from named pipes. You can even pipe content into ne: it will be opened as the first document. It is now possible to interrupt searches (it used to be possible just to interrupt global replace actions). Word wrap has been reverted to pre-2.5: it preserves just whitespace, and it doesn't reparagraph at each line split or join. Paragraph keeps the usual smart features preserving comments, etc.
2.621 Apr 2015 06:05 major feature: Requesters (filenames, help, autocompletions, etc.) do progressive "fuzzy match" by typed characters, backspace. Document requester (F4) opens with cursor on the current document. Docs with unsaved changes are bold, flagged with "". F2/F3 reorder documents. Tab in Syntax command displays requester of extant syntax recognizers. You can now use AutoComplete in command line prompts. New SaveAll command saves all modified documents. Warns before saving over a file that was modified since the buffer was last loaded or saved. New command to join parens/braces/brackets as character pairs known to MatchBracket. New example macros: aspell, DeleteSOL. Add to special leading characters for re-wrapping Paragraphs. WordWrap no longer waits for the cursor to hit the right margin; it wraps on insertions and deletions now. Updates to ruby, erb, python, conf, many other syntax recognizers. Added these recognizers from the Joe project: ant batch classic_pascal comment_todo csharp debian differences elixir erlang git-commit go haml htmlerb ini iptables js json md powershell pp prolog properties sieve typescript whitespace YAML.