2 dépôts
Tools that reorder data structure fields to minimize memory padding and optimize alignment.
Distinct from Greedy Sorting Strategies: Closest candidates are greedy sorting algorithms or UI field layouts; this is about low-level memory layout optimization.
Explore 2 awesome GitHub repositories matching operating systems & systems programming · Memory Padding Optimizers. Refine with filters or upvote what's useful.
go-tools is a collection of utilities for Go static analysis and memory layout optimization. It provides a toolset designed to analyze source code to detect bugs and dead code, alongside specialized tools for optimizing how structs are arranged in memory. The project includes a memory alignment visualizer to display physical memory layouts and padding, as well as a struct layout optimizer that reorders fields to minimize memory padding. Additionally, it provides a boilerplate generator to automate the creation of registration and test files required for developing custom Go analyzers. The to
Provides a greedy field reordering mechanism to minimize memory padding in Go structs.
xtuner est un moteur d'entraînement complet pour les grands modèles de langage, offrant une boîte à outils pour le pré-entraînement, le fine-tuning supervisé et l'optimisation de modèles multimodaux vision-langage. Il sert d'accélérateur d'entraînement distribué et de framework spécialisé pour mettre à l'échelle des modèles Mixture-of-Experts et aligner le comportement du modèle via l'apprentissage par renforcement à partir de feedback humain (RLHF). Le projet se distingue par des optimisations avancées de mémoire et de calcul, telles que le parallélisme de séquence pour des fenêtres de contexte ultra-longues et le parallélisme de pipeline entrelacé pour réduire le temps d'inactivité du GPU. Il fournit une suite dédiée pour l'optimisation des préférences, implémentant des techniques comme Group Relative Policy Optimization et Direct Preference Optimization pour affiner les politiques du modèle et les systèmes de récompense. Les domaines de capacités étendus couvrent l'entraînement de modèle distribué sur plusieurs nœuds, la préparation de jeux de données multimodaux et la gestion du fine-tuning basé sur des adaptateurs. Le moteur inclut également des outils pour l'évaluation de modèle, la fusion de poids et l'exportation des paramètres entraînés vers des moteurs d'inférence. L'entraînement est géré via des fichiers de configuration standardisés et des lanceurs distribués pour assurer des résultats cohérents à travers les clusters de calcul.
Reduce GPU memory waste by packing variable-length data into single sequences to eliminate excessive padding.