4 repositorios
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 es un kit de herramientas de compresión de modelos y un framework de cuantización post-entrenamiento diseñado para reducir la huella de memoria de modelos de lenguaje grandes. Utiliza el algoritmo GPTQ para comprimir los pesos de las redes neuronales, reduciendo los requisitos de hardware y el uso de VRAM. El proyecto sirve como un acelerador de inferencia al proporcionar kernels optimizados que aumentan la velocidad de generación de tokens. Cuenta con extensibilidad de arquitectura de modelo, permitiendo que las capacidades de cuantización se añadan a nuevas estructuras de modelos mediante patrones configurables. El framework cubre una tubería de cuantización integral, incluyendo compresión de pesos por capa, estimación de escala basada en calibración y mapeo de memoria específico de precisión. También incluye sistemas para la evaluación del rendimiento del modelo para medir el impacto de la cuantización en la precisión en tareas de lenguaje y resumen.
Maps quantized tensors to specific memory layouts to enable faster loading and execution on hardware accelerators.
Janet es un lenguaje de programación dinámico basado en Lisp que cuenta con una máquina virtual de bytecode basada en registros y un motor de scripting integrable. Funciona como un runtime de concurrencia basado en fibras e incluye un motor de análisis basado en Gramáticas de Expresión de Análisis (PEG). El proyecto se distingue por su capacidad de integrarse en aplicaciones de C o C++ a través de una interfaz de cabecera mínima. Utiliza un sistema de macros al estilo Lisp para la transformación de código en tiempo de compilación y emplea herencia de tablas basada en prototipos para el comportamiento orientado a objetos. El runtime cubre un amplio conjunto de capacidades, incluyendo la gestión de IO asíncrona a través de un bucle de eventos no bloqueante, interoperabilidad de bibliotecas nativas a través de una interfaz de funciones externas y procesamiento de texto integral utilizando gramáticas PEG. También proporciona herramientas para la automatización del sistema, como un bucle de lectura-evaluación-impresión (REPL), un sistema de módulos para la resolución de símbolos y utilidades para la comunicación de sockets de red y la gestión del sistema de archivos. El entorno incluye herramientas de diagnóstico para la depuración de la ejecución de bytecode y puede empaquetar el código fuente en ejecutables binarios independientes.
Integrates native code into scripts by defining function signatures and managing memory pointers via a foreign function interface.