{"id":8897,"date":"2021-05-07T09:33:25","date_gmt":"2021-05-07T07:33:25","guid":{"rendered":"https:\/\/blog.rwth-aachen.de\/itc\/?p=8897"},"modified":"2023-05-17T11:19:13","modified_gmt":"2023-05-17T09:19:13","slug":"pop-audit","status":"publish","type":"post","link":"https:\/\/blog.rwth-aachen.de\/itc\/en\/2021\/05\/07\/pop-audit\/","title":{"rendered":"POP Audit: Successful Performance Optimisation and Correctness Analysis for CalculiX"},"content":{"rendered":"<div class=\"twoclick_social_bookmarks_post_8897 social_share_privacy clearfix 1.6.4 locale-en_US sprite-en_US\"><\/div><div class=\"twoclick-js\"><script type=\"text\/javascript\">\/* <![CDATA[ *\/\njQuery(document).ready(function($){if($('.twoclick_social_bookmarks_post_8897')){$('.twoclick_social_bookmarks_post_8897').socialSharePrivacy({\"txt_help\":\"Wenn Sie diese Felder durch einen Klick aktivieren, werden Informationen an Facebook, Twitter, Flattr, Xing, t3n, LinkedIn, Pinterest oder Google eventuell ins Ausland \\u00fcbertragen und unter Umst\\u00e4nden auch dort gespeichert. N\\u00e4heres erfahren Sie durch einen Klick auf das <em>i<\\\/em>.\",\"settings_perma\":\"Dauerhaft aktivieren und Daten\\u00fcber-tragung zustimmen:\",\"info_link\":\"http:\\\/\\\/www.heise.de\\\/ct\\\/artikel\\\/2-Klicks-fuer-mehr-Datenschutz-1333879.html\",\"uri\":\"https:\\\/\\\/blog.rwth-aachen.de\\\/itc\\\/en\\\/2021\\\/05\\\/07\\\/pop-audit\\\/\",\"post_id\":8897,\"post_title_referrer_track\":\"POP+Audit%3A+Successful+Performance+Optimisation+and+Correctness+Analysis+for+CalculiX\",\"display_infobox\":\"on\"});}});\n\/* ]]> *\/<\/script><\/div><p><div id=\"attachment_8898\" style=\"width: 310px\" class=\"wp-caption alignright\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8898\" class=\"wp-image-8898 size-medium\" src=\"https:\/\/blog.rwth-aachen.de\/itc\/files\/2021\/05\/07.05-300x153.jpg\" alt=\"Pop Audit fort he CalculiX application\" width=\"300\" height=\"153\" srcset=\"https:\/\/blog.rwth-aachen.de\/itc\/files\/2021\/05\/07.05-300x153.jpg 300w, https:\/\/blog.rwth-aachen.de\/itc\/files\/2021\/05\/07.05-1024x523.jpg 1024w, https:\/\/blog.rwth-aachen.de\/itc\/files\/2021\/05\/07.05-768x392.jpg 768w, https:\/\/blog.rwth-aachen.de\/itc\/files\/2021\/05\/07.05.jpg 1280w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><p id=\"caption-attachment-8898\" class=\"wp-caption-text\">Source:<a href=\"https:\/\/pixabay.com\/illustrations\/report-expenses-management-3050965\/\"> Pixabay<\/a><\/p><\/div><\/p>\n<p>The development of new applications is becoming increasingly complex. Simultaneously, optimising these applications is gaining in importance. The Institute for High Performance Computing at RWTH Aachen University is conducting research on methods and tools for the optimisation of applications. In this process, performance and correctness analyses play a central role. These methods and tools are being applied within the framework of the EU project POP2 &#8211; Performance Optimisation and Productivity. The <a href=\"https:\/\/blog.rwth-aachen.de\/itc\/2021\/01\/15\/projektvorstellung-pop\/\">POP project<\/a> was already introduced in a separate article. Today we would like to inform about a specific successful POP audit.<\/p>\n<p><!--more--><\/p>\n<p>As part of the project, an audit was carried out for the <a href=\"http:\/\/www.calculix.de\/\">CalculiX<\/a> application. CalculiX is a free simulation software. This programme uses the finite element and the finite volume method as numerical methods to solve various simulation problems. In this audit, the execution of a flow simulation was investigated and optimised, which simulates the flow speed of air in a pipe.<\/p>\n<p>The result of an initial correctness analysis pointed to a data race in the code. The data race and the resulting non-deterministic results were resolved during the audit. An analysis of the load balance also revealed that when solving the systems of equations, one thread ran for significantly longer than all the others. As a result of this analysis, the work could be distributed to other threads that had already completed their calculations. This redistribution allowed the available resources to be used more efficiently. Furthermore, an analysis of I\/O performance revealed that a high number of writing I\/O accesses took place with a very small data size. By introducing a buffer, this writing process could be implemented more efficiently. As a performance analysis of the code revealed, the runtime of the code could be reduced by more than 30 percent due to all implemented improvements.<\/p>\n<h3>Interested in learning more about the CalculiX POP audit?<\/h3>\n<p>You can find a detailed description of the analysis and its results on the <a href=\"https:\/\/pop-coe.eu\/blog\/performance-improvements-by-more-than-30-and-a-data-race-fixed-for-calculix-code\">POP project blog<\/a>.<\/p>\n<p>Responsible for the content of this article is <a href=\"https:\/\/www.itc.rwth-aachen.de\/cms\/IT-Center\/IT-Center\/Team\/~epvp\/Mitarbeiter-CAMPUS-\/?gguid=0x2C5E1B0A3DA32A45AB293A42E93EEC07&amp;allou=1&amp;lidx=1\">St\u00e9phanie Bauens<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Sorry, this entry is only available in Deutsch.<\/p>\n","protected":false},"author":2589,"featured_media":8898,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"c2c_always_allow_admin_comments":false,"footnotes":""},"categories":[316],"tags":[],"class_list":["post-8897","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projekte-kooperationen"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/blog.rwth-aachen.de\/itc\/en\/wp-json\/wp\/v2\/posts\/8897","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rwth-aachen.de\/itc\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.rwth-aachen.de\/itc\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/itc\/en\/wp-json\/wp\/v2\/users\/2589"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/itc\/en\/wp-json\/wp\/v2\/comments?post=8897"}],"version-history":[{"count":8,"href":"https:\/\/blog.rwth-aachen.de\/itc\/en\/wp-json\/wp\/v2\/posts\/8897\/revisions"}],"predecessor-version":[{"id":15611,"href":"https:\/\/blog.rwth-aachen.de\/itc\/en\/wp-json\/wp\/v2\/posts\/8897\/revisions\/15611"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/itc\/en\/wp-json\/wp\/v2\/media\/8898"}],"wp:attachment":[{"href":"https:\/\/blog.rwth-aachen.de\/itc\/en\/wp-json\/wp\/v2\/media?parent=8897"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/itc\/en\/wp-json\/wp\/v2\/categories?post=8897"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/itc\/en\/wp-json\/wp\/v2\/tags?post=8897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}