4 dépôts
Mechanisms for calling code written in one programming language from another.
Distinct from External Integrations: None of the candidates fit the general capability of integrating external compiled code; minting under Software Engineering & Architecture.
Explore 4 awesome GitHub repositories matching software engineering & architecture · Foreign Function Interfaces. Refine with filters or upvote what's useful.
NumPy is a foundational library for scientific computing in Python, providing a comprehensive framework for managing and manipulating large-scale numerical information. It centers on high-performance multidimensional array objects that serve as the primary data structure for complex mathematical operations and data analysis workflows. The library distinguishes itself through specialized mechanisms for handling multidimensional data, including advanced indexing, slicing, and broadcasting techniques that allow for efficient operations across arrays of varying shapes. It utilizes strided metadat
Connects low-level routines to high-level scripts to execute performance-critical logic.
This project provides Rust bindings for the TensorFlow C API, serving as a tensor computation interface and machine learning library. It enables the construction and execution of machine learning models and neural networks by bridging a systems language to high-performance backends. The framework supports GPU-accelerated computing to increase the speed of model training and inference by offloading mathematical operations to graphics processing units. It offers both graph-based computation for defining static network architectures and an eager execution mode for immediate operation calls durin
Converts native arrays into tensor formats to move data efficiently between the application and the external engine.
AutoGPTQ est un toolkit de compression de modèles et un framework de quantification post-entraînement conçu pour réduire l'empreinte mémoire des grands modèles de langage. Il utilise l'algorithme GPTQ pour compresser les poids des réseaux de neurones, abaissant les exigences matérielles et réduisant l'utilisation de la VRAM. Le projet sert d'accélérateur d'inférence en fournissant des noyaux optimisés qui augmentent la vitesse de génération de tokens. Il propose une extensibilité de l'architecture des modèles, permettant d'ajouter des capacités de quantification à de nouvelles structures de modèles via des modèles configurables. Le framework couvre un pipeline de quantification complet, incluant la compression de poids couche par couche, l'estimation d'échelle basée sur la calibration et le mappage mémoire spécifique à la précision. Il inclut également des systèmes pour l'évaluation de la performance des modèles afin de mesurer l'impact de la quantification sur la précision à travers des tâches de langage et de résumé.
Maps quantized tensors to specific memory layouts to enable faster loading and execution on hardware accelerators.
Janet est un langage de programmation dynamique basé sur Lisp présentant une machine virtuelle de bytecode basée sur des registres et un moteur de scripting intégrable. Il fonctionne comme un runtime de concurrence basé sur des fibres et inclut un moteur d'analyse basé sur des Parsing Expression Grammars (PEG). Le projet se distingue par sa capacité à être intégré dans des applications C ou C++ via une interface d'en-tête minimale. Il utilise un système de macros de style Lisp pour la transformation de code à la compilation et emploie l'héritage de table basé sur des prototypes pour un comportement orienté objet. Le runtime couvre un large ensemble de capacités, incluant la gestion d'IO asynchrone via une boucle d'événements non bloquante, l'interopérabilité de bibliothèque native via une interface de fonction étrangère (FFI) et un traitement de texte complet utilisant des grammaires PEG. Il fournit également des outils pour l'automatisation système, tels qu'une boucle read-eval-print (REPL), un système de module pour la résolution de symboles et des utilitaires pour la communication par socket réseau et la gestion du système de fichiers. L'environnement inclut des outils de diagnostic pour le débogage de l'exécution de bytecode et peut bundler le code source en exécutables binaires autonomes.
Integrates native code into scripts by defining function signatures and managing memory pointers via a foreign function interface.