{"id":3058,"date":"2011-03-02T16:38:17","date_gmt":"2011-03-02T16:38:17","guid":{"rendered":"http:\/\/hgpu.org\/?p=3058"},"modified":"2011-04-08T12:38:49","modified_gmt":"2011-04-08T12:38:49","slug":"application-of-assembly-of-finite-element-methods-on-graphics-processors-for-real-time-elastodynamics","status":"publish","type":"post","link":"https:\/\/hgpu.org\/?p=3058","title":{"rendered":"Application of Assembly of Finite Element Methods on Graphics Processors for Real-Time Elastodynamics"},"content":{"rendered":"<p>In this chapter, we discuss multiple strategies to perform general computations on unstructured grids, with specific application to the assembly of finite element methods (FEMs). We review and apply two methods, discussed in depth in [1], for assembly of FEMs to produce and accelerate a FEM model for a nonlinear hyperelastic solid where the assembly, solution, update, and visualization stages may be performed solely on the GPU, benefiting from speed-ups in each stage and avoiding costly GPU-CPU transfers of data. For each method, we discuss the NVIDIA GPU hardware&#8217;s limiting resources, optimizations, key data structures, and dependence of the performance with respect to problem size, element size, and GPU hardware generation. This chapter will inform potential users of the benefits of GPU technology, provide guidelines to help them implement their own FEM solutions, give potential speed-ups that can be expected, and provide source code for reference.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this chapter, we discuss multiple strategies to perform general computations on unstructured grids, with specific application to the assembly of finite element methods (FEMs). We review and apply two methods, discussed in depth in [1], for assembly of FEMs to produce and accelerate a FEM model for a nonlinear hyperelastic solid where the assembly, [&hellip;]<\/p>\n","protected":false},"author":351,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[89,157,3],"tags":[14,212,1796,20,379,550,551],"class_list":["post-3058","post","type-post","status-publish","format-standard","hentry","category-nvidia-cuda","category-mathematics","category-paper","tag-cuda","tag-finite-element-method","tag-mathematics","tag-nvidia","tag-nvidia-geforce-gtx-480","tag-partial-differential-equations","tag-pdes"],"views":2153,"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/posts\/3058","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/users\/351"}],"replies":[{"embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3058"}],"version-history":[{"count":1,"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/posts\/3058\/revisions"}],"predecessor-version":[{"id":3508,"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/posts\/3058\/revisions\/3508"}],"wp:attachment":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3058"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3058"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}