C++ Compiler

Open-source C++ projects categorized as Compiler

Top 23 C++ Compiler Projects

  • carbon-lang

    Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)

  • Project mention: Carbon Copy Newsletter No.2 | news.ycombinator.com | 2024-04-08
  • llvm-project

    The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.

  • Project mention: Ask HN: Which books/resources to understand modern Assembler? | news.ycombinator.com | 2024-04-21

    'Computer Architeture: A Quantitative Apporach" and/or more specific design types (mips, arm, etc) can be found under the Morgan Kaufmann Series in Computer Architeture and Design.

    "Getting Started with LLVM Core Libraries: Get to Grips With Llvm Essentials and Use the Core Libraries to Build Advanced Tools "

    "The Architecture of Open Source Applications (Volume 1) : LLVM" https://aosabook.org/en/v1/llvm.html

    "Tourist Guide to LLVM source code" : https://blog.regehr.org/archives/1453

    llvm home page : https://llvm.org/

    llvm tutorial : https://llvm.org/docs/tutorial/

    llvm reference : https://llvm.org/docs/LangRef.html

    learn by examples : C source code to 'llvm' bitcode : https://stackoverflow.com/questions/9148890/how-to-make-clan...

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

    The official mirror of the V8 Git repository

  • Project mention: Boehm Garbage Collector | news.ycombinator.com | 2024-01-21

    https://chromium.googlesource.com/v8/v8.git/+/HEAD/include/c...

    Due to the nature of web engine workloads migrating objects to being GC'd isn't performance negative (as most people would expect). With care it can often end up performance positive.

    There are a few tricks that Oilpan can apply. Concurrent tracing helps a lot (e.g. instead of incrementing/decrementing refs, you can trace on a different thread), in addition when destructing objects, the destructors typically become trivial meaning the object can just be dropped from memory. Both these free up main thread time. (The tradeoff with concurrent tracing is that you need atomic barriers when assigning pointers which needs care).

    This is on top of the safey improvements you gain from being GC'd vs. smart pointers, etc.

    One major tradeoff that UAF bugs become more difficult to fix, as you are just accessing objects which "should" be dead.

  • codon

    A high-performance, zero-overhead, extensible Python compiler using LLVM

  • Project mention: Should I Open Source my Company? | news.ycombinator.com | 2024-01-22

    https://github.com/exaloop/codon/blob/develop/LICENSE

    Here are some others: https://github.com/search?q=%22Business+Source+License%22+%2...

  • Halide

    a language for fast, portable data-parallel computation

  • Project mention: Show HN: Flash Attention in ~100 lines of CUDA | news.ycombinator.com | 2024-03-16

    If CPU/GPU execution speed is the goal while simultaneously code golfing the source size, https://halide-lang.org/ might have come in handy.

  • asmjit

    Low-latency machine code generation

  • Project mention: The 6502 instruction set as a database | news.ycombinator.com | 2024-04-08

    Some other instruction sets in some JSON: https://github.com/asmjit/asmjit/tree/master/db

  • reshade

    A generic post-processing injector for games and video software.

  • Project mention: Jagged edges on everything, regardless of AA settings | /r/EliteDangerous | 2023-12-11

    If you are interested in making it look even better, then installing ReShade and adding FSAA there also makes a huge improvement over the best settings in game.

  • 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
  • fully-homomorphic-encryption

    An FHE compiler for C++

  • Project mention: What are the current hot topics in type theory and static analysis? | /r/ProgrammingLanguages | 2023-05-08

    Secure computing. This includes Fully Homomorphic Encryption AKA FHE, of which there is a language/compiler which just got released and Google's older FHE compiler. FHE is probably more "compiler" than "type system", e.g. Google's compiler works on C++. Also Security Type Systems which include Oblivious data structures and Oblivious ADTs.

  • glslang

    Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.

  • Project mention: Question about installing GLSL linter | /r/opengl | 2023-05-20

    One of the requirements is the OpenGL shader validator here

  • faust

    Functional programming language for signal processing and sound synthesis (by grame-cncm)

  • Project mention: My Sixth Year as a Bootstrapped Founder | news.ycombinator.com | 2024-02-16

    Glicol looks very cool! Also check out Faust if you haven't (https://faust.grame.fr), another FP sound programming language.

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

  • Beef

    Beef Programming Language (by beefytech)

  • Project mention: Odin Programming Language | news.ycombinator.com | 2024-01-01
  • xla

    Enabling PyTorch on XLA Devices (e.g. Google TPU)

  • Project mention: Who uses Google TPUs for inference in production? | news.ycombinator.com | 2024-03-11

    > The PyTorch/XLA Team at Google

    Meanwhile you have an issue from 5 years ago with 0 support

    https://github.com/pytorch/xla/issues/202

  • ccache

    ccache – a fast compiler cache

  • Project mention: Deep Learning with “AWS Graviton2 + NVIDIA Tensor T4G” for as low as free* with CUDA 12.2 | dev.to | 2023-09-10

    # Download and install ccache for faster compilation wget https://github.com/ccache/ccache/releases/download/v4.8.3/ccache-4.8.3.tar.xz tar -xf ccache-4.8.3.tar.xz pushd ccache-4.8.3 cmake . make -j $CPUS make install popd # Install NumPy, a dependency for PyTorch dnf install -y numpy # Install Python typing extensions for better type-checking sudo -u ec2-user pip3 install typing-extensions # Clone PyTorch repository and install from source git clone --recursive https://github.com/pytorch/pytorch.git pushd pytorch python3 setup.py install popd # Refresh the dynamic linker run-time bindings ldconfig # Install additional Python libraries for PyTorch sudo -u ec2-user pip3 install sympy filelock fsspec networkx

  • mrustc

    Alternative rust compiler (re-implementation)

  • Project mention: Why do lifetimes need to be leaky? | /r/rust | 2023-12-08

    No, you don't. Existential proof: mrustc ignores lifetimes. Just flat out simply ignores. It changes some corner-cases related to HRBT, yet rustc compiled by mrustc works (that's BTW mrustc exist: to bootsrap the rustc compiler).

  • shaderc

    A collection of tools, libraries, and tests for Vulkan shader compilation.

  • ShaderConductor

    ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages

  • Project mention: Start project on Metal, port to DX11? | /r/GraphicsProgramming | 2023-04-27

    Have you seen this project: https://github.com/microsoft/ShaderConductor? It is maintained by Microsoft as well.

  • Peregrine

    A blazing fast language for the blazing fast world(WIP)

  • fetlang

    Fetish-themed programming language

  • jank

    A Clojure dialect hosted on LLVM with native C++ interop

  • Project mention: Compiling a Lisp | news.ycombinator.com | 2024-02-01

    There's an effort afoot to bring this to the Clojure world, with the lovely name jank: https://jank-lang.org

  • VTIL-Core

    Virtual-machine Translation Intermediate Language

  • kphp

    KPHP — a PHP compiler

  • torch-mlir

    The Torch-MLIR project aims to provide first class support from the PyTorch ecosystem to the MLIR ecosystem.

  • Project mention: Pytorch with AMD Radeon RX 6950 XT GPU: Is it possible on Windows 11? | /r/pytorch | 2023-05-13

    You're best option is to use torchmlir : https://github.com/llvm/torch-mlir

  • 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++ Compiler related posts

Index

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

Project Stars
1 carbon-lang 32,188
2 llvm-project 25,451
3 V8 22,633
4 codon 13,819
5 Halide 5,700
6 asmjit 3,801
7 reshade 3,774
8 fully-homomorphic-encryption 3,453
9 glslang 2,822
10 faust 2,403
11 ispc 2,402
12 Beef 2,362
13 xla 2,291
14 ccache 2,157
15 mrustc 2,083
16 shaderc 1,738
17 ShaderConductor 1,711
18 Peregrine 1,480
19 fetlang 1,474
20 jank 1,417
21 VTIL-Core 1,288
22 kphp 1,286
23 torch-mlir 1,168

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