{"title":"GPU-friendly data structures for real time simulation.","authors":"Vincent Magnoux, Benoît Ozell","doi":"10.1186/s40323-021-00192-7","DOIUrl":null,"url":null,"abstract":"<p><p>Simulators for virtual surgery training need to perform complex calculations very quickly to provide realistic haptic and visual interactions with a user. The complexity is further increased by the addition of cuts to virtual organs, such as would be needed for performing tumor resection. A common method for achieving large performance improvements is to make use of the graphics hardware (GPU) available on most general-use computers. Programming GPUs requires data structures that are more rigid than on conventional processors (CPU), making that data more difficult to update. We propose a new method for structuring graph data, which is commonly used for physically based simulation of soft tissue during surgery, and deformable objects in general. Our method aligns all nodes of the graph in memory, independently from the number of edges they contain, allowing for local modifications that do not affect the rest of the structure. Our method also groups memory transfers so as to avoid updating the entire graph every time a small cut is introduced in a simulated organ. We implemented our data structure as part of a simulator based on a meshless method. Our tests show that the new GPU implementation, making use of the new graph structure, achieves a 10 times improvement in computation times compared to the previous CPU implementation. The grouping of data transfers into batches allows for a 80-90% reduction in the amount of data transferred for each graph update, but accounts only for a small improvement in performance. The data structure itself is simple to implement and allows simulating increasingly complex models that can be cut at interactive rates.</p>","PeriodicalId":37424,"journal":{"name":"Advanced Modeling and Simulation in Engineering Sciences","volume":"8 1","pages":"7"},"PeriodicalIF":2.0000,"publicationDate":"2021-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1186/s40323-021-00192-7","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Advanced Modeling and Simulation in Engineering Sciences","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1186/s40323-021-00192-7","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"2021/3/27 0:00:00","PubModel":"Epub","JCR":"Q3","JCRName":"MECHANICS","Score":null,"Total":0}
引用次数: 2
Abstract
Simulators for virtual surgery training need to perform complex calculations very quickly to provide realistic haptic and visual interactions with a user. The complexity is further increased by the addition of cuts to virtual organs, such as would be needed for performing tumor resection. A common method for achieving large performance improvements is to make use of the graphics hardware (GPU) available on most general-use computers. Programming GPUs requires data structures that are more rigid than on conventional processors (CPU), making that data more difficult to update. We propose a new method for structuring graph data, which is commonly used for physically based simulation of soft tissue during surgery, and deformable objects in general. Our method aligns all nodes of the graph in memory, independently from the number of edges they contain, allowing for local modifications that do not affect the rest of the structure. Our method also groups memory transfers so as to avoid updating the entire graph every time a small cut is introduced in a simulated organ. We implemented our data structure as part of a simulator based on a meshless method. Our tests show that the new GPU implementation, making use of the new graph structure, achieves a 10 times improvement in computation times compared to the previous CPU implementation. The grouping of data transfers into batches allows for a 80-90% reduction in the amount of data transferred for each graph update, but accounts only for a small improvement in performance. The data structure itself is simple to implement and allows simulating increasingly complex models that can be cut at interactive rates.
期刊介绍:
The research topics addressed by Advanced Modeling and Simulation in Engineering Sciences (AMSES) cover the vast domain of the advanced modeling and simulation of materials, processes and structures governed by the laws of mechanics. The emphasis is on advanced and innovative modeling approaches and numerical strategies. The main objective is to describe the actual physics of large mechanical systems with complicated geometries as accurately as possible using complex, highly nonlinear and coupled multiphysics and multiscale models, and then to carry out simulations with these complex models as rapidly as possible. In other words, this research revolves around efficient numerical modeling along with model verification and validation. Therefore, the corresponding papers deal with advanced modeling and simulation, efficient optimization, inverse analysis, data-driven computation and simulation-based control. These challenging issues require multidisciplinary efforts – particularly in modeling, numerical analysis and computer science – which are treated in this journal.