{"title":"GPU-Accelerated Counterfactual Regret Minimization","authors":"Juho Kim","doi":"arxiv-2408.14778","DOIUrl":null,"url":null,"abstract":"Counterfactual regret minimization (CFR) is a family of algorithms of\nno-regret learning dynamics capable of solving large-scale imperfect\ninformation games. There has been a notable lack of work on making CFR more\ncomputationally efficient. We propose implementing this algorithm as a series\nof dense and sparse matrix and vector operations, thereby making it highly\nparallelizable for a graphical processing unit. Our experiments show that our\nimplementation performs up to about 352.5 times faster than OpenSpiel's Python\nimplementation and up to about 22.2 times faster than OpenSpiel's C++\nimplementation and the speedup becomes more pronounced as the size of the game\nbeing solved grows.","PeriodicalId":501316,"journal":{"name":"arXiv - CS - Computer Science and Game Theory","volume":"11 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-08-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Computer Science and Game Theory","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2408.14778","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Counterfactual regret minimization (CFR) is a family of algorithms of
no-regret learning dynamics capable of solving large-scale imperfect
information games. There has been a notable lack of work on making CFR more
computationally efficient. We propose implementing this algorithm as a series
of dense and sparse matrix and vector operations, thereby making it highly
parallelizable for a graphical processing unit. Our experiments show that our
implementation performs up to about 352.5 times faster than OpenSpiel's Python
implementation and up to about 22.2 times faster than OpenSpiel's C++
implementation and the speedup becomes more pronounced as the size of the game
being solved grows.