awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
arrayfire avatar

arrayfire/arrayfire

0
View on GitHub↗
4,888 stars·552 forks·C++·BSD-3-Clause·8 vuesarrayfire.com↗

Arrayfire

ArrayFire est un framework de calcul agnostique au matériel et un moteur de tenseurs compilé JIT conçu pour le calcul numérique haute performance. Il sert de bibliothèque de calcul numérique GPU et de toolkit de traitement du signal parallèle qui abstrait les backends matériels, permettant à la même base de code de s'exécuter sur diverses architectures GPU et CPU.

Le projet se distingue par un moteur JIT qui utilise la compilation d'expressions pour fusionner les opérations et minimiser la surcharge mémoire. Il emploie un graphe d'exécution différée pour optimiser les chaînes de calcul et fournit des primitives d'interopérabilité pour partager des données et des contextes d'exécution avec des plateformes de calcul externes comme CUDA et OpenCL.

La bibliothèque couvre un large éventail de capacités, incluant l'algèbre linéaire parallèle, le traitement du signal numérique et la vision par ordinateur accélérée. Elle fournit des outils pour l'implémentation de l'apprentissage automatique, la simulation de modélisation financière et la résolution d'équations aux dérivées partielles pour les simulations de systèmes physiques. Son système de gestion de tenseurs gère l'allocation de tableaux multidimensionnels, le découpage et les transferts de données hôte-périphérique.

