{"id":10073,"date":"2013-07-15T23:49:15","date_gmt":"2013-07-15T20:49:15","guid":{"rendered":"http:\/\/hgpu.org\/?p=10073"},"modified":"2013-07-15T23:49:15","modified_gmt":"2013-07-15T20:49:15","slug":"cuda-c-implementation-of-the-ader-dg-method-for-linear-hyperbolic-pdes","status":"publish","type":"post","link":"https:\/\/hgpu.org\/?p=10073","title":{"rendered":"CUDA-C implementation of the ADER-DG method for linear hyperbolic PDEs"},"content":{"rendered":"<p>We implement the ADER-DG numerical method using the CUDA-C language to run the code in a Graphic Processing Unit (GPU). We focus on solving linear hyperbolic partial differential equations where the method can be expressed as a combination of precomputed matrix multiplications becoming a good candidate to be used on the GPU hardware. Moreover, the method is arbitrarily high-order involving intensive work on local data, a property that is also beneficial for the target hardware. We compare our GPU implementation against CPU versions of the same method observing similar convergence properties up to a threshold where the error remains fixed. This behaviour is in agreement with the CPU version but the threshold is larger that in the CPU case. We also observe a big difference when considering single and double precision where in the first case the threshold error is significantly larger. Finally, we did observe a speed up factor in computational time but this is relative to the specific test or benchmark problem.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We implement the ADER-DG numerical method using the CUDA-C language to run the code in a Graphic Processing Unit (GPU). We focus on solving linear hyperbolic partial differential equations where the method can be expressed as a combination of precomputed matrix multiplications becoming a good candidate to be used on the GPU hardware. Moreover, the [&hellip;]<\/p>\n","protected":false},"author":351,"featured_media":0,"comment_status":"open","ping_status":"closed","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,303,192,3],"tags":[14,810,1801,1798,544,324,20,550,551,1006],"class_list":["post-10073","post","type-post","status-publish","format-standard","hentry","category-nvidia-cuda","category-earth-and-space-sciences","category-geoscience","category-paper","tag-cuda","tag-differential-equations","tag-earth-and-space-sciences","tag-geoscience","tag-hyperbolic-pdes","tag-matrix-multiplication","tag-nvidia","tag-partial-differential-equations","tag-pdes","tag-tesla-c2070"],"views":3056,"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/posts\/10073","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=10073"}],"version-history":[{"count":0,"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/posts\/10073\/revisions"}],"wp:attachment":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10073"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10073"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10073"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}