{"title":"Fully parallel implementation of digital memcomputing on FPGA","authors":"Dyk Chung Nguyen, Yuriy V. Pershin","doi":"arxiv-2405.14442","DOIUrl":null,"url":null,"abstract":"We present a fully parallel digital memcomputing solver implemented on a\nfield-programmable gate array (FPGA) board. For this purpose, we have designed\nan FPGA code that solves the ordinary differential equations associated with\ndigital memcomputing in parallel. A feature of the code is the use of only\ninteger-type variables and integer constants to enhance optimization.\nConsequently, each integration step in our solver is executed in 96~ns. This\nmethod was utilized for difficult instances of the Boolean satisfiability (SAT)\nproblem close to a phase transition, involving up to about 150 variables. Our\nresults demonstrate that the parallel implementation reduces the scaling\nexponent by about 1 compared to a sequential C++ code on a standard computer.\nAdditionally, compared to C++ code, we observed a time-to-solution advantage of\nabout three orders of magnitude. Given the limitations of FPGA resources, the\ncurrent implementation of digital memcomputing will be especially useful for\nsolving compact but challenging problems.","PeriodicalId":501167,"journal":{"name":"arXiv - PHYS - Chaotic Dynamics","volume":"50 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-05-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - PHYS - Chaotic Dynamics","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2405.14442","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
We present a fully parallel digital memcomputing solver implemented on a
field-programmable gate array (FPGA) board. For this purpose, we have designed
an FPGA code that solves the ordinary differential equations associated with
digital memcomputing in parallel. A feature of the code is the use of only
integer-type variables and integer constants to enhance optimization.
Consequently, each integration step in our solver is executed in 96~ns. This
method was utilized for difficult instances of the Boolean satisfiability (SAT)
problem close to a phase transition, involving up to about 150 variables. Our
results demonstrate that the parallel implementation reduces the scaling
exponent by about 1 compared to a sequential C++ code on a standard computer.
Additionally, compared to C++ code, we observed a time-to-solution advantage of
about three orders of magnitude. Given the limitations of FPGA resources, the
current implementation of digital memcomputing will be especially useful for
solving compact but challenging problems.