Features

  • Compute Backend Abstractions - Provides a hardware-agnostic abstraction layer that maps a single API to CUDA, OpenCL, and CPU backends at runtime.
  • GPU-Accelerated Computation - Provides a comprehensive framework for offloading general numerical and mathematical operations to GPU hardware for high-performance processing.
  • Array Type Casting - Converts numerical arrays between different data types to optimize processing performance.
  • Hardware Abstraction Layers - Includes a hardware abstraction layer that routes tensor operations to available CPU or GPU backends automatically.
  • Hardware Acceleration Kernels - Executes optimized computational kernels across different hardware backends to accelerate intensive mathematical operations.
  • Hardware-Agnostic Accelerators - Implements a hardware-agnostic framework that compiles compute graphs to run efficiently across diverse GPU and CPU backends.
  • Numerical Computing Libraries - Serves as a high-performance numerical computing library for vectorized tensor operations and linear algebra.
  • Tensor Indexing - Selects specific elements, rows, or columns of tensors using scalars, sequences, and slicing.
  • Operation Fusion Optimizations - Merges multiple mathematical operations into single kernels to reduce memory overhead and improve throughput.
  • Advanced Array Indexing - Retrieves tensor elements using coordinate arrays via Cartesian product expansion or direct mapping.
  • Host-to-Device Data Transfers - Copies tensor data between device memory and the host for CPU-side access.
  • Tensor Slicing - Extracts specific rows, columns, or subarrays using sequences, spans, and strides.
  • Hardware-Threaded Loop Distribution - Distributes high-level loop iterations across physical hardware threads to maximize GPU and CPU throughput.
  • Boolean Masking - Selects array elements that satisfy specific boolean conditions using masking techniques.
  • GPU Interoperability Primitives - Provides primitives to share data and execution contexts between CUDA and OpenCL applications.
  • Device-Specific Memory Allocators - Allocates multi-dimensional arrays directly on hardware accelerators using various numerical types.
  • Device Buffer Managers - Coordinates the allocation and synchronization of multi-dimensional array buffers between host and accelerator memory.
  • General JIT Compilers - Uses a just-in-time compiler to generate optimized machine code for complex numerical kernels at runtime.
  • Tensor Expression Compilers - Uses a JIT engine to compile mathematical expressions and fuse operations to minimize memory overhead.
  • Reshaping - Rearranges the shape and dimensions of arrays without modifying the underlying data.
  • Kernel Fusion Operations - Combines multiple mathematical operations into single compute kernels to minimize global memory access.
  • Array Data Copying - Implements deep copying of arrays and writing data from pointers into existing tensors.
  • Array Population - Populates tensors with constants, random distributions, or data copied from memory pointers.
  • Array Transpositions - Provides operations to generate transposed or conjugate-transpose versions of multi-dimensional arrays.
  • Digital Signal Processing Libraries - Provides a toolkit for parallel digital signal processing, including fast Fourier transforms and convolutions on multi-dimensional data.
  • Signal Convolutions - Implements multi-dimensional convolutions for processing signals and images by applying computational kernels.
  • Fourier Transforms - Provides high-performance forward and inverse fast Fourier transforms to convert signals between time and frequency domains.
  • Element-wise Array Operations - Performs high-performance element-wise array operations across multi-dimensional tensors.
  • Generalized Matrix Multiplications - Provides high-performance generalized matrix multiplications for neural network layers and linear transformations.
  • Vectorized Array Operations - Executes arithmetic and logical functions across entire arrays in parallel to optimize performance.
  • Just-In-Time Numerical Compilation - Translates high-level mathematical expressions into optimized machine code during execution to maximize performance.
  • Linear Algebra Libraries - Implements high-performance parallel linear algebra libraries for matrix operations and solving complex systems of equations.
  • Multi-Dimensional Arrays - Creates containers of specified dimensions and data types using host or device pointers.
  • Numerical Array Operations - Performs high-performance mathematical calculations, indexing, and reshaping on multi-dimensional arrays using vectorized operations.
  • Signal Filtering Pipelines - Processes data using finite and infinite impulse response filters to remove noise from signals.
  • Deferred Execution Graphs - Implements a deferred execution graph to optimize computation chains before triggering final array operations.
  • Framework Interoperability Layers - Ships interoperability primitives to share data and execution contexts between the engine and external compute libraries like CUDA and OpenCL.
  • GPU Accelerated Computer Vision - Analyzes and transforms digital images through GPU-accelerated feature detection and color space conversion.
  • Machine Learning Implementations - Provides the computational primitives necessary to implement and train core machine learning algorithms and neural networks.
  • Hardware-Accelerated - Combines with other hardware-accelerated codebases to extend functionality within larger applications.
  • Batch Processing - Implements utilities for performing bulk data operations efficiently by parallelizing across a batch dimension.
  • Vectorized Data Processing - Executes operations across N-dimensional arrays by tiling data and parallelizing loop iterations on hardware.
  • Mobile and Embedded Accelerator Execution - Runs parallel computations on specialized embedded devices and mobile accelerators.
  • Execution Optimizations - Implements runtime optimizations to increase memory throughput and minimize temporary allocations during execution.
  • Expression Evaluators - Provides an expression evaluator that processes mathematical and logical expressions via JIT compilation.
  • Array Reductions - Computes single scalar values from arrays through reduction operations like sum and maximum.
  • Data Interpolation - Estimates unknown values between known data points using one-dimensional and two-dimensional mathematical interpolation.
  • Linear System Solvers - Implements direct linear solvers and routines for solving systems of linear equations and least squares problems.
  • Matrix Decompositions - Performs mathematical matrix decompositions such as LU, QR, and Cholesky to simplify linear algebra problems.
  • Sparse Matrix Storage - Provides memory-efficient sparse matrix storage and management for handling large datasets with many zero elements.
  • Prefix Scan Operations - Implements prefix scan operations to produce arrays of cumulative results.
  • Traitement parallèle - Bibliothèque de calcul GPU à usage général.
  • Concurrency and Parallelism - General purpose GPU computing library.
  • Parallel and High-Performance Computing - General-purpose GPU computing library.

Historique des stars

