C++ Arm

Open-source C++ projects categorized as Arm

Top 23 C++ Arm Projects

  • simdjson

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

    Project mention: 1BRC Merykitty's Magic SWAR: 8 Lines of Code Explained in 3k Words | news.ycombinator.com | 2024-03-09
  • libfacedetection

    An open source library for face detection in images. The face detection speed can reach 1000FPS.

  • 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.

  • Open3D

    Open3D: A Modern Library for 3D Data Processing

    Project mention: Does anyone else agree that the links to the latest development version of Open3D don't work? | /r/cscareerquestions | 2023-07-10

    I was going to file a bug about another issue, but I have to download the development version. This is why I want this solved quickly. None of the links seem to work: https://github.com/isl-org/Open3D/issues/6259

  • MNN

    MNN is a blazing fast, lightweight deep learning framework, battle-tested by business-critical use cases in Alibaba

    Project mention: [D][R] Deploying deep models on memory constrained devices | /r/MachineLearning | 2023-10-03

    However, I am looking on this subject through the problem of training/finetuning deep models on the edge devices, being increasingly available thing to do. Looking at tflite, alibaba's MNN, mit-han-lab's tinyengine etc..

  • keystone

    Keystone assembler framework: Core (Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) + bindings (by keystone-engine)

    Project mention: The Hiew Hex Editor | news.ycombinator.com | 2024-01-02

    Sorry for the late answer. Yes, there is. We hoped a Keystone-based[1] plugin would be a better alternative since it's based on the LLVM code, but the project looks abandoned now[2].

    [1] https://github.com/keystone-engine/keystone/

    [2] https://github.com/keystone-engine/keystone/issues/560

  • 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=...

  • 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.

  • gem5

    The official repository for the gem5 computer-system architecture simulator.

    Project mention: Hot Chips 2023: Arm’s Neoverse V2 | news.ycombinator.com | 2023-09-12

    The idea is to write a C++ model that that produces cycle accurate outputs of the branch predictor, core pipeline, queues, memory latency, cache hierarchy, prefetch behaviour, etc. Transistor level accuracy isn't needed as long as the resulting cycle timings are identical or near identical. The improvement in workload runtime compared to a Verilog simulation is precisely because they aren't trying to model every transistor, but just the important parameters which effect performance.

    Let's take a simple example: Instead of modeling a 64-bit adder in all its gory transistor level detail, you can just have the model return the correct data after 1 "cycle" or whatever your ALU latency is. As long as that cycle latency is the same as the real hardware, you'll get an accurate performance number.

    What's particularly useful about these models is they enable much easier and faster state space exploration to see how a circuit would perform, well before going ahead with the Verilog implementation, which relatively speaking can take circuit designers ages. "How much faster would my CPU be if it had a 20% larger register file" can be answered in a day or two before getting a circuit designer to go try and implement such a thing.

    If you want an open source example, take a look at the gem5 project (https://www.gem5.org). It's not quite as sophisticated as the proprietary models used in industry, but it's a used widely in academia and open source hardware design and is a great place to start.

  • sse2neon

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

  • dosbox-staging

    DOSBox Staging is a modern continuation of DOSBox with advanced features and current development practices.

    Project mention: Sony FW900 Widescreen CRT Trinitron | news.ycombinator.com | 2024-04-17

    DOSBox Staging has the best CRT emulation I've seen. It really feels like going back to a VGA monitor.

    See the screenshots on https://dosbox-staging.github.io/

  • Panda3DS

    HLE 3DS emulator

    Project mention: 1 year of Panda3DS development: Where we are and what the future holds (featuring Pokemon!) | /r/emulation | 2023-09-18

    Link to the release: https://github.com/wheremyfoodat/Panda3DS/releases/tag/v0.6-pandiversary

  • firebird

    Multi-platform emulator of TI Nspire calculators (by nspire-emus)

    Project mention: Is there a good alternative to the HP Prime, TI Inspire CAS, Casio CAS equivalent for iOS/Android? | /r/calculators | 2023-12-06
  • vulkan_best_practice_for_mobile_developers

    Vulkan best practice for mobile developers

  • amiberry

    Optimized Amiga emulator for Linux/macOS

    Project mention: Amiberry: Optimized Amiga emulator for the Raspberry Pi and other Linux devices | news.ycombinator.com | 2023-11-10
  • distortos

    object-oriented C++ RTOS for microcontrollers

    Project mention: What are some concepts/tools/tricks that are frequently used in C/C++ code for embedded software? | /r/embedded | 2023-07-10

    The only all-C++ RTOS implementation (that I've come across) is Distortos..

  • supermariowar

    A fan-made multiplayer Super Mario Bros. style deathmatch game

    Project mention: Super Mario War 2.0 on Retropie | /r/RetroPie | 2023-05-08

    Github: https://github.com/mmatyas/supermariowar

  • ML-examples

    Arm Machine Learning tutorials and examples

    Project mention: [D] Run Pytorch model inference on Microcontroller | /r/MachineLearning | 2023-11-14

    CMSIS-NN. ARM centric. Examples. They also have an example for a pytorch to tflite converter via onnx

  • qpcpp

    QP/C++ Real-Time Embedded Framework/RTOS for embedded systems based on active objects (actors) and hierarchical state machines

  • EmbeddedProto

    Embedded Proto is a C++ Protocol Buffers implementation specifically suitable for microcontrollers. It is small, reliable and easy to use.

  • baremetal

    ARM Cortex-M bare-metal example code in C++ and CMake build (by cortexm)

  • wcecl

    Run Windows CE applications on desktop Windows

  • openblok

    A customizable, cross platform, open-source falling block game, packed with a bunch of features.

  • ulisp-arm

    A version of the Lisp programming language for ARM-based boards.

  • SaaSHub

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

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). The latest post mention was on 2024-04-17.

C++ Arm related posts

Index

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

Project Stars
1 simdjson 18,337
2 libfacedetection 12,005
3 Open3D 10,436
4 MNN 8,278
5 keystone 2,176
6 Simd 1,966
7 StringZilla 1,749
8 gem5 1,404
9 sse2neon 1,217
10 dosbox-staging 1,165
11 Panda3DS 734
12 firebird 636
13 vulkan_best_practice_for_mobile_developers 634
14 amiberry 602
15 distortos 428
16 supermariowar 413
17 ML-examples 400
18 qpcpp 349
19 EmbeddedProto 178
20 baremetal 174
21 wcecl 127
22 openblok 94
23 ulisp-arm 91
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com