Solving Binary Integer Programing Problems With Balas' Additive Algorithm Using Graphics Processing Units
Notice bibliographique
Résumé
<p>This thesis seeks to determine if Balas' additive algorithm for solving Binary Integer Programming (BIP) problems benefits from parallel processing. It establishes serial implementations of a subproblem form and bookkeeping form of Balas' algorithm that introduce new branching rules, memory compaction schemes, fathoming rules and a record keeping method. Parallel implementations of the subproblem and bookkeeping algorithms are developed that use Graphics Processing Units (GPUs) as the parallel platform. The parallel work proceeds in three stages. The first stage involves the parallelization of subproblems with batches of nodes from a branch-and-bound tree being solved simultaneously on a GPU. The second stage involves the parallel exploration of many subtrees from a single branch-and-bound tree using a bookkeeping scheme and a work stealing technique. The third stage involves deploying the subproblem and bookkeeping approaches in a multi-GPU environment to study how the techniques scale with additional hardware resources. The serial Balas' work revealed that ordering BIP variables by their coefficient values delivers benefits in the form of accelerated branching, memory compaction and efficient record keeping. The parallel subproblem form of Balas' was the best performing parallel algorithm and delivered speedups of up to 1670x through the application of the serial innovations and GPU techniques such as memory coalescing and streaming. Despite these performance gains the subproblem form is limited by memory issues on the CPU that prevent the algorithm from solving very large problems. The parallel bookkeeping form of Balas' demonstrated speedups up to 217x thanks to a work stealing technique that balances work load across parallel processors. However, the bookkeeping algorithm suffers from code divergence on the GPU that degrades its parallel performance. In the multi-GPU environment, the performance of the subproblem algorithm scales with additional resources while the bookkeeping form’s performance improves only marginally. Despite its memory issues, the parallel subproblem form of Balas’ delivers orders-of-magnitude improvements in execution times compared to its serial analogue and is the dominant technique in this thesis.</p>
Récupéré en direct depuis OpenAlex et désinversé. Les résumés ne sont pas conservés dans cette base de données : les index inversés représentent 8,6 Go des 9,3 Go de texte de la base, et le serveur dispose de 13 Go libres.
Comment cette classification a été obtenuedéplier
Prédiction distillée sur la base complète
Imitation des enseignantsNi prévalence calibrée, ni vérité terrain. Validation humaine à venir. Apprise à partir de 10 348 étiquettes directes de Codex et de 10 348 étiquettes directes de Gemma. Le mode candidate est l'union des têtes enseignantes seuillées; le consensus est leur intersection. Ces sorties portent le statut machine_predicted_unvalidated et ne sont ni des étiquettes humaines ni des étiquettes directes de modèles de pointe.
Scores Codex et Gemma par catégorie
| Catégorie | Codex | Gemma |
|---|---|---|
| Métarecherche | 0,000 | 0,000 |
| Méta-épidémiologie (sens strict) | 0,001 | 0,001 |
| Méta-épidémiologie (sens large) | 0,001 | 0,000 |
| Bibliométrie | 0,001 | 0,002 |
| Études des sciences et des technologies | 0,000 | 0,000 |
| Communication savante | 0,001 | 0,000 |
| Science ouverte | 0,000 | 0,001 |
| Intégrité de la recherche | 0,001 | 0,002 |
| Charge utile insuffisante (le modèle a refusé de juger) | 0,000 | 0,000 |
Scores machine (provisoires)
Les deux têtes enseignantes du modèle étudiant, lues sur ce travail. Un score ordonne la base pour la relecture; il n'affirme jamais une catégorie, et le statut de validation accompagne chaque rangée tel quel.
Scores de référence d'un modèle non mature (critères de maturité non atteints, 7 itérations). Un score ordonne; il n'affirme jamais une catégorie.
score_only:v0-immature-baseline · tel quel depuis la passe de notation : score_only signifie que le nombre peut ordonner les travaux, et qu'aucune étiquette de catégorie n'en découleClassification
machine, non validéePrédiction automatique; un appel candidat d’une seule tête enseignante, pas un consensus.
Le détail, modèle par modèle et score par score, se trouve en fin de page sous « Comment cette classification a été obtenue ».