All Projects → WojciechMula → Sse4 Strstr

WojciechMula / Sse4 Strstr

Licence: bsd-2-clause
SIMD (SWAR/SSE/SSE4/AVX2/AVX512F/ARM Neon) of Karp-Rabin algorithm's modification

Projects that are alternatives of or similar to Sse4 Strstr

Vc
SIMD Vector Classes for C++
Stars: ✭ 985 (+756.52%)
Mutual labels:  sse, neon, avx2, avx512
Libsimdpp
Portable header-only C++ low level SIMD library
Stars: ✭ 914 (+694.78%)
Mutual labels:  sse, neon, avx2, avx512
Boost.simd
Boost SIMD
Stars: ✭ 238 (+106.96%)
Mutual labels:  sse, neon, avx2, avx512
Simde
Implementations of SIMD instruction sets for systems which don't natively support them.
Stars: ✭ 1,012 (+780%)
Mutual labels:  sse, neon, avx2, avx512
Simd
C++ image processing and machine learning library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM.
Stars: ✭ 1,263 (+998.26%)
Mutual labels:  sse, neon, avx2, avx512
Unisimd Assembler
SIMD macro assembler unified for ARM, MIPS, PPC and x86
Stars: ✭ 63 (-45.22%)
Mutual labels:  sse, neon, avx2, avx512
Quadray Engine
Realtime raytracer using SIMD on ARM, MIPS, PPC and x86
Stars: ✭ 13 (-88.7%)
Mutual labels:  sse, neon, avx2, avx512
Base64simd
Base64 coding and decoding with SIMD instructions (SSE/AVX2/AVX512F/AVX512BW/AVX512VBMI/ARM Neon)
Stars: ✭ 115 (+0%)
Mutual labels:  sse, neon, avx2, avx512
Fastnoisesimd
C++ SIMD Noise Library
Stars: ✭ 542 (+371.3%)
Mutual labels:  sse, neon, avx2
ternary-logic
Support for ternary logic in SSE, XOP, AVX2 and x86 programs
Stars: ✭ 21 (-81.74%)
Mutual labels:  sse, avx2, avx512
Umesimd
UME::SIMD A library for explicit simd vectorization.
Stars: ✭ 66 (-42.61%)
Mutual labels:  neon, avx2, avx512
Libxsmm
Library for specialized dense and sparse matrix operations, and deep learning primitives.
Stars: ✭ 518 (+350.43%)
Mutual labels:  sse, avx2, avx512
Toys
Storage for my snippets, toy programs, etc.
Stars: ✭ 187 (+62.61%)
Mutual labels:  sse, avx2, avx512
simd-byte-lookup
SIMDized check which bytes are in a set
Stars: ✭ 23 (-80%)
Mutual labels:  sse, avx2, avx512
Std Simd
std::experimental::simd for GCC [ISO/IEC TS 19570:2018]
Stars: ✭ 275 (+139.13%)
Mutual labels:  sse, neon, avx512
Directxmath
DirectXMath is an all inline SIMD C++ linear algebra library for use in games and graphics apps
Stars: ✭ 859 (+646.96%)
Mutual labels:  sse, neon, avx2
Sse Popcount
SIMD (SSE) population count --- http://0x80.pl/articles/sse-popcount.html
Stars: ✭ 226 (+96.52%)
Mutual labels:  sse, avx2, avx512
Nsimd
Agenium Scale vectorization library for CPUs and GPUs
Stars: ✭ 138 (+20%)
Mutual labels:  neon, avx2, avx512
Libpopcnt
🚀 Fast C/C++ bit population count library
Stars: ✭ 219 (+90.43%)
Mutual labels:  neon, avx2, avx512
Highway
Performance-portable, length-agnostic SIMD with runtime dispatch
Stars: ✭ 301 (+161.74%)
Mutual labels:  neon, avx2, avx512

================================================================================ SIMD-friendly algorithms for substring searching

Sample programs for article "SIMD-friendly algorithms for substring searching" (http://0x80.pl/articles/simd-strfind.html).

The root directory contains C++11 procedures implemented using intrinsics for SSE, SSE4, AVX2, AVX512F, AVX512BW and ARM Neon (both ARMv7 and ARMv8).

The subdirectory original contains 32-bit programs with inline assembly, written in 2008 for another article__.

__ http://0x80.pl/articles/sse4_substring_locate.html

Usage

To run unit and validation tests type make test_ARCH, to run performance tests type make run_ARCH. Value ARCH selectes the CPU architecture:

  • sse4,
  • avx2,
  • avx512f,
  • avx512bw,
  • arm,
  • aarch64.

Performance results

The subdirectory results contains raw timings from various computers.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].