awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
HigherOrderCO avatar

HigherOrderCO/Bend

0
View on GitHub↗
19,175 stars·470 forks·Rust·apache-2.0·5 viewshigherorderco.com↗

Bend

Bend is a high-level parallel programming language and compiler designed to execute code across multi-core CPUs and GPUs automatically. By translating functional source code into a graph-based intermediate representation, it enables massive parallel execution without requiring manual management of threads, locks, or atomic operations.

The runtime operates as an interaction net engine, where computations are represented as networks of nodes that reduce through local rewriting rules. This model utilizes a work-stealing scheduler to distribute tasks across thousands of hardware threads, ensuring that computational workloads scale efficiently across heterogeneous processing units.

The system incorporates a global heap with reference counting and cycle collection to handle memory management, alongside a lazy evaluation strategy that defers computation until results are strictly required. These mechanisms allow developers to focus on high-level logic while the compiler handles the complexities of parallel distribution and resource utilization.

Features

  • Parallel - Offers a high-level programming language that automatically compiles code for massive parallel execution across multi-core CPUs and GPUs.
  • GPU-Accelerated Compilers - Translates high-level logic into a concurrent format optimized for execution on graphics hardware.
  • Concurrent Programming Languages - Provides a high-level language that automatically scales code across thousands of processing threads.
  • Interaction Net Runtimes - Provides a computational model that scales high-level logic across thousands of threads without manual lock management.
  • Parallel Runtimes - Provides a high-performance runtime that automatically scales functional code across thousands of hardware threads without manual synchronization.
  • Parallelizing Compilers - Translates functional code into a concurrent format to achieve near-ideal speedup on parallel hardware.
  • Parallel Execution - Executes high-level code automatically across multi-core CPUs and GPUs without manual concurrency management.
  • Parallel Compilation - Compiles high-level language constructs into a concurrent computation model for near-ideal speedup.
  • GPU Acceleration - Leverages graphics hardware to execute general-purpose code for faster data processing.
  • Work-Stealing Schedulers - Distributes small computational tasks across thousands of hardware threads using a work-stealing engine.
  • Interaction Net Engines - Executes computations by reducing networks of interacting nodes through local rewriting rules.
  • High-Performance and Parallel Computing - Executes complex algorithms across multi-core CPUs and GPUs to achieve significant speed improvements.
  • Interaction Net Engines - Executes code using an interaction net engine that reduces functional programs through local graph rewriting rules.
  • Reference-Counting Garbage Collectors - Manages object lifetimes automatically using reference counting and cycle collection.
  • Memory Management Systems - Provides automated memory management through reference counting and cycle collection to eliminate manual allocation.
  • Programming Languages - A high-level, massively parallel programming language.
  • Distributed Runtimes - Scales computational workloads across large numbers of processing units to reduce total runtime.
  • Lazy Evaluation Engines - Resolves deferred computation trees into concrete values only when results are strictly required by the runtime.
  • Concurrency Models - Translates high-level logic into a concurrent model that scales across processing units without manual synchronization primitives.
  • Lazy Thunk Graphs - Represents expressions as trees of deferred computations that only evaluate when strictly required.
  • Graph-Based - Transforms source code into a compact, node-oriented intermediate representation for efficient parallel processing.
  • Intermediate Representations - Lowers high-level source code into an optimized intermediate representation for parallel hardware execution.

Star history

Star history chart for higherorderco/bendStar history chart for higherorderco/bend

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Bend

Similar open-source projects, ranked by how many features they share with Bend.
  • higherorderco/hvm2HigherOrderCO avatar

    HigherOrderCO/HVM2

    11,290View on GitHub↗

    HVM2 is a high-performance execution environment for pure functional programs, implemented as a systems-level runtime in Rust. It functions as a massively parallel functional runtime that uses interaction combinators to achieve automatic parallelism across multi-core CPUs and GPUs. The project distinguishes itself by using a graph-rewriting computational model to execute programs via local reduction rules, which eliminates the need for manual locks or atomic operations. It employs beta-optimal reduction and lazy evaluation to optimize higher-order functions and eliminate redundant computation

    Cuda
    View on GitHub↗11,290
  • numba/numbanumba avatar

    numba/numba

    10,918View on GitHub↗

    Numba is a just-in-time compiler that translates high-level Python functions into optimized machine code at runtime. By leveraging the LLVM compiler infrastructure, it provides a framework for accelerating numerical data processing and mathematical computations, enabling performance levels comparable to statically compiled languages. The project distinguishes itself through its ability to perform type-inference-based specialization, which generates machine instructions tailored to the specific data types used during execution. It employs a lazy compilation pipeline that defers translation unt

    Pythoncompilercudallvm
    View on GitHub↗10,918
  • taskflow/taskflowtaskflow avatar

    taskflow/taskflow

    12,013View on GitHub↗

    Taskflow is a C++ task-parallel framework designed to build high-performance parallel workflows and complex dependency graphs. It provides a programming model that organizes computational work into directed acyclic graphs, enabling developers to manage concurrency, resource scheduling, and task dependencies across multi-core CPUs and GPU accelerators. The framework distinguishes itself through its ability to orchestrate heterogeneous systems, allowing for the integration of hardware-accelerated kernels and memory operations into unified execution pipelines. It supports dynamic runtime subflow

    C++concurrent-programmingcuda-programminggpu-programming
    View on GitHub↗12,013
  • microsoft/veronamicrosoft avatar

    microsoft/verona

    3,723View on GitHub↗

    Verona is a research programming language designed to prevent data races through a system of concurrent ownership and deep immutability. It utilizes a deeply immutable memory model to ensure that complex objects cannot be mutated, allowing data to be shared across concurrent threads without synchronization locks. The project features a deterministic parallel execution engine that ensures reproducible outputs regardless of thread timing. It employs a region-based memory manager to assign memory regions to specific threads or processes, reducing contention in producer-consumer workloads. The s

    C++
    View on GitHub↗3,723
See all 30 alternatives to Bend→

Frequently asked questions

What does higherorderco/bend do?

Bend is a high-level parallel programming language and compiler designed to execute code across multi-core CPUs and GPUs automatically. By translating functional source code into a graph-based intermediate representation, it enables massive parallel execution without requiring manual management of threads, locks, or atomic operations.

What are the main features of higherorderco/bend?

The main features of higherorderco/bend are: Parallel, GPU-Accelerated Compilers, Concurrent Programming Languages, Interaction Net Runtimes, Parallel Runtimes, Parallelizing Compilers, Parallel Execution, Parallel Compilation.

What are some open-source alternatives to higherorderco/bend?

Open-source alternatives to higherorderco/bend include: higherorderco/hvm2 — HVM2 is a high-performance execution environment for pure functional programs, implemented as a systems-level runtime… numba/numba — Numba is a just-in-time compiler that translates high-level Python functions into optimized machine code at runtime.… taskflow/taskflow — Taskflow is a C++ task-parallel framework designed to build high-performance parallel workflows and complex dependency… microsoft/verona — Verona is a research programming language designed to prevent data races through a system of concurrent ownership and… genesis-embodied-ai/genesis — Genesis is an embodied AI simulation platform and parallelized robotics simulator designed for training… dask/dask — Dask is a parallel computing framework and distributed task scheduler designed to scale Python data science workflows…