awesome-repositories.com
ब्लॉग
awesome-repositories.com

AI-संचालित खोज के साथ बेहतरीन ओपन-सोर्स रिपॉजिटरी खोजें।

एक्सप्लोर करेंक्यूरेटेड खोजेंओपन-सोर्स विकल्पसेल्फ-होस्टेड सॉफ्टवेयरब्लॉगसाइटमैप
प्रोजेक्टहमारे बारे मेंहम रैंकिंग कैसे करते हैंप्रेसMCP सर्वर
कानूनीगोपनीयताशर्तें
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
ispc avatar

ispc/ispc

0
View on GitHub↗
2,843 स्टार्स·343 फोर्क्स·C++·bsd-3-clause·7 व्यूज़

Ispc

ISPC is a vectorizing compiler and SIMD parallel programming language that implements a single program multiple data model. It serves as a toolchain for translating C-based code with parallel extensions into optimized machine code for various CPU and GPU architectures using an LLVM backend.

The compiler is designed for cross-platform SIMD toolchain support, generating specialized instruction sets for x86 SSE/AVX, ARM NEON, and Intel GPU from a single source. It features a runtime dispatch mechanism that selects the most efficient hardware-specific implementation for the current system during program startup.

The system supports hybrid scaling by distributing vectorized workloads across multiple processor cores and vector lanes. It provides direct interoperability with C and C++ via memory pointers to share data structures between serial application code and parallel kernels.

The project provides a cross-platform build system utilizing Docker definitions to ensure reproducible build environments.

Features

  • SIMD Parallel Programming - Provides a language for writing programs that automatically use CPU vector units and GPU execution units.
  • SPMD Compilation Models - Implements a Single Program Multiple Data model to run multiple instances in parallel across SIMD lanes on CPUs and GPUs.
  • Vectorized Code Generation - Produces highly optimized vectorized machine code that rivals hand-written intrinsics for significant performance gains.
  • SIMD-Accelerated Arithmetic - Automatically utilizes processor-specific SIMD instruction sets to accelerate standard code execution.
  • Cross-Compilation Toolchains - Provides a build system and compiler capable of generating executable binaries for diverse vector instruction sets from one host.
  • Multi-Core Workload Distribution - Distributes vectorized workloads across multiple processor cores to achieve near-linear performance scaling.
  • SPMD - Provides a programming model with parallel extensions to run many program instances simultaneously on vector hardware.
  • SIMD Languages - Implements a SIMD parallel programming language with a single program multiple data model.
  • Cross-Platform SIMD Compilation - Generates optimized machine code for x86 SSE/AVX, ARM NEON, and Intel GPU from a single source.
  • LLVM-Based Compilers - Utilizes the LLVM compiler infrastructure to generate optimized machine code for various CPU and GPU architectures.
  • Vectorizing Compilers - Uses an LLVM backend to generate optimized vector machine code for x86, ARM, and GPU architectures.
  • SIMD Instruction Generation - Generates optimized machine code for a wide range of vector instruction sets from a single source.
  • Multi-Target Compilers - Compiles a single program for both vector units and graphics execution units by selecting the backend at build time.
  • SPMD Compilers - Translates C-based code with parallel extensions into vectorized instructions for CPUs and GPUs.
  • High-Performance Computing - Accelerates computationally intensive tasks by distributing vectorized workloads across multiple CPU cores and hardware accelerators.
  • Vector Instruction Targets - Produces specialized vector instruction sets for x86 SSE/AVX, ARM NEON, and Intel GPU from a single source.
  • SIMD Workload Distribution - Distributes vectorized workloads across multiple processor cores to multiply the performance gains of SIMD lanes.
  • Cross-Architecture Binary Compilation - Provides the ability to compile software into executable binaries for multiple target hardware architectures.
  • Parallel Execution Debugging - Supports the use of standard debugging tools to inspect SPMD executions across distributed compute nodes.
  • C Interoperability Layers - Implements a specialized layer for direct function calls and pointer-based data sharing between serial C++ and parallel SPMD kernels.
  • Native C Interoperability - Provides interfaces for calling and sharing data between parallel kernels and serial C++ application code.
  • Native Pointer Attachments - Shares data structures between parallel and serial code using direct memory pointers to avoid serialization overhead.
  • Profile-Guided and Link-Time Optimizations - Supports link-time and profile-guided optimizations to maximize the performance of the final compiled binary.
  • Hardware Dispatchers - Detects host processor capabilities at startup to select the most efficient hardware-specific SIMD implementation.
  • Scalar-to-Vector Transformations - Automatically generates high-performance vector instructions from scalar code to avoid manual intrinsics.
  • System Library Compatibility - Compiles against the oldest available system libraries to ensure the resulting binary runs on all current distributions.
  • Hybrid Parallel Scaling - Distributes vectorized workloads across both multiple processor cores and vector lanes to maximize hardware utility.
  • Software Portability Layers - Generates code for multiple processor families and graphics hardware to ensure portability across hardware generations.
  • हैशिंग - C implementation of the MurMur hashing algorithm.
  • कंपाइलर - Compiler for single program, multiple data programming.
  • Parallel Programming Frameworks - SPMD compiler for high-performance SIMD programming.