Graphique de l'historique des stars pour arrayfire/arrayfireGraphique de l'historique des stars pour arrayfire/arrayfire

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Arrayfire

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Arrayfire.
  • xtensor-stack/xtensorAvatar de xtensor-stack

    xtensor-stack/xtensor

    3,748Voir sur GitHub↗

    xtensor is a C++ multidimensional array library for numerical computing that provides N-dimensional containers with an interface mirroring the NumPy API. It utilizes a lazy evaluation expression engine to defer numerical computations until assignment, which minimizes memory allocations and intermediate copies. The library features a foreign memory array adaptor that allows it to wrap external buffers, such as NumPy arrays, to perform numerical operations in-place without duplicating data. It further optimizes performance through lazy broadcasting and a system that manages the lifetime of temp

    C++c-plus-plus-14multidimensional-arraysnumpy
    Voir sur GitHub↗3,748
  • iamseancheney/python_for_data_analysis_2nd_chinese_versionAvatar de iamseancheney

    iamseancheney/python_for_data_analysis_2nd_chinese_version

    8,937Voir sur GitHub↗

    This project is an educational resource and a collection of instructional materials for performing data manipulation and statistical analysis using Python. It provides a comprehensive set of guides and code examples for using the Pandas, NumPy, and Matplotlib libraries to analyze structured data. The resource includes a dedicated guide for reshaping, cleaning, and aggregating tabular data and time series via Pandas, alongside a reference for high-performance vectorized operations and linear algebra using NumPy. It also features tutorials for creating publication-quality charts, distribution p

    matplotlibnumpypandas
    Voir sur GitHub↗8,937
  • torch/torch7Avatar de torch

    torch/torch7

    9,127Voir sur GitHub↗

    Torch7 is a scientific computing environment and tensor computation library used for deep learning research and numerical analysis. It functions as a Lua-based framework for training neural networks and learning agents, providing a toolkit for implementing architectures and training through reinforcement learning algorithms. The project is distinguished by its tight integration with C, utilizing a binding layer to map high-level scripting to low-level C structures for direct memory access. It supports hardware-accelerated computation by offloading linear algebra and convolution operations to

    C
    Voir sur GitHub↗9,127
  • rust-ndarray/ndarrayAvatar de rust-ndarray

    rust-ndarray/ndarray

    4,290Voir sur GitHub↗

    ndarray is a multidimensional array library for Rust that serves as a linear algebra framework and scientific computing tool. It provides the core infrastructure for creating and manipulating n-dimensional arrays, functioning as both a parallel array processor and a toolkit for numerical data analysis. The library distinguishes itself by providing efficient slicing and memory views, allowing for data sharing without copying. It leverages optimized backend math libraries for high-speed matrix multiplication and distributes heavy mathematical iterations across multiple CPU threads to accelerate

    Rust
    Voir sur GitHub↗4,290
Voir les 30 alternatives à Arrayfire→

Questions fréquentes

Que fait arrayfire/arrayfire ?

ArrayFire est un framework de calcul agnostique au matériel et un moteur de tenseurs compilé JIT conçu pour le calcul numérique haute performance. Il sert de bibliothèque de calcul numérique GPU et de toolkit de traitement du signal parallèle qui abstrait les backends matériels, permettant à la même base de code de s'exécuter sur diverses architectures GPU et CPU.

Quelles sont les fonctionnalités principales de arrayfire/arrayfire ?

Les fonctionnalités principales de arrayfire/arrayfire sont : Compute Backend Abstractions, GPU-Accelerated Computation, Array Type Casting, Hardware Abstraction Layers, Hardware Acceleration Kernels, Hardware-Agnostic Accelerators, Numerical Computing Libraries, Tensor Indexing.

Quelles sont les alternatives open-source à arrayfire/arrayfire ?

Les alternatives open-source à arrayfire/arrayfire incluent : xtensor-stack/xtensor — xtensor is a C++ multidimensional array library for numerical computing that provides N-dimensional containers with an… iamseancheney/python_for_data_analysis_2nd_chinese_version — This project is an educational resource and a collection of instructional materials for performing data manipulation… torch/torch7 — Torch7 is a scientific computing environment and tensor computation library used for deep learning research and… rust-ndarray/ndarray — ndarray is a multidimensional array library for Rust that serves as a linear algebra framework and scientific… morvanzhou/tutorials — This repository is a comprehensive collection of instructional guides and practical examples for Python development,… mrdbourke/zero-to-mastery-ml — This project is a machine learning educational curriculum and learning platform delivered through interactive Jupyter…