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: Yes, Ruby is fast, but… | dev.to | 2024-05-09

    In conclusion, none of the proposed changes to the Ruby version of the code makes a dent in the Crystal version. This is not entirely Crystal's doing: it uses the LLVM backend, which generates very optimized binaries.

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

  • SaaSHub

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

    SaaSHub logo
  • fully-homomorphic-encryption

    An FHE compiler for C++

  • 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

  • fetlang

    Fetish-themed programming language

  • Peregrine

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

  • jank

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

  • Project mention: Jank programming language – Clojure/LLVM/C++ | news.ycombinator.com | 2024-05-09
  • 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,232
2 llvm-project 25,839
3 V8 22,711
4 codon 13,861
5 Halide 5,721
6 asmjit 3,818
7 reshade 3,809
8 fully-homomorphic-encryption 3,456
9 glslang 2,833
10 faust 2,423
11 ispc 2,410
12 Beef 2,369
13 xla 2,302
14 ccache 2,190
15 mrustc 2,090
16 shaderc 1,748
17 ShaderConductor 1,711
18 fetlang 1,476
19 Peregrine 1,472
20 jank 1,438
21 VTIL-Core 1,298
22 kphp 1,293
23 torch-mlir 1,193

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