Apprentissage automatique génial pour les compilateurs et l'optimisation des programmes
Une liste organisée de documents de recherche, d'ensembles de données et d'outils impressionnants pour appliquer des techniques d'apprentissage automatique aux compilateurs et à l'optimisation de programmes.
Contenu
- Papiers
- Enquête
- Compilation itérative et réglage des options du compilateur
- Optimisation au niveau des instructions
- Cartographie du parallélisme et planification des tâches
- Langues et compilation
- Réglage automatique et exploration de l'espace de conception
- Réduction de la taille du code
- Modèles de coûts et de performances
- Optimisation spécifique au domaine
- Représentation du programme d'apprentissage
- Activation du ML dans les compilateurs et l'optimisation des systèmes
- Modélisation/analyse de mémoire/cache
- Livres
- Conférences et tutoriels
- Logiciel
- Benchmarks et ensembles de données
- Conférences
- Journaux
- Comment contribuer
Papiers
Enquête
- Apprentissage automatique dans l'optimisation du compilateur - Zheng Wang et Michael O'Boyle, Actes de l'IEEE, 2018
- Une enquête sur le réglage automatique du compilateur à l'aide de l'apprentissage automatique - Amir H. Ashouri, William Killian, John Cavazos, Gianluca Palermo et Cristina Silvano, ACM Computing Surveys (CSUR), 2018
- Une enquête sur l'apprentissage automatique pour le gros code et le naturel - Miltiadis Allamanis, Earl T. Barr, Premkumar Devanbu et Charles Sutton, ACM Computing Surveys (CSUR), 2018
- Une taxonomie du ML pour les problèmes de systèmes - Martin Maas, IEEE Micro, 2020
- Le compilateur d'apprentissage profond : une enquête complète - Mingzhen Li, Yi Liu, Xiaoyan Liu, Qingxiao Sun, Xin You, Hailong Yang, Zhongzhi Luan, Lin Gan, Guangwen Yang, Depei Qian, Transactions IEEE sur les systèmes parallèles et distribués, 2021
Compilation itérative et réglage des options du compilateur
- SRTuner : personnalisation efficace de l'optimisation du compilateur en exposant les relations synergiques - Sunghyun Park, Salar Latifi, Yongjun Park, Armand Behroozi, Byungsoo Jeon, Scott Mahlke. CGO 2022.
- Optimisation de la compilation itérative basée sur l'apprentissage métrique et le filtrage collaboratif - Hongzhi Liu, Jie Luo, Ying Li, Zhonghai Wu. ACM TACO 2022.
- L'optimisation bayésienne est supérieure à la recherche aléatoire pour le réglage des hyperparamètres d'apprentissage automatique : analyse du défi d'optimisation de la boîte noire 2020 - Ryan Turner, David Eriksson, Michael McCourt, Juha Kiili, Eero Laaksonen, Zhen Xu, Isabelle Guyon. arXiv 2021.
- Bliss : réglage automatique d'applications complexes à l'aide d'un pool de divers modèles d'apprentissage légers - RB Roy, T Patel, V Gadepally, D Tiwari. PLDI 2021.
- Réglage automatique efficace du compilateur via l'optimisation bayésienne - Junjie Chen, Ningxin Xu, Peiqi Chen, Hongyu Zhang. ICSE 2021.
- Recherche d'arbre de Monte Carlo personnalisée pour les transformations d'optimisation de boucle composable de LLVM/Polly - Jaehoon Koo, Prasanna Balaprakash, Michael Kruse, Xingfu Wu, Paul Hovland, Mary Hall. Arxiv.org, 2021.
- Réorganisation améliorée des blocs de base - Andy Newell et Sergey Pupyrev. Transactions IEEE sur les ordinateurs, 2020.
- Optimisation du compilateur neuronal statique via l'apprentissage par renforcement profond - Rahim Mammadli, Ali Jannesari, Felix Wolf. Atelier LLVM HPC, 2020.
- Espace de recherche de réglage automatique pour les transformations de boucles - Michael Kruse, Hal Finkel, Xingfu Wu. Atelier LLVM HPC, 2020.
- Une approche de filtrage collaboratif pour le réglage automatique des optimisations du compilateur - Stefano Cereda, Gianluca Palermo, Paolo Cremonesi et Stefano Doni, LCTES 2020.
- Autophase : ordonnancement des phases du compilateur pour les hls avec apprentissage par renforcement profond. Ameer Haj-Ali, Qijing Huang, William Moses, John Xiang, Ion Stoica, Krste Asanovic, John Wawrzynek. MLSys 2020.
- FuncyTuner : réglage automatique des applications scientifiques avec compilation par boucle - Tao Wang, Nikhil Jain, David Beckingsale, David Böhme, Frank Mueller, Todd Gamblin. CIPP 2019.
- Micomp : Atténuation du problème d'ordre des phases du compilateur à l'aide de sous-séquences d'optimisation et de l'apprentissage automatique - Amir H. Ashouri, Andrea Bignoli, Gianluca Palermo, Cristina Silvano, Sameer Kulkarni et John Cavazos. Transactions ACM sur l'architecture et l'optimisation du code (TACO) 2017.
- Optimisation itérative du calendrier pour la parallélisation dans le modèle polyèdre - Stefan Ganser, Armin Grösslinger, Norbert Siegmund, Sven Apel et Christian Lengauer. Transactions ACM sur l'architecture et l'optimisation du code (TACO), 2017.
- Apprendre à superoptimiser les programmes - Rudy Bunel, Alban Desmaison, M. Pawan Kumar, Philip HS Torr, Pushmeet Kohlim. ICLR 2017
- Apprentissage continu des heuristiques du compilateur - Michele Tartara et Stefano Crespi Reghizzi. Transactions ACM sur l'architecture et l'optimisation du code (TACO), 2013.
- Atténuer le problème d'ordre des phases d'optimisation du compilateur à l'aide de l'apprentissage automatique - Sameer Kulkarni et John Cavazos. OUPSLA 2012.
- Une évaluation de différentes techniques de modélisation pour une compilation itérative - Eunjung Park, Sameer Kulkarni et John Cavazos. CAS 2011.
- Évaluation de l'optimisation itérative sur 1 000 ensembles de données - Yang Chen, Yuanjie Huang, Lieven Eeckhout, Grigori Fursin, Liang Peng, Olivier Temam et Chengyong Wu. PLDI 2010
- Optimisation itérative dans le modèle polyédrique : Partie II, temps multidimensionnel - Louis-Noël Pouchet, Cédric Bastoul, Albert Cohen et John Cavazos. PLDI 2008.
- Cole : exploration du niveau d'optimisation du compilateur - Kenneth Hoste et Lieven Eeckhout. CGO 2008.
- MILEPOST GCC : compilateur de recherche basé sur l'apprentissage automatique - Grigori Fursin, Cupertino Miranda, Olivier Temam, Mircea Namolaru, Elad Yom-Tov, Ayal Zaks, Bilha Mendelson et al., 2008
- Évaluation des algorithmes de recherche par ordre de phase d'optimisation heuristique - JW Davidson, Gary S. Tyson, DB Whalley et PA Kulkarni. CGO 2007.
- Sélection rapide de bonnes optimisations du compilateur à l'aide de compteurs de performances : John Cavazos, Grigori Fursin, Felix Agakov, Edwin Bonilla, Michael FP O'Boyle et Olivier Temam. CGO 2007.
- Utiliser l'apprentissage automatique pour concentrer l'optimisation itérative - Felix Agakov, Edwin Bonilla, John Cavazos, Björn Franke, Grigori Fursin, Michael FP O'Boyle, John Thomson, Marc Toussaint et Christopher KI Williams. CGO 2006.
- Compilation dynamique spécifique à une méthode utilisant la régression logistique - John Cavazos et Michael FP O'boyle. OUPSLA 2005.
- Prédire les facteurs de déroulement à l'aide de la classification supervisée - Mark Stephenson et Saman Amarasinghe. CGO 2005.
- Recherches rapides de séquences de phases d'optimisation efficaces - Prasad Kulkarni, Stephen Hines, Jason Hiser, David Whalley, Jack Davidson et Douglas Jones. PLDI 2004.
Optimisation au niveau des instructions
- RL4ReAl : Apprentissage par renforcement pour l'attribution des registres - S. VenkataKeerthy, Siddharth Jain, Anilava Kundu, Rohit Aggarwal, Albert Cohen, Ramakrishna Upadrasta. CC 2023.
- Distribution de boucles assistée par apprentissage par renforcement pour la localité et la vectorisation - Shalini Jain, S. VenkataKeerthy, Rohit Aggarwal, Tharun Kumar Dangeti, Dibyendu Das, Ramakrishna Upadrasta. Atelier LLVM HPC 2022.
- Découvrir des algorithmes de multiplication matricielle plus rapides avec apprentissage par renforcement - Fawzi, Alhussein, Matej Balog, Aja Huang, Thomas Hubert, Bernardino Romera-Paredes, Mohammadamin Barekatain, Alexander Novikov et al. Nature 2022
- Un environnement d'apprentissage par renforcement pour les optimisations polyédriques - Alexander Brauckmann, Andrés Goens, Jeronimo Castrillon. PACTE, 2021.
- Techniques de compilateur alimentées par l'IA pour l'optimisation du code DL - Sanket Tavarageri, Gagandeep Goyal, Sasikanth Avancha, Bharat Kaul, Ramakrishna Upadrasta. Arxiv.org, 2021.
- VeGen : un générateur de vecteurs pour SIMD et au-delà - Yishen Chen, Charith Mendis, Michael Carbin, Saman Amarasinghe. ASPLOS 2021.
- Algorithme de coloration de graphiques hybride basé sur l'apprentissage profond pour l'attribution de registres - Dibyendu Das, Shahid Asghar Ahmad, Kumar Venkataramanan. Atelier LLVM HPC, 2020.
- NeuroVectorizer : vectorisation de bout en bout avec apprentissage par renforcement profond - Ameer Haj-Ali, Nesreen K. Ahmed, Ted Willke, Yakun Sophia Shao, Krste Asanovic et Ion Stoica. CGO 2020.
- Libérer le pouvoir de l'apprentissage : une approche améliorée basée sur l'apprentissage pour la traduction binaire dynamique - Changheng Song, Wenwen Wang, Pen-Chung Yew, Antonia Zhai, Weihua Zhang. USENIX ATC 2019.
- Auto-Vectorisation du compilateur avec apprentissage par imitation - Charith Mendis, Cambridge Yang, Yewen Pu, Saman P. Amarasinghe, Michael Carbin. NeuroIPS 2019.
- Exploration multi-objectif pour des décisions d'optimisation pratiques en traduction binaire - Sunghyun Park, Youfeng Wu, Janghaeng Lee, Amir Aupov et Scott Mahlke. Transactions ACM sur les systèmes informatiques embarqués (TECS), 2019.
- Construction automatique d'heuristiques inlining à l'aide de l'apprentissage automatique. - Sameer Kulkarni, John Cavazos, Christian Wimmer et Douglas Simon. CGO 2013.
- Réglage automatique des heuristiques inlining - John Cavazos et Michael O'Boyle. CS 2005.
- Induire des heuristiques pour décider s'il faut planifier - John Cavazos et J. Eliot B. Moss. PLDI 2003.
- Méta-optimisation : amélioration de l'heuristique du compilateur grâce à l'apprentissage automatique - Mark Stephenson, Saman Amarasinghe, Martin Martin et Una-May O'Reilly. PLDI 2003.
- Apprendre à planifier du code en ligne droite - J. Eliot B. Moss, Paul E. Utgoff, John Cavazos, Doina Precup, Darko Stefanovic, Carla E. Brodley et David Scheeff. NeurIPS 1998.
Réglage automatique et exploration de l'espace de conception
- Réglage automatique accéléré des noyaux GPU pour les calculs tensoriels - Chendi Li et Yufan Xu et Sina Mahdipour Saravani et P. Sadayappan. ICS 2024.
- Révéler l'heuristique du compilateur grâce à la découverte et à l'optimisation automatisées - Volker Seeker, Chris Cummins, Murray Cole, Björn Franke, Kim Hazelwood, Hugh Leather. CGO 2024.
- L'algorithme de recherche de gouttelettes pour la planification du noyau - Michael Canesche, Vanderson M. Rosario, Edson Borin, Fernando Magno Quintão Pereira. ACM TACO 2024
- BaCO : un cadre d'optimisation de compilateur bayésien rapide et portable - Erik Hellsten, Artur Souza, Johannes Lenfers, Rubens Lacouture, Olivia Hsu, Adel Ejjeh, Fredrik Kjolstad, Michel Steuwer, Kunle Olukotun, Luigi Nardi. ASPLOS 2024.
- (De/Re)-Compositions exprimées systématiquement via des programmes basés sur MDH - Ari Rasch, Richard Schulze, Denys Shabalin, Anne Elster, Sergei Gorlatch, Mary Hall. CC 2023.
- L'autoréglage des convolutions est plus simple que vous ne le pensez - Nicolas Tollenaere , Guillaume Iooss , Stéphane Pouget , Hugo Brunie , Christophe Guillon , Albert Cohen , P. Sadayappan , Fabrice Rastello. ACM TACO 2022.
- Réglage des transferts : réutilisation des planifications automatiques pour une génération efficace de code de programme Tensor - Perry Gibson, Jose Cano. PACTE 2022.
- Aperçu : intégration mathématique des spécifications matérielles pour la compilation neuronale - Byung Hoon Ahn, Sean Kinzer, Hadi Esmaeilzadeh. CAD 2022.
- Tuner unique pour les compilateurs d'apprentissage profond - Jaehun Ryu, Eunhyeok Park, Hyojin Sung. CC 2022.
- Une approche flexible pour le réglage automatique des compilateurs d'apprentissage automatique multi-passes - Phitchaya Mangpo Phothilimthana, Amit Sabne, Nikhil Sarda, Karthik Srinivasa Murthy, Yanqi Zhou, Christof Angermueller, Mike Burrows, Sudip Roy, Ketan Mandke, Rezsa Farahani, Yu Emma Wang, Berkin Ilbeyi , Blake Hechtman, Bjarke Roune, Shen Wang, Yuanzhong Xu et Samuel J. Kaufman. PACTE 2021.
- TASO : Optimisation du calcul d'apprentissage profond avec génération automatique de substitutions de graphiques - Zhihao Jia, Oded Padon, James Thomas, Todd Warszawski, Matei Zaharia et Alex Aiken. ACM SOSP 2019.
- Apprentissage de la valeur pour l'optimisation du débit des charges de travail neuronales profondes - Benoit Steiner, Chris Cummins, Horace He, Hugh Leather. MLSys 2021.
- DynaTune : Optimisation du programme Tensor dynamique dans la compilation de réseaux neuronaux profonds - Minjia Zhang, Menghao Li, Chi Wang, Mingqin Li. ICLR 2021.
- Optimisation du placement de la mémoire à l'aide de l'apprentissage par renforcement des graphes évolutifs - Shauharda Khadka, Estelle Aflalo, Mattias Mardar, Avrech Ben-David, Santiago Miret, Shie Mannor, Tamir Hazan, Hanlin Tang, Somdeb Majumdar. ICLR 2021.
- GPTune : apprentissage multitâche pour le réglage automatique des applications exascale - Yang Liu, Wissam M. Sid-Lakhdar, Osni Marques, Xinran Zhu, Chang Meng, James W. Demmel, Xiaoye S. Li. PPoPP 2021.
- ApproxTuner : un compilateur et un système d'exécution pour les approximations adaptatives - Hashim Sharif, Yifan Zhao, Maria Kotsifakou, Akash Kothari, Ben Schreiber, Elizabeth Wang, Yasmin Sarita, Nathan Zhao, Keyur Joshi, Vikram S. Adve, Sasa Misailovic, Sarita Adve. PPoPP 2021.
- Réglage automatique efficace des programmes parallèles avec paramètres de réglage interdépendants via un cadre de réglage automatique (ATF) - Ari Rasch , Richard Schulze , Michel Steuwer , Sergei Gorlatch. ACM TACO 2021.
- Caméléon : optimisation adaptative du code pour une compilation accélérée de réseaux neuronaux profonds - Byung Hoon Ahn, Prannoy Pilligundla, Amir Yazdanbakhsh, Hadi Esmaeilzadeh. ICLR 2020.
- Ansor : Générer des programmes tenseurs hautes performances pour l'apprentissage profond - Lianmin Zheng, Chengfan Jia, Minmin Sun, Zhao Wu, Cody Hao Yu, Ameer Haj-Ali, Yida Wang, Jun Yang, Danyang Zhuo, Koushik Sen, Joseph E. Gonzalez, Ion Stoica. OSDI 2020. (diapositives, présentation)
- Un autotuner algorithmique basé sur des modèles pour le traitement graphique sur les GPU - Ke Meng, Jiajia Li, Guangming Tan, Ninghui Sun. PPoPP 2019.
- FBNet : conception ConvNet efficace et sensible au matériel via une recherche d'architecture neuronale différentiable - Bichen Wu, Xiaoliang Dai, Peizhao Zhang, Yanghan Wang, Fei Sun, Yiming Wu, Yuandong Tian, Peter Vajda, Yangqing Jia, Kurt Keutzer. CVPR 2019.
- TVM : un compilateur automatisé d'optimisation de bout en bout pour le deep learning - Tianqi Chen, Thierry Moreau, Ziheng Jiang, Lianmin Zheng, Eddie Yan, Haichen Shen, Meghan Cowan et al., OSDI 2018
- BOAT : Création d'auto-régleurs avec optimisation bayésienne structurée - Valentin Dalibard, Michael Schaarschmidt et Eiko Yoneki, WWW 2017.
- Cobayn : cadre de réglage automatique du compilateur utilisant des réseaux bayésiens - Amir H. Ashouri, Giovanni Mariani, Gianluca Palermo, Eunjung Park, John Cavazos et Cristina Silvano, ACM Transactions on Architecture and Code Optimization (TACO), 2016.
- Choix algorithmique de réglage automatique pour la sensibilité d'entrée - Yufei Ding, Jason Ansel, Kalyan Veeramachaneni, Xipeng Shen, Una-May O'Reilly et Saman Amarasinghe. PLDI 2015
- Rapide : un cadre de réglage automatique rapide des pochoirs basé sur un modèle spatial de solution optimale : Yulong Luo, Guangming Tan, Zeyao Mo et Ninghui Sun. Transactions ACM sur l'architecture et l'optimisation du code (TACO), 2015.
- Performances du GPU et réglage de la puissance à l'aide d'arbres de régression - Wenhao Jia, Elba Garza, Kelly A. Shaw et Margaret Martonosi. CS 2015.
- Optimisation thermique inter et intra-application basée sur l'apprentissage par renforcement pour l'amélioration de la durée de vie des systèmes multicœurs - Anup K Das, Rishad Ahmed Shafik, Geoff V Merrett, Bashir M Al-Hashimi, Akash Kumar, Bharadwaj Veeravalli. CAD 2014
- Opentuner : un cadre extensible pour le réglage automatique des programmes - Jason Ansel, Shoaib Kamil, Kalyan Veeramachaneni, Jonathan Ragan-Kelley, Jeffrey Bosboom, Una-May O'Reilly et Saman Amarasinghe. PACTE 2014
- Apprivoiser la complexité des E/S parallèles grâce au réglage automatique - Babak Behzad, Huong Vu Thanh Luu, Joseph Huchette, Surendra Byna, Ruth Aydt, Quincey Koziol et Marc Snir. CS 2013.
- Un cadre de réglage automatique multi-objectifs pour les codes parallèles - Herbert Jordan, Peter Thoman, Juan J. Durillo, Simone Pellegrini, Philipp Gschwandtner, Thomas Fahringer et Hans Moritsch. CS 2012.
- Optimisation basée sur Bandit sur les graphiques avec application au réglage des performances des bibliothèques - Frédéric De Mesmay, Arpad Rimmel, Yevgen Voronenko et Markus Püschel. CIML 2009.
- Combinaison de modèles et de recherches empiriques guidées pour optimiser plusieurs niveaux de la hiérarchie de la mémoire - Chun Chen, Jacqueline Chame et Mary Hall. CGO 2005
- Harmonie active : vers un réglage automatisé des performances - Cristian Tapus , I-Hsin Chung , Jeffrey K. Hollingsworth. CS 2002
Cartographie du parallélisme et planification des tâches
- Exploration de modèles de réseaux neuronaux convolutifs pour la classification du code source - Francesco Barchi, Emanuele Parisi, Gianvito Urgese, Elisa Ficarra et Andrea Acquaviva. Applications d'ingénierie de l'intelligence artificielle, janvier 2021.
- Pilote automatique : mise à l'échelle automatique de la charge de travail chez Google - Krzysztof Rzadca, Pawel Findeisen, Jacek Swiderski, Przemyslaw Zych, Przemyslaw Broniek, Jarek Kusmierek, Pawel Nowak, Beata Strack, Piotr Witusowski, Steven Hand, John Wilkes. EuroSys 2020. diapositives
- Modélisation et optimisation des effets NUMA et prélecture avec l'apprentissage automatique - Isaac Sánchez Barrera, David Black-Schaffer, Marc Casas, Miquel Moretó, Anastasiia Stupnikova et Mihail Popov. SCI 2020.
- Poise : Équilibrer le parallélisme au niveau des threads et les performances du système de mémoire dans les GPU à l'aide de l'apprentissage automatique - Saumay Dublish, Vijay Nagarajan et Nigel Tophama. HPCA 2019.
- Placement de données et de threads dans les architectures NUMA : une approche d'apprentissage statistique - Nicolas Denoyelle, Brice Goglin, Emmanuel Jeannot et Thomas Ropars. CIPP 2019.
- Cartographie de code sur des plates-formes hétérogènes utilisant le Deep Learning et LLVM-IR - Francesco Barchi, Gianvito Urgese, Enrico Macii et Andrea Acquaviva. CAD 2019.
- Optimisation adaptative pour les programmes OpenCL sur des systèmes hétérogènes embarqués - Ben Taylor, Vicent Sanz Marco et Zheng Wang. LCTES 2017.
- Améliorer le débit des applications Spark via une colocalisation des tâches prenant en compte la mémoire : un mélange d'approches d'experts - Vicent Sanz Marco, Ben Taylor, Barry Porter et Zheng Wang. Intergiciel 2017.
- Planification multitâche intelligente pour les programmes OpenCL sur des plates-formes hétérogènes CPU/GPU - Yuan Wen, Zheng Wang et Michael FP O'Boyle. HiPC 2015.
- Quasar : gestion de cluster économe en ressources et soucieuse de la qualité de service - Christina Delimitrou et Christos Kozyrakis. ASPLOS 2014.
- Mappage automatique et portable de programmes parallèles de données vers opencl pour les systèmes hétérogènes basés sur GPU - Zheng Wang, Dominik Grewe et Michael O'boyle. Transactions ACM sur l'architecture et l'optimisation du code (TACO), 2014.
- Intégration de la détection du parallélisme basée sur le profil et de la cartographie basée sur l'apprentissage automatique - Zheng Wang, Georgios Tournavitis, Björn Franke et Michael FP O'boyle. Transactions ACM sur l'architecture et l'optimisation du code (TACO), 2014.
- Performance portable sur des architectures hétérogènes - Phitchaya Mangpo Phothilimthana, Jason Ansel, Jonathan Ragan-Kelley, Saman Amarasinghe. ASPLOS 2013.
- Cartographie intelligente et adaptative du parallélisme en présence d'une charge de travail externe - Murali Krishna Emani, Zheng Wang et Michael O'Boyle. CGO 2013.
- Partitionnement du parallélisme de streaming pour les multicœurs : une approche basée sur l'apprentissage automatique - Zheng Wang et Michael O'Boyle. PACTE 2010.
- Qilin : exploiter le parallélisme sur des multiprocesseurs hétérogènes avec cartographie adaptative - Chi-Keung Luk, Sunpyo Hong et Hyesoon Kim. MICRO2009.
- Cartographie du parallélisme sur plusieurs cœurs : une approche basée sur l'apprentissage automatique - Zheng Wang et Michael O'Boyle. PPoPP 2009.
Optimisation spécifique au domaine
- Seer : Sélection prédictive du noyau d'exécution pour les problèmes irréguliers - Ryan Swann, Muhammad Osama, Karthik Sangaiah, Jalal Mahmud. CGO 2024
- Optimisation des programmes tenseurs avec des programmes probabilistes - Junru Shao, Xiyou Zhou, Siyuan Feng, Bohan Hou, Ruihang Lai, Hongyi Jin, Wuwei Lin, Masahiro Masuda, Cody Hao Yu, Tianqi Chen. NeuroIPS 2022
- moTuner : une approche de réglage automatique basée sur un compilateur pour les opérateurs de précision mixte - Zewei Mo, Zejia Lin, Xianwei Zhang, Yutong Lu. CF 2022
- Collage : Intégration automatisée des backends d'apprentissage profond - Byungsoo Jeon, Sunghyun Park, Peiyuan Liao, Sheng Xu, Tianqi Chen, Zhihao Jia. PACTE 2022
- Apprentissage des invariants de boucle non linéaire avec des réseaux logiques continus déclenchés - J. Yao, G. Ryan, J. Wong, S. Jana et R. Gu. PLDI 2020.
- Allocation de mémoire basée sur l'apprentissage pour les charges de travail des serveurs C++ - Maas, Martin, David G. Andersen, Michael Isard, Mohammad Mahdi Javanmard, Kathryn S. McKinley et Colin Raffel. ASPLOS 2020. préréglage
- Combler le fossé entre l'apprentissage profond et la sélection de formats de matrice clairsemée - Yue Zhao, Jiajia Li, Chunhua Liao et Xipeng Shen. PPoPP 2018.
- Camel : optimisation énergétique intelligente et adaptative pour les interactions Web mobiles - Jie Ren, Y. Lu, Petteri Nurmi, Xiaoming Wang, Miao Ma, Ling Gao, Zhanyong Tang, Jie Zheng et Zheng Wang. INFOCOM 2020.
- Optimiser le tri avec des algorithmes génétiques - Xiaoming Li, Maria Jesus Garzaran et David Padua. CGO 2005.
Langues et compilation
- (De/Re)-Composition de calculs parallèles de données via des homomorphismes multidimensionnels - Ari Rasch, TOPLAS 2024.
- Halide : un langage et un compilateur pour optimiser le parallélisme, la localité et le recalcul dans les pipelines de traitement d'images - Jonathan Ragan-Kelley, Connelly Barnes, Andrew Adams, Sylvain Paris, Frédo Durand et Saman Amarasinghe, PLDI 2013.
- PetaBricks : un langage et un compilateur pour le choix algorithmique - Jason Ansel, Cy Chan, Yee Lok Wong, Marek Olszewski, Qin Zhao, Alan Edelman et Saman Amarasinghe. PLDI 2009.
- Atteindre des performances élevées de manière fonctionnelle : une perle fonctionnelle sur l'expression d'optimisations hautes performances sous forme de stratégies de réécriture - Bastian Hagedorn, Johannes Lenfers, Thomas K{oe}hler, Xueying Qin, Sergei Gorlatch et Michel Steuwer. Actes de l'ACM sur les langages de programmation 2020.
Réduction de la taille du code
- Commandes de réussite du compilateur d'apprentissage utilisant Coreset et prédiction de valeur normalisée - Youwei Liang, Kevin Stone, Ali Shameli, Chris Cummins, Mostafa Elhoushi, Jiadong Guo, Benoit Steiner, Xiaomeng Yang, Pengtao Xie, Hugh Leather, Yuandong Tian. CIML 2023.
- POSET-RL : Ordre des phases pour optimiser la taille et le temps d'exécution à l'aide de l'apprentissage par renforcement - Shalini Jain, Yashas Andaluri, S. VenkataKeerthy, Ramakrishna Upadrasta. ISPASS 2022.
- Explorer l'espace des séquences d'optimisation pour la réduction de la taille du code : informations et outils - Anderson Faustino da Silva, Bernardo NB de Lima et Fernando Magno Quintao Pereira. CC 2021. Code et données
- Utiliser l'apprentissage automatique pour prédire l'impact de l'heuristique de duplication sur la taille du code dans un compilateur dynamique - Raphael Mosaner, David Leopoldseder, Lukas Stadler et Hanspeter Mössenböck. MPLR 2021.
- ANGHABENCH : une suite avec un million de références C compilables pour la réduction de la taille du code - Anderson Faustino da Silva, Bruno Conde Kind, Jose Wesley de Souza Magalhaes, Jeronimo Nunes Rocha, Breno Campos Ferreira Guimaraes, Fernando Magno Quintao Pereira. CGO 2021. Code et données
- Logiciel guidé par apprentissage par renforcement - Nham Le Van, Ashish Gehani, Arie Gurfinkel, Susmit Jha et Jorge A. Navas. MLSys 2019.
- Optimisation pour un espace de code réduit à l'aide d'algorithmes génétiques - Keith D. Cooper, Philip J. Schielke et Devika Subramanian. LCTES 1999.
Modèles de coûts et de performances
- TLP : Un modèle de coûts basé sur l'apprentissage profond pour le réglage du programme Tensor - Yi Zhai, Yu Zhang, Shuo Liu, Xiaomeng Chu, Jie Peng, Jianmin Ji, Yanyong Zhang, ASPLOS, 2023.
- Performance-Detective : Déduction automatique de modèles de performances bon marché et précis - Larissa Schmid, Marcin Copik, Alexandru Calotoiu, Dominik Werle, Andreas Reiter, Michael Selzer, Anne Koziolek, Torsten Hoefler, ICS, 2022.
- Prédiction des performances basée sur un réseau neuronal pour la migration de tâches sur plusieurs cœurs S-NUCA - Martin Rapp, Anuj Pathania, Tulika Mitra, Jörg Henkel, IEEE Transactions on Computers, 2021.
- Un modèle de coûts basé sur le Deep Learning pour l'optimisation automatique du code - Riyadh Baghdadi, Massinissa Merouani, Mohamed-Hicham LEGHETTAS, Kamel Abdous, Taha Arbaoui, Karima BENATCHBA, Saman amarasinghe, MLSys 2021
- Analyse comparative de la structure du code à l'aide du Deep Learning pour la prévision des performances - Nathan Pinnow, Tarek Ramadan, Tanzima Z. Islam, Chase Phelps, Jayaraman J. Thiagarajan, ISPASS 2021
- Extraire des modèles de performances propres à partir de programmes corrompus - Marcin Copik, Alexandru Calotoiu, Tobias Grosser, Nicolas Wicki, Felix Wolf, Torsten Hoefler. PPoPP 2021.
- PMEvo : Inférence portable des mappages de ports pour les processeurs hors service par optimisation évolutive - Fabian Ritter, Sebastian Hack. PLDI 2020.
- Une méthode d'apprentissage actif pour la modélisation empirique dans le réglage des performances - Jiepeng Zhang, Jingwei Sun, Wenju Zhou, Guangzhong Sun. IPDPS 2020.
- Apprendre à optimiser les halogénures avec la recherche arborescente et les programmes aléatoires - Andrew Adams, Karima Ma, Luke Anderson, Riyadh Baghdadi, Tzu-Mao Li, Michael Gharbi, Benoit Steiner, Steven Johson, Kayvon Fatahalian, Fredo Durand, Jonathan Ragan-Kelley. Graphique trans ACM, 2019.
- Ithemal : estimation précise, portable et rapide du débit de blocs de base à l'aide de réseaux neuronaux profonds - Charith Mendis, Alex Renda, Saman Amarasinghe et Michael Carbin. CIML 2019.
- Absinthe : apprentissage d'un modèle de performance analytique pour fusionner et mosaïquer les codes de pochoir en une seule fois - Tobias Gysi, Tobias Grosser et Torsten Hoefler. PACTE 2019.
- Prédire une nouvelle charge de travail ou des performances du processeur en analysant des ensembles de données publics - Yu Wang, Victor Lee, Gu-Yeon Wei et David Brooks. Transactions ACM sur l'architecture et l'optimisation du code (TACO), 2019.
- Création automatique de modèles de sélection de taille de carrelage - Tomofumi Yuki, Lakshminarayanan Renganarayanan, Sanjay Rajopadhye, Charles Anderson, Alexandre E. Eichenberger et Kevin O'Brien. CGO 2010.
- Modèles empiriques sensibles à la microarchitecture pour l'optimisation du compilateur - Kapil Vaswani, Matthew J. Thazhuthaveetil, YN Srikant et PJ Joseph. CGO 2007.
- Estimateurs statiques précis pour l'optimisation des programmes - Tim A. Wagner, Vance Maverick, Susan L. Graham et Michael A. Harrison. PLDI 1994.
Représentation du programme d'apprentissage
- Intégrations de performances : une approche de réglage de transfert basée sur la similarité pour l'optimisation des performances - L Trümper, T Ben-Nun, P Schaad, A Calotoiu, T Hoefler. ICS 2023.
- Améliorer l'analyse binaire multiplateforme à l'aide de l'apprentissage des représentations via l'alignement de graphiques - Geunwoo Kim, Sanghyun Hong, Michael Franz, Dokyung Song. AISS 2022.
- Représentations du programme pour la compilation prédictive : état des lieux au début des années 20 - Anderson Faustino da Silva, Edson Borin, Fernando Magno Quintao Pereira, Nilton Luiz Queiroz Junior et Otavio Oliveira Napoli. JCL 2022. Code et données
- Analyse comparative de la structure du code à l'aide du Deep Learning pour la prévision des performances - DNathan Pinnow, Tarek Ramadan, Tanzima Z. Islam, Chase Phelps, Jayaraman J. Thiagarajan. ISPASS 2021.
- GraphCodeBERT : Représentations de code de pré-formation avec flux de données - Daya Guo, Shuo Ren, Shuai Lu, Zhangyin Feng, Duyu Tang, Shujie LIU, Long Zhou, Nan Duan, Alexey Svyatkovskiy, Shengyu Fu, Michele Tufano, Shao Kun Deng, Colin Clement , Dawn Drain, Neel Sundaresan, Jian Yin, Daxin Jiang, Ming Zhou. ICLR 2021.
- CodeBERT : un modèle pré-entraîné pour la programmation et les langages naturels - Zhangyin Feng, Daya Guo, Duyu Tang, Nan Duan, Xiaocheng Feng, Ming Gong, Linjun Shou, Bing Qin, Ting Liu, Daxin Jiang, Ming Zhou. EMNLP 2020.
- IR2VEC : intégrations de programmes évolutifs basés sur LLVM IR - S. VenkataKeerthy, Rohit Aggarwal, Shalini Jain, Maunendra Sankar Desarkar, Ramakrishna Upadrasta et YN Srikant. TACO2020.
- Modélisation approfondie de la structure du programme grâce à l'apprentissage basé sur des graphiques multi-relationnels - Guixin Ye, Zhanyong Tang, Huanting Wang, Jianbin Fang, Songfang Huang et Zheng Wang. PACTE 2020.
- Modèles relationnels globaux du code source - Vincent J. Hellendoorn, Charles Sutton, Rishabh Singh, Petros Maniatis, David Bieber, ICLR 2020. (Données et code)
- Apprentissage des intégrations de programmes sémantiques avec le réseau neuronal à intervalles graphiques - Yu Wang, Ke Wang, Fengjuan Gao et Linzhang Wang. OUPSLA 2020.
- Flow2Vec : intégration de code précis basée sur le flux de valeurs - Yulei Sui, Xiao Cheng, Guanqin Zhang et Haoyu Wang. OUPSLA 2020.
- MISIM : Un système de similarité de code neuronal de bout en bout - Fangke Ye, Shengtian Zhou, Anand Venkat, Ryan Marcus, Nesime Tatbul, Jesmin Jahan Tithi, Paul Petersen, Timothy Mattson, Tim Kraska, Pradeep Dubey, Vivek Sarkar et Justin Gottschlich . arXiv 2020.
- Intégrations de programmes sémantiques mixtes et précis - Ke Wang et Zhendong Su. PLDI 2020.
- LambdaNet : Inférence de type probabiliste à l'aide de réseaux de neurones graphiques - Jiayi Wei, Maruth Goyal, Greg Durrett et Isil Dillig. ICLR 2020.
- Représentations graphiques basées sur un compilateur pour les modèles de code d'apprentissage profond - Alexander Brauckmann, Andrés Goens, Sebastian Ertel et Jeronimo Castrillon. CC 2020.
- Modélisation de code génératif avec des graphiques - Marc Brockschmidt, Miltos Allamanis, Alexander L. Gaunt et Oleksandr Polozov. ICLR 2019.
- code2seq : Génération de séquences à partir de représentations structurées de code - Uri Alon, Shaked Brody, Omer Levy et Eran Yahav. ICLR 2019.
- code2vec : Apprentissage des représentations distribuées du code - Uri Alon, Meital Zilberstein, Omer Levy et Eran Yahav. POPL 2019.
- COSET : Une référence pour l'évaluation des intégrations de programmes neuronaux - Ke Wang, Mihai Christodorescu. arXiv 2019.
- Apprendre à représenter des programmes avec des graphiques - Miltiadis Allamanis, Marc Brockschmidt et Mahmoud Khademi. ICLR 2018.
- Compréhension du code neuronal : une représentation apprenable de la sémantique du code - Tal Ben-Nun, Alice Shoshana Jakobovits et Torsten Hoefler. NeuroIPS 2018.
- Apprentissage approfondi de bout en bout des heuristiques d'optimisation - Chris Cummins, Pavlos Petoumenos, Zheng Wang et Hugh Leather (diapositives). PACTE 2017.
- Échantillonnage de programmes sémantiques - Pratiksha Thaker, Daniel Tarlow et Marc Brockschmidt. NeurIPS 2017.
- DeepCoder : Apprendre à écrire des programmes - Matej Balog, Alexander L. Gaunt, Marc Brockschmidt, Sebastian Nowozin et Daniel Tarlow. ICLR 2017.
- Réseaux de neurones convolutifs sur des structures arborescentes pour le traitement du langage de programmation - Lili Mou, Ge Li, Lu Zhang, Tao Wang et Zhi Jin. AAAI 2016.
- Un réseau d'attention convolutionnelle pour une synthèse extrême du code source - Miltos Allamanis, Hao Peng et Charles Sutton. CIML 2016.
- Modèles génératifs structurés de code source naturel - Chris Maddison et Daniel Tarlow. CIML 2014.
- Utilisation de la caractérisation de programmes basés sur des graphiques pour la modélisation prédictive - Eunjung Park, John Cavazos et Marco A. Alvarez. CGO 2011.
- Génération automatique de fonctionnalités pour la compilation d'optimisation basée sur l'apprentissage automatique - Hugh Leather, Edwin Bonilla et Michael O'Boyle. CGO 2009.
- Un cadre basé sur le jeu pour comparer les classificateurs et les évadés de programmes - Thais Damasio, Michael Canesche, Vinicius Pacheco, Anderson Faustino da Silva, Marcus Botacin et Fernando Magno Quintao Pereira. CGO 2023. Code et données
Activation du ML dans les compilateurs et l'optimisation des systèmes
- Améliorer la robustesse du modèle prédictif au moment du déploiement pour l'analyse et l'optimisation du code - Huanting Wang, Patrick Lenihan, Zheng Wang. CGO 2025. (Code)
- Le dialecte de transformation MLIR - Votre compilateur est plus puissant que vous ne le pensez - Martin Paul Lücke, Oleksandr Zinenko, William S. Moses, Michel Steuwer, Albert Cohen. Arxiv 2024.
- Compilateur de modèles de méta-grand langage : modèles de base d'optimisation du compilateur - Chris Cummins, Volker Seeker, Dejan Grubisic, Baptiste Roziere, Jonas Gehring, Gabriel Synnaeve, Hugh Leather. Arxiv 2024.
- Les prochaines optimisations du compilateur compatible 700 ML - S. VenkataKeerthy, Siddharth Jain, Umesh Kalvakuntla, Pranav Sai Gorantla, Rajiv S Chitale, Eugene Brevdo, Albert Cohen, Mircea Trofin, Ramakrishna Upadrasta. CC 2024.
- BenchPress : un générateur de référence actif et approfondi - Foivos Tsimpourlas, Pavlos Petoumenos, Min Xu, Chris Cummins, Kim Hazelwood, Ajitha Rajan, Hugh Leather. PACTE 2022 (code)
- Automatisation de la conception d'architecture d'apprentissage par renforcement pour l'optimisation du code - Huanting Wang, Zhanyong Tang, Cheng Zhang, Jiaqi Zhao, Chris Cummins, Hugh Leather, Zheng Wang. CC 2022 (code)
- Apprentissage des représentations sémantiques pour vérifier les conceptions matérielles - Shobha Vasudevan, Wenjie (Joe) Jiang, David Bieber, Rishabh Singh, Hamid Shojaei, C. Richard Ho, Charles Sutton. NeuroIPS 2021
- Génération de code composable et modulaire dans MLIR : une approche structurée et reciblable de la construction d'un compilateur tensoriel - Nicolas Vasilache, Oleksandr Zinenko, Aart JC Bik, Mahesh Ravishankar, Thomas Raoux, Alexander Belyaev, Matthias Springer, Tobias Gysi, Diego Caballero, Stephan Herhut, Stella Laurenzo, Albert Cohen. arXiV 2022
- Co-évolution approfondie basée sur la PNL pour synthétiser l'analyse de code à partir du langage naturel - Zifan Nan, Hui Guan, Xipeng Shen, Chunhua Liao. CC2021
- MLGO : un cadre d'optimisation de compilateur guidé par apprentissage automatique - Mircea Trofin, Yundi Qian, Eugene Brevdo, Zinan Lin, Krzysztof Choromanski, David Li. arXiv. Code
- Vers une meilleure compréhension du réglage automatique des boîtes noires : une analyse comparative des systèmes de stockage - Zhen Cao, Vasily Tarasov, Sachin Tiwari et Erez Zadok. ATC 2018.
- Synthèse des repères pour la modélisation prédictive - Chris Cummins, Pavlos Petoumenos, Zheng Wang et Hugh en cuir (diapositives). CGO 2017.
- Minimiser le coût de la compilation itérative avec l'apprentissage actif - William Ogilvie, Pavlos Petoumenos, Zheng Wang et Hugh Leather. CGO 2017.
- Vespa: Profil statique pour l'optimisation binaire - Angelica aparecida Moreira, Guilherme Ottoni et Fernando Magno Quintao Pereira. Oopsla 2021. Code et données
- Mappage des calculs dans des systèmes multicore hétérogènes avec régression statistique sur les entrées du programme - Junio Cezar Ribeiro da Silva, Lorena Leao, Vinicius Petrucci, Abdoulaye Gamatie et Fernando Magno Quintao Pereira. TECS 2021.
Modélisation / analyse de mémoire / cache
- Optimisation de la cartographie de la mémoire à l'aide d'un apprentissage en renforcement profond - Pengming Wang, Mikita Sazanovich, Berkin Ilbeyi, Phecine Mangpo Phothilimthana, Manish Purohit, Han Yang Tay, Ngân Vũ, Miaosend Wang, Cosmin Paduraru, Edouard Leurent, Anton Zhernov, Julian Schrittwiers, Thomaser, Anton Zhernov, Julian Schrittwiers, Thomaser, Anton Zhernov, Julian Schrittwieser, Thomaser, Anton Zhernov, Julian Schrittwiers, Thomaser, Anton Zhernov, Julian Schrittwieser, Thomaser, Huntor, Roerov, Julian Scrac Tung, Paula Kurylowicz, Kieran Milan, Oriol Vinyals, Daniel J. Mankowitz. Arxiv 2023.
- Apprentissage des modèles d'accès à la mémoire - Milad Hashemi, Kevin Swersky, Jamie A. Smith, Grant Ayers, Heiner Litz, Jichuan Chang, Christos Kozyrakis, Parthasarathy Ranganathan. CIML 2018
- Prédiction statique des magasins silencieux - Fernando Magno Quintao Pereira, Guilherme Vieira Leobas et Abdoulaye Gamatie. Taco 2019. Code et données
Livres
- Taping automatique des compilateurs utilisant l'apprentissage automatique - Amir H. Ashouri, Gianluca Palermo, John Cavazos et Cristina Silvano. Springer 2018.
- Tunage automatique du logiciel - des concepts aux résultats de pointe - K Naono, K Teranishi, J Cavazos et R Suda. Springer 2010.
Conférences et tutoriels
- Saman Amarasinghe, Compiler 2.0: Utilisation de l'apprentissage automatique pour moderniser la technologie du compilateur. LCTES 2020.
- Amir Ashouri, compilateur Autotuning à l'aide de l'apprentissage automatique: une revue de pointe (diapositives). Université polytechnique de Milan 2018.
Logiciel
- Prom - une boîte à outils Python pour aider à identifier la mauvaise prédiction du modèle ML après déploiement (papier).
- ML-Compiler-Bridge - Bibliothèque aux compilateurs d'interface et modèles ML pour les optimisations du compilateur compatibles ML (papier).
- Supersonic - Automatiser la conception d'architecture d'apprentissage du renforcement (papier).
- Compilergym - Environnements d'apprentissage de renforcement pour les optimisations du compilateur (papier).
- Codebert - Modèles DNN pré-formés pour les langages de programmation (papier).
- IR2VEC - LLVM IR Based Program Embeddings for Machine Learning (Paper).
- Programl - Représentation du programme LLVM et XLA IR pour l'apprentissage automatique (papier).
- NeuroVectizer - Utilisation d'apprentissage en renforcement profond (RL) pour prédire les pragmas de compilateur de vectorisation optimal (papier).
- TVM - Stack de compilateur en profondeur ouverte pour CPU, GPU et accélérateurs spécialisés (papier; diapositives).
- CLGEN - Générateur de référence utilisant LSTMS (papier; diapositives).
- Cobayn - Autotuning du compilateur à l'aide de BNS (papier).
- Opentuner - Framework pour la construction de programmes multi-objectifs spécifiques au domaine AutoTuners (papier; diapositives)
- ONNX-MLIR - Représentation et abaissement de référence des modèles ONNX dans l'infrastructure du compilateur MLIR (papier).
- IREE - Un compilateur d'apprentissage automatique basé sur MLIR recitable et une boîte à outils d'exécution.
Benchmarks et ensembles de données
- Tenset: un ensemble de données de performances du programme à grande échelle pour les compilateurs de tenseurs apprises - un ensemble de données des enregistrements de performances du programme tensor pour six plates-formes matérielles couramment utilisées (papier).
- Les charges de travail de l'Alberta pour la suite de référence SPEC CPU® 2017 - charges de travail supplémentaires pour la suite de référence SPEC CPU2017.
- Project Codenet - Échantillons de code écrits dans plus de 50 langages de programmation, annotés avec des informations, tels que la taille du code, l'empreinte mémoire, le temps d'exécution du CPU et l'état (types d'acceptation / erreur)
- CodexGlue - Un ensemble de données de référence d'apprentissage automatique pour la compréhension et la génération du code (papier)
- ANGHABENCH - Une suite avec un million de repères C compilables (papier)
- BHIVE - Une suite de référence et un cadre de mesure pour valider les modèles de performances de bloc de base x86-64 (papier).
- CBENCH - 32 C Benchmarks avec ensembles de données et scripts de pilote.
- Polybench - 30 repères au pochoir et à l'algèbre linéaire avec des ensembles de données et des scripts de pilote. Voir aussi: Version GPU, ensembles de données pré-calculés (papier).
- DeepDataflow - 469K LLVM-IR Files et 8.6b Data-Flow Étiquettes pour la classification (papier).
- Devmap - 650 fonctionnalités de référence OpenCL et étiquettes de classification CPU / GPU (papier; diapositives).
Conférences
- Conférence ACM Sigplan sur la conception et la mise en œuvre du langage de programmation, PLDI
- Prise en charge architecturale pour les langages de programmation et les systèmes d'exploitation, ASPLOS
- Symposium ACM Sigplan sur les principes et la pratique de la programmation parallèle, PPOPP
- Symposium international sur la génération et l'optimisation du code, CGO
- Conférence internationale sur les architectures parallèles et les techniques de compilation, PACT
- Programmation, systèmes, langues et applications orientées objet, Oopsla
- Conférence internationale sur la construction du compilateur, CC
- Conférence internationale sur le supercalcuting, ICS
- Conférence internationale sur les hautes performances et les architectures et les compilateurs intégrés, hipeac
- Conférence internationale sur les langues, les compilateurs et les outils pour les systèmes intégrés, les LCT
- Conférence internationale sur les frontières informatiques, CF
- Symposium international de traitement parallèle et distribué, IPDPS
- Conférence internationale pour l'informatique, la mise en réseau, le stockage et l'analyse de haute performance, SC
- Atelier des langages d'apprentissage et de programmation, MAPL
- Langues et compilateurs pour l'informatique parallèle, LCPC
- Conférence internationale sur les représentations d'apprentissage, ICLR
- Conférence sur l'apprentissage automatique et les systèmes, MLSYS
Journaux
- Transactions ACM sur l'architecture et l'optimisation du code, TACO
Comment contribuer
Voir les directives de contribution. TL; DR: Envoyez l'un des responsables une demande de traction.