स्टार हिस्ट्री

ispc/ispc के लिए स्टार हिस्ट्री चार्टispc/ispc के लिए स्टार हिस्ट्री चार्ट

AI सर्च

और अधिक बेहतरीन रिपॉजिटरी खोजें

अपनी ज़रूरत को सरल भाषा में बताएं — AI हजारों क्यूरेटेड ओपन-सोर्स प्रोजेक्ट्स को प्रासंगिकता के आधार पर रैंक करता है।

Start searching with AI

अक्सर पूछे जाने वाले प्रश्न

ispc/ispc क्या करता है?

ISPC is a vectorizing compiler and SIMD parallel programming language that implements a single program multiple data model. It serves as a toolchain for translating C-based code with parallel extensions into optimized machine code for various CPU and GPU architectures using an LLVM backend.

ispc/ispc की मुख्य विशेषताएं क्या हैं?

ispc/ispc की मुख्य विशेषताएं हैं: SIMD Parallel Programming, SPMD Compilation Models, Vectorized Code Generation, SIMD-Accelerated Arithmetic, Cross-Compilation Toolchains, Multi-Core Workload Distribution, SPMD, SIMD Languages।

ispc/ispc के कुछ ओपन-सोर्स विकल्प क्या हैं?

ispc/ispc के ओपन-सोर्स विकल्पों में शामिल हैं: c3lang/c3c — c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static… google/highway — Highway is a portable C++ library and hardware abstraction layer designed for writing single instruction multiple data… nim-lang/nim — Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform… android/ndk-samples — The Android NDK samples provide a comprehensive collection of code examples demonstrating how to integrate C and C++… embarkstudios/rust-gpu — Rust-GPU is a compiler and toolchain that translates Rust source code into SPIR-V bytecode for execution on graphics… parallel101/course — This project is a technical curriculum and set of educational resources focused on parallel programming,…

Ispc के ओपन-सोर्स विकल्प

समान ओपन-सोर्स प्रोजेक्ट्स, जो Ispc के साथ साझा की गई सुविधाओं के आधार पर रैंक किए गए हैं।
  • c3lang/c3cc3lang का अवतार

    c3lang/c3c

    5,147GitHub पर देखें↗

    c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte

    C3c3compilerlanguage
    GitHub पर देखें↗5,147
  • google/highwaygoogle का अवतार

    google/highway

    5,644GitHub पर देखें↗

    Highway is a portable C++ library and hardware abstraction layer designed for writing single instruction multiple data (SIMD) code. It provides a unified interface that maps data-parallel logic to various CPU instruction sets, enabling the development of high-performance software that runs across different processor architectures without requiring architecture-specific assembly. The project features a dynamic instruction dispatcher that selects the most efficient CPU instruction set at runtime based on detected hardware. It also supports static target specialization and extensible mechanisms

    C++
    GitHub पर देखें↗5,644
  • nim-lang/nimnim-lang का अवतार

    nim-lang/Nim

    18,071GitHub पर देखें↗

    Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform development. It translates high-level source code into C, C++, or JavaScript, allowing developers to produce efficient native binaries or web-compatible scripts from a single codebase. The language emphasizes a clean, indentation-based syntax that simplifies code hierarchy while maintaining the power of a full-featured systems language. What distinguishes Nim is its robust metaprogramming framework, which allows developers to inspect, modify, and generate code structures during th

    Nimcompilerefficienthacktoberfest
    GitHub पर देखें↗18,071
  • android/ndk-samplesandroid का अवतार

    android/ndk-samples

    10,513GitHub पर देखें↗

    The Android NDK samples provide a comprehensive collection of code examples demonstrating how to integrate C and C++ native code into Android applications. This repository serves as a practical guide for developers utilizing the Android Native Development Kit to implement performance-critical application components that require direct hardware access and low-level system interaction. The project highlights the use of the Java Native Interface to bridge managed code with native modules, enabling cross-language function calls and efficient data exchange. It demonstrates how to manage native act

    C++
    GitHub पर देखें↗10,513
Ispc के सभी 30 विकल्प देखें→