4 Repos
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 ist ein Toolkit zur Modellkomprimierung und ein Framework zur Post-Training-Quantisierung, das entwickelt wurde, um den Speicherbedarf großer Sprachmodelle zu reduzieren. Es nutzt den GPTQ-Algorithmus zur Komprimierung neuronaler Netzwerkgewichte, wodurch Hardwareanforderungen gesenkt und die VRAM-Nutzung reduziert werden. Das Projekt dient als Inferenz-Beschleuniger durch die Bereitstellung optimierter Kernels, die die Token-Generierungsgeschwindigkeit erhöhen. Es bietet Erweiterbarkeit der Modellarchitektur, wodurch Quantisierungsfunktionen durch konfigurierbare Muster zu neuen Modellstrukturen hinzugefügt werden können. Das Framework deckt eine umfassende Quantisierungspipeline ab, einschließlich schichtweiser Gewichtskomprimierung, kalibrierungsbasierter Skalenschätzung und präzisionsspezifischem Memory-Mapping. Es enthält zudem Systeme zur Bewertung der Modellperformance, um die Auswirkungen der Quantisierung auf die Genauigkeit bei Sprach- und Zusammenfassungsaufgaben zu messen.
Maps quantized tensors to specific memory layouts to enable faster loading and execution on hardware accelerators.
Janet ist eine Lisp-basierte dynamische Programmiersprache mit einer registerbasierten Bytecode-Virtual-Machine und einer einbettbaren Skript-Engine. Sie fungiert als Fiber-basierte Nebenläufigkeits-Runtime und enthält eine Parsing-Engine, die auf Parsing Expression Grammars basiert. Das Projekt zeichnet sich durch die Fähigkeit aus, über eine minimale Header-Schnittstelle in C- oder C++-Anwendungen integriert zu werden. Es nutzt ein Lisp-artiges Makrosystem für Code-Transformationen zur Kompilierzeit und verwendet prototypbasierte Tabellenvererbung für objektorientiertes Verhalten. Die Runtime deckt ein breites Spektrum an Funktionen ab, einschließlich asynchronem IO-Management durch eine nicht-blockierende Event-Loop, nativer Bibliotheksinteroperabilität über ein Foreign Function Interface und umfassender Textverarbeitung unter Verwendung von PEG-Grammatiken. Sie bietet zudem Tools für die Systemautomatisierung, wie eine Read-Eval-Print-Loop, ein Modulsystem für Symbolauflösung und Utilities für Netzwerk-Socket-Kommunikation und Dateisystemverwaltung. Die Umgebung enthält Diagnosetools für das Debugging der Bytecode-Ausführung und kann Quellcode in eigenständige binäre Executables bündeln.
Integrates native code into scripts by defining function signatures and managing memory pointers via a foreign function interface.