{"title":"在 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":"{\"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}","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
摘要
我们介绍了一种在现场可编程门阵列(FPGA)板上实现的完全并行数字内存计算求解器。为此,我们设计了一个 FPGA 代码,用于并行求解与数字内存计算相关的常微分方程。该代码的一个特点是只使用整型变量和整型常量,以提高优化效果。因此,我们的求解器中每个积分步骤的执行时间为 96~ns。我们利用这种方法处理了布尔可满足性(SAT)问题中接近相变的困难实例,最多涉及约 150 个变量。我们的研究结果表明,与标准计算机上的顺序 C++ 代码相比,并行执行的缩放分量减少了约 1;此外,与 C++ 代码相比,我们观察到解决问题的时间优势约为三个数量级。鉴于 FPGA 资源的限制,目前的数字内存计算实现将特别适用于解决紧凑但具有挑战性的问题。
Fully parallel implementation of digital memcomputing on FPGA
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.