[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-detail-81969-en":3,"doc-seo-81969-105":29,"detail-sidebar-cat-0-en-105":90},{"code":4,"msg":5,"data":6},0,"success",{"doc_id":7,"user_id":8,"nickname":9,"user_avatar":10,"doc_module":4,"category_id":11,"category_name":12,"doc_title":13,"doc_description":14,"doc_content":15,"file_id":16,"file_url":17,"file_type":18,"file_size":19,"view_count":4,"is_deleted":4,"is_public":20,"is_downloadable":20,"audit_status":20,"page_count":21,"language":22,"language_code":23,"site_id":24,"html_lang":23,"table_of_contents":25,"faqs":26,"seo_title":13,"seo_description":14,"update_tm":27,"read_time":28},81969,1099514068035,"Ezra","https://ap-avatar.wpscdn.com/davatar_276721f389ce27ea32af1340a28f341c",6,"Technology","An Introduction and Tutorial for the Beagle Framework","The Beagle framework is an open-source, GPU-based genetic programming system focused on accelerating symbolic regression by exploiting NVIDIA GPUs and large population sizes. It introduces framework design choices that scale across heterogeneous CPU/GPU resources, including automatic distribution across available devices and population batching for limited GPU memory. The tutorial explains the software environment, hardware optimization strategies, terminology mapping to conventional GP concepts, and the CPU/GPU task split for efficient fitness evaluation.","arXiv :2607 .0673 1v2 [ cs .NE] 9 Jul 2026  \nAn Introduction and Tutorial for the Beagle  \nFramework  \nIlya Basin2 and Nathan Haut 1 ,2  \n1 Michigan State University, East Lansing MI 48824, USA  \n2 Noblis, Reston VA , USA, [Ilya.Basin@noblis.org](Ilya.Basin@noblis.org)  \nAbstract. The Beagle framework is a GPU-based genetic programming framework that enables highly eﬃcient genetic programming search using large population sizes by leveraging NVIDIA GPUs. This technical guide provides an introduction to the Beagle framework and provides detailed instructions for using the framework for symbolic regression problems.  \nKeywords: GPU Computing · Genetic Programming · Population size.  \n1 Introduction  \nBeagle is an open-source symbolic regression framework designed with NVIDIA GPU acceleration as a primary objective. Beagle was created by Ilya Basin asan internally funded R&D project at Noblis, a non-proﬁt science and technology organization headquartered in the Washington, D.C. metro area.  \nBeagle was speciﬁcally designed to optimize scaling to large population sizes by taking advantage of heterogeneous computing environments to eﬃciently explore large/complicated search spaces [5] . A benchmarking study demonstrated that the Beagle GPU-accelerated genetic programming framework achieves substantially superior performance compared to existing CPU-based frameworks when evaluated on the Feynman100 benchmark suite, a widely adopted standard for assessing symbolic regression capabilities in the ﬁeld [3] .  \nThe Beagle source code can be accessed here: [https://github.com/Noblis/beagle-v1.x](https://github.com/Noblis/beagle-v1.x)  \nThe goal of this technical tutorial is to ﬁrst discuss and introduce an overview of the framework (Section 2) and then to describe key technical details of using Beagle with step-by-step guides to install and get started using the Beagle framework (Section 3) .  \n2 Framework Overview  \nIn this section, we discuss the key framework details and design choices that make Beagle a highly eﬃcient GPU Genetic Programming framework.  \n2 Ilya Basin and Nathan Haut  \n2.1 Software Environment  \nBeagle utilizes the ILGPU open-source C\\# library. ILGPU allows low-level GPU programming rather than relying on high-level GPU libraries. This allowed for the design of a completely custom CUDA kernel to best utilize the hardware. Beagle’s development stack is .Net 10, which is cross-platform, ensuring robust performance on both Linux and Windows operating systems. Since Mac’s do not natively host NVIDIA GPUs, GPU acceleration in Beagle on a Mac is currently not possible. Apple’s custom GPUs and the Metal framework are becoming quite powerful, so depending on the future use-cases of Beagle, it may be worthwhile to explore that extension.  \n2.2 Hardware Optimized  \nBeagle is designed to automatically distribute work to as many GPUs and CPUs as are available, thus making it increasingly powerful as hardware access scales. For users with access to HPC systems, Beagle could be used to eﬀectively explore massive search spaces.  \nOn the other end, Beagle is also optimized to work on modest hardware with smaller GPU compute and memory capacity. In this case, Beagle manages populations in batches to ensure the GPU memory is never exceeded. It is also possible to run Beagle entirely on CPU (using ILGPU GPU emulation feature), although running only on a CPU is much slower and should be reserved for debugging purposes only.  \n2.3 Beagle Taxonomy  \nWhile it is now realized that the Beagle framework is essentially a Genetic Programming system, it was developed independent of the ﬁeld of Genetic Programming and relied only on biological inspiration of evolution. As a result, the naming conventions used in the Beagle software/API are diﬀerent than what is used in the general ﬁeld of Genetic Programming. For the concepts that have a functional equivalent in the ﬁeld of Genetic Programming, we’ve provided Table 1 which matches the internal Bea","cbCaidGXueW3U7VW","https://ap.wps.com/l/cbCaidGXueW3U7VW","pdf",1058286,1,22,"English","en",105,"# Introduction\n## Framework Overview\n## Software Environment\n## Hardware Optimized\n## Beagle Taxonomy\n## Dividing Tasks Between CPU and GPU","[{\"question\":\"What problem does the Beagle framework target?\",\"answer\":\"Beagle targets symbolic regression by using GPU-accelerated genetic programming to search efficiently with large population sizes.\"},{\"question\":\"Which software environment does Beagle rely on?\",\"answer\":\"Beagle uses the ILGPU open-source C# library, enabling low-level GPU programming and custom CUDA kernels.\"},{\"question\":\"How does Beagle split work between CPU and GPU?\",\"answer\":\"The GPU evaluates model and fitness function scoring, while the CPU performs genetic operations such as mutation and initialization; multiple fitness cases per individual are aggregated to reduce data-transfer overhead.\"}]",1784177334,55,{"code":4,"msg":30,"data":31},"ok",{"site_id":24,"language":23,"slug":32,"title":13,"keywords":33,"description":14,"schema_data":34,"social_meta":85,"head_meta":87,"extra_data":89,"updated_unix":27},"an-introduction-and-tutorial-for-the-beagle-framework","",{"@graph":35,"@context":84},[36,53,67],{"@type":37,"itemListElement":38},"BreadcrumbList",[39,43,47,50],{"item":40,"name":41,"@type":42,"position":20},"https://docshare.wps.com","Home","ListItem",{"item":44,"name":45,"@type":42,"position":46},"https://docshare.wps.com/document/","Document",2,{"item":48,"name":12,"@type":42,"position":49},"https://docshare.wps.com/document/technology/",3,{"item":51,"name":13,"@type":42,"position":52},"https://docshare.wps.com/document/an-introduction-and-tutorial-for-the-beagle-framework/81969/",4,{"url":51,"name":13,"@type":54,"author":55,"headline":13,"publisher":57,"fileFormat":60,"inLanguage":23,"description":14,"dateModified":61,"datePublished":61,"encodingFormat":60,"isAccessibleForFree":62,"interactionStatistic":63},"DigitalDocument",{"name":9,"@type":56},"Person",{"url":40,"name":58,"@type":59},"DocShare","Organization","application/pdf","2026-07-16",true,{"@type":64,"interactionType":65,"userInteractionCount":4},"InteractionCounter",{"@type":66},"ViewAction",{"@type":68,"mainEntity":69},"FAQPage",[70,76,80],{"name":71,"@type":72,"acceptedAnswer":73},"What problem does the Beagle framework target?","Question",{"text":74,"@type":75},"Beagle targets symbolic regression by using GPU-accelerated genetic programming to search efficiently with large population sizes.","Answer",{"name":77,"@type":72,"acceptedAnswer":78},"Which software environment does Beagle rely on?",{"text":79,"@type":75},"Beagle uses the ILGPU open-source C# library, enabling low-level GPU programming and custom CUDA kernels.",{"name":81,"@type":72,"acceptedAnswer":82},"How does Beagle split work between CPU and GPU?",{"text":83,"@type":75},"The GPU evaluates model and fitness function scoring, while the CPU performs genetic operations such as mutation and initialization; multiple fitness cases per individual are aggregated to reduce data-transfer overhead.","https://schema.org",{"og:url":51,"og:type":86,"og:title":13,"og:site_name":58,"og:description":14},"article",{"robots":88,"canonical":51},"index,follow",{"doc_id":7,"site_id":24},{"code":4,"msg":5,"data":91},[92,96,100,104,109,112,117,122,127,130,134],{"id":20,"doc_module":4,"doc_module_name":45,"category_name":93,"show_sort_weight":94,"slug":95},"Story & Novel",90,"story-novel",{"id":46,"doc_module":4,"doc_module_name":45,"category_name":97,"show_sort_weight":98,"slug":99},"Literature",80,"literature",{"id":52,"doc_module":4,"doc_module_name":45,"category_name":101,"show_sort_weight":102,"slug":103},"Exam",70,"exam",{"id":105,"doc_module":4,"doc_module_name":45,"category_name":106,"show_sort_weight":107,"slug":108},5,"Comic",60,"comic",{"id":11,"doc_module":4,"doc_module_name":45,"category_name":12,"show_sort_weight":110,"slug":111},50,"technology",{"id":113,"doc_module":4,"doc_module_name":45,"category_name":114,"show_sort_weight":115,"slug":116},7,"Healthcare",40,"healthcare",{"id":118,"doc_module":4,"doc_module_name":45,"category_name":119,"show_sort_weight":120,"slug":121},8,"Research & Report",30,"research-report",{"id":123,"doc_module":4,"doc_module_name":45,"category_name":124,"show_sort_weight":125,"slug":126},9,"Religion & Spirituality",20,"religion-spirituality",{"id":125,"doc_module":4,"doc_module_name":45,"category_name":128,"show_sort_weight":125,"slug":129},"World Cup","world-cup",{"id":131,"doc_module":4,"doc_module_name":45,"category_name":132,"show_sort_weight":131,"slug":133},10,"Lifestyle","lifestyle",{"id":135,"doc_module":4,"doc_module_name":45,"category_name":136,"show_sort_weight":105,"slug":137},19,"General","general"]