3 dépôts
Utilities for accelerating numerical computations through sparsity detection, matrix coloring, and hardware offloading.
Distinct from Nonlinear Optimization Solvers: Distinct from Nonlinear Optimization Solvers: focuses on general performance acceleration techniques for solvers rather than specific nonlinear optimization algorithms.
Explore 3 awesome GitHub repositories matching scientific & mathematical computing · Performance Accelerators. Refine with filters or upvote what's useful.
Ceres Solver est une bibliothèque C++ pour l'optimisation numérique, spécialisée dans les problèmes de moindres carrés non linéaires et d'optimisation sans contrainte. Elle sert de framework pour la différenciation automatique et l'ajustement de courbe robuste, fournissant des outils pour résoudre des modèles mathématiques à grande échelle. La bibliothèque se distingue par ses capacités d'ajustement de faisceau (bundle adjustment), qui exploitent des structures de matrices creuses pour affiner les points de scène 3D et les paramètres de caméra. Elle utilise la différenciation automatique par nombres duaux pour calculer les dérivées des fonctions de coût, supprimant le besoin de dérivation manuelle du Jacobien. Le projet couvre un large éventail de capacités d'optimisation, y compris les contraintes de variété pour les espaces non euclidiens, les fonctions de perte robustes pour atténuer les valeurs aberrantes, et la résolution de systèmes linéaires denses et creux. Elle fournit également des utilitaires pour la conversion de représentation de rotation, l'interpolation de données tabulées et l'estimation de covariance de paramètres. Des configurations de build sont disponibles pour les cibles Android et iOS afin de prendre en charge l'optimisation du matériel mobile.
Optimizes memory and computation when the structural patterns of data change during the optimization process.
DifferentialEquations.jl est une bibliothèque numérique complète conçue pour résoudre des équations différentielles ordinaires, stochastiques, à retard et algébriques. Elle fonctionne comme une suite de solveurs haute performance qui intègre l'apprentissage automatique scientifique, la programmation probabiliste et la différenciation automatique dans un framework unifié. En tirant parti de la répartition multiple et de l'intégration symbolique-numérique, la bibliothèque fournit un environnement flexible pour la modélisation mathématique complexe et la simulation. Le projet se distingue par sa capacité à faire le pont entre l'analyse numérique traditionnelle et les techniques modernes d'apprentissage automatique. Il prend en charge l'entraînement aux équations différentielles universelles, permettant aux utilisateurs d'intégrer des réseaux de neurones directement dans des simulateurs scientifiques pour apprendre des dynamiques inconnues tout en maintenant des contraintes physiques. De plus, la bibliothèque offre des outils avancés d'analyse de sensibilité et d'estimation de paramètres, incluant des méthodes adjointes et l'inférence bayésienne, qui permettent un calibrage efficace des modèles et la découverte automatisée des équations gouvernantes à partir des données. La plateforme offre des capacités étendues pour le calcul haute performance, incluant un parallélisme agnostique au matériel qui répartit les simulations sur des CPU, GPU et clusters distribués. Elle intègre une quantification rigoureuse de l'incertitude via l'arithmétique d'intervalle et la propagation de Monte Carlo, garantissant une estimation fiable des erreurs dans les expériences numériques. De plus, le système propose des routines d'optimisation sophistiquées, telles que la détection de parcimonie basée sur les graphes et le calcul de produit sans matrice, pour accélérer les performances dans les systèmes à grande échelle.
Accelerates complex computations through automated sparsity detection, matrix coloring, and hardware offloading.
Symbolics.jl is a foundational framework for symbolic mathematics, automated differentiation, and scientific compilation within the Julia programming language. It provides a comprehensive system for algebraic manipulation, expression simplification, and the construction of mathematical models, enabling users to represent complex physical and chemical systems as symbolic equations. The library distinguishes itself through a source-to-source compilation engine that translates high-level symbolic representations directly into optimized, parallelized, and hardware-specific numerical code. By util
Provides automated sparsity detection for Jacobians and Hessians to skip zero-value computations during numerical execution.