C++ Simd

Open-source C++ projects categorized as Simd
Topics: Neon CPP Sse Avx Avx512

Top 23 C++ Simd Projects

  • ncnn

    ncnn is a high-performance neural network inference framework optimized for the mobile platform

  • Project mention: AMD Funded a Drop-In CUDA Implementation Built on ROCm: It's Open-Source | news.ycombinator.com | 2024-02-12

    ncnn uses Vulkan for GPU acceleration, I've seen it used in a few projects to get AMD hardware support.

    https://github.com/Tencent/ncnn

  • simdjson

    Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks

  • Project mention: Tips on adding JSON output to your command line utility. (2021) | news.ycombinator.com | 2024-04-20

    It's also supported by simdjson [0] (which has a lot of language bindings [1]):

    > Multithreaded processing of gigantic Newline-Delimited JSON (ndjson) and related formats at 3.5 GB/s

    [0] https://simdjson.org/

    [0] https://github.com/simdjson/simdjson?tab=readme-ov-file#bind...

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • GLM

    OpenGL Mathematics (GLM)

  • Project mention: Release of GLM 1.0.0 | news.ycombinator.com | 2024-01-24
  • highway

    Performance-portable, length-agnostic SIMD with runtime dispatch

  • Project mention: Llamafile 0.7 Brings AVX-512 Support: 10x Faster Prompt Eval Times for AMD Zen 4 | news.ycombinator.com | 2024-03-31

    The bf16 dot instruction replaces 6 instructions: https://github.com/google/highway/blob/master/hwy/ops/x86_12...

  • ispc

    Intelยฎ Implicit SPMD Program Compiler

  • Project mention: Implementing a GPU's Programming Model on a CPU | news.ycombinator.com | 2023-10-14

    This so-called GPU programming model has existed many decades before the appearance of the first GPUs, but at that time the compilers were not so good like the CUDA compilers, so the burden for a programmer was greater.

    As another poster has already mentioned, there exists a compiler for CPUs which has been inspired by CUDA and which has been available for many years: ISPC (Implicit SPMD Program Compiler), at https://github.com/ispc/ispc .

    NVIDIA has the very annoying habit of using a lot of terms that are different from those that have been previously used in computer science for decades. The worst is that NVIDIA has not invented new words, but they have frequently reused words that have been widely used with other meanings.

    SIMT (Single-Instruction Multiple Thread) is not the worst term coined by NVIDIA, but there was no need for yet another acronym. For instance they could have used SPMD (Single Program, Multiple Data Stream), which dates from 1988, two decades before CUDA.

    Moreover, SIMT is the same thing that was called "array of processes" by C.A.R. Hoare in August 1978 (in "Communicating Sequential Processes"), or "replicated parallel" by Occam in 1985 or "PARALLEL DO" by "OpenMP Fortran" in 1997-10 or "parallel for" by "OpenMP C and C++" in 1998-10.

    The only (but extremely important) innovation brought by CUDA is that the compiler is smart enough so that the programmer does not need to know the structure of the processor, i.e. how many cores it has and how many SIMD lanes has each core. The CUDA compiler distributes automatically the work over the available SIMD lanes and available cores and in most cases the programmer does not care whether two executions of the function that must be executed for each data item are done on two different cores or on two different SIMD lanes of the same core.

  • ozz-animation

    Open source c++ skeletal animation library and toolset

  • xsimd

    C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, AVX512, NEON, SVE))

  • Project mention: GDlog: A GPU-Accelerated Deductive Engine | news.ycombinator.com | 2023-12-03

    https://github.com/xtensor-stack/xsimd

    GH topics > HashMap:

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • Simd

    C++ image processing and machine learning library with using of SIMD: SSE, AVX, AVX-512, AMX for x86/x64, VMX(Altivec) and VSX(Power7) for PowerPC, NEON for ARM. (by ermig1979)

  • Project mention: The Case of the Missing SIMD Code | news.ycombinator.com | 2023-06-08

    I was curious about these libraries a few weeks ago and did some searching. Is there one that's got a clearly dominating set of users or contributors?

    I don't know what a good way to compare these might be, other than perhaps activity/contributor count.

    [1] https://github.com/simd-everywhere/simde

    [2] https://github.com/ermig1979/Simd

    [3] https://github.com/google/highway

    [4] https://gitlab.com/libeigen/eigen

    [5] https://github.com/shibatch/sleef

  • StringZilla

    Up to 10x faster strings for C, C++, Python, Rust, and Swift, leveraging SWAR and SIMD on Arm Neon and x86 AVX2 & AVX-512-capable chips to accelerate search, sort, edit distances, alignment scores, etc ๐Ÿฆ–

  • Project mention: Measuring energy usage: regular code vs. SIMD code | news.ycombinator.com | 2024-02-19

    The 3.5x energy-efficiency gap between serial and SIMD code becomes even larger when

    A. you do byte-level processing instead of float words;

    B. you use embedded, IoT, and other low-energy devices.

    A few years ago I've compared Nvidia Jetson Xavier (long before the Orin release), Intel-based MacBook Pro with Core i9, and AVX-512 capable CPUs on substring search benchmarks.

    On Xavier one can quite easily disable/enable cores and reconfigure power usage. At peak I got to 4.2 GB/J which was an 8.3x improvement in inefficiency over LibC in substring search operations. The comparison table is still available in the older README: https://github.com/ashvardanian/StringZilla/tree/v2.0.2?tab=...

  • usearch

    Fast Open-Source Search & Clustering engine ร— for Vectors & ๐Ÿ”œ Strings ร— in C++, C, Python, JavaScript, Rust, Java, Objective-C, Swift, C#, GoLang, and Wolfram ๐Ÿ”

  • Project mention: USearch SQLite Extensions for Vector and Text Search | news.ycombinator.com | 2024-02-22
  • kfr

    Fast, modern C++ DSP framework, FFT, Sample Rate Conversion, FIR/IIR/Biquad Filters (SSE, AVX, AVX-512, ARM NEON)

  • DirectXMath

    DirectXMath is an all inline SIMD C++ linear algebra library for use in games and graphics apps

  • Vc

    SIMD Vector Classes for C++

  • fast_float

    Fast and exact implementation of the C++ from_chars functions for number types: 4x to 10x faster than strtod, part of GCC 12 and WebKit/Safari

  • sse2neon

    A translator from Intel SSE intrinsics to Arm/Aarch64 NEON implementation

  • ada

    WHATWG-compliant and fast URL parser written in modern C++

  • Project mention: Parsing URLs in Python | news.ycombinator.com | 2024-03-16

    ...

    can_ada is just the python bindings, largely generated via pybind11.

    The actual project is at https://github.com/ada-url/ada

  • libsimdpp

    Portable header-only C++ low level SIMD library

  • SatDump

    A generic satellite data processing software.

  • Project mention: My Shortwave Dipole Antenna | /r/RTLSDR | 2023-05-25

    A note on using GLRPT - currently there aren't any satellites up with functioning LRPT transmissions. Hopefully this year Russia will get another Meteor satellite up and we can start receiving LRPT signals again. Also you may find it more convenient to use SatDump for working some satellites as it connects directly to the SDR without needing GQRX and a virtual audio cable.

  • simdutf

    Unicode routines (UTF8, UTF16, UTF32) and Base64: billions of characters per second using SSE2, AVX2, NEON, AVX-512, RISC-V Vector Extension. Part of Node.js and Bun.

  • Project mention: Glibc Buffer Overflow in Iconv | news.ycombinator.com | 2024-04-21
  • FastNoise2

    Modular node graph based noise generation library using SIMD, C++17 and templates

  • eve

    Expressive Vector Engine - SIMD in C++ Goes Brrrr (by jfalcou)

  • Klein

    P(R*_{3, 0, 1}) specialized SIMD Geometric Algebra Library

  • Project mention: Blaze: A High Performance C++ Math library | news.ycombinator.com | 2024-04-17
  • Fastor

    A lightweight high performance tensor algebra framework for modern C++

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

C++ Simd related posts

Index

What are some of the best open-source Simd projects in C++? This list will help you:

Project Stars
1 ncnn 19,176
2 simdjson 18,362
3 GLM 8,653
4 highway 3,623
5 ispc 2,402
6 ozz-animation 2,245
7 xsimd 2,024
8 Simd 1,971
9 StringZilla 1,776
10 usearch 1,629
11 kfr 1,582
12 DirectXMath 1,482
13 Vc 1,417
14 fast_float 1,269
15 sse2neon 1,220
16 ada 1,194
17 libsimdpp 1,188
18 SatDump 1,138
19 simdutf 948
20 FastNoise2 897
21 eve 843
22 Klein 729
23 Fastor 699

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com