{"id":6266,"date":"2023-01-18T14:05:46","date_gmt":"2023-01-18T13:05:46","guid":{"rendered":"https:\/\/blog.rwth-aachen.de\/itc-events\/?post_type=tribe_events&#038;p=6266"},"modified":"2023-12-06T12:52:41","modified_gmt":"2023-12-06T11:52:41","slug":"ppces-2023","status":"publish","type":"tribe_events","link":"https:\/\/blog.rwth-aachen.de\/itc-events\/event\/ppces-2023\/","title":{"rendered":"PPCES 2023"},"content":{"rendered":"<h1 id=\"PPCES2019-ParallelProgramminginComputationalEngineeringandScience2019\">Parallel Programming in Computational Engineering and Science (PPCES) 2023<\/h1>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2783 size-medium alignright\" src=\"https:\/\/blog.rwth-aachen.de\/itc-events\/files\/2021\/02\/show_picture-300x120.jpg\" alt=\"Logo PPCES Event\" width=\"300\" height=\"120\" srcset=\"https:\/\/blog.rwth-aachen.de\/itc-events\/files\/2021\/02\/show_picture-300x120.jpg 300w, https:\/\/blog.rwth-aachen.de\/itc-events\/files\/2021\/02\/show_picture.jpg 709w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<h2>About PPCES<\/h2>\n<p>This one week event will continue the tradition of <a href=\"https:\/\/blog.rwth-aachen.de\/itc-events\/ppces\/\">previous annual week-long events<\/a> that take place in Aachen every spring since 2001. We will cover the basics of parallel programming using OpenMP and MPI in Fortran and C\/C++ and a first step towards performance tuning as well as current topics in AI\/machine learning. Hands-on exercises for each topic will be included.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\">This is an <strong>in-person<\/strong> event and will be held on the RWTH IT-Center premises (see below).<\/p>\n<p>&nbsp;<\/p>\n<p>The contents of the courses are generally applicable but will be specialized towards CLAIX the compute cluster which is the current system installed at the RWTH\u2019s IT Center. It might be helpful to read through the information which was provided during the <a href=\"https:\/\/blog.rwth-aachen.de\/itc-events\/en\/event\/introduction-to-high-performance-computing-2023\/\">HPC introduction on March 7 this year.<\/a> <span class=\"tlid-translation translation\" lang=\"en\"><span title=\"\">This is especially true if you want to actively use CLAIX after this event.<\/span><\/span><\/p>\n<p><strong>OpenMP<\/strong> is a widely used approach for programming shared memory architectures, supported by most compilers nowadays. We will cover the basics of the programming paradigm as well as some advanced topics such as programming NUMA machines. The nodes of the RWTH Compute Cluster contain an increasing number of cores and thus we consider shared memory programming a vital alternative for applications that cannot be easily parallelized with MPI. We also expect a growing number of application codes to combine MPI and OpenMP for clusters of nodes with a growing number of cores.<\/p>\n<p><strong>The Message Passing Interface (MPI)<\/strong> is the de-facto standard for programming large HPC systems. We will introduce the basic concepts and give an overview of some advanced features. Also covered is hybrid parallelization, i.e., the combination of MPI and shared memory programming, which is gaining popularity as the number of cores per cluster node grows.<\/p>\n<p><strong>Machine Learning<\/strong>: We provide an overview to end-to-end deep learning with the latest version of Tensorflow\/Keras. It covers the basic concepts to define models with Keras \u00a0and data pipelines with Tensorflow\u2019s \u201cDataset\u201d, and to visualize the results with Tensorboard while training. If training on one node or GPU is not enough, \u00a0we show how to scale up\/out distributed training onto multiple compute nodes \u00a0and GPUs with Horovod. Furthermore, we provide an introduction to scikit-learn, with an overview of \u00a0different machine learning algorithms it provides and how to utilize it on GPUs \u00a0with H2O4GPU. There will also be a small section on PyTorch. The training courses consist of a hands-on exercises to be run directly on \u00a0RWTH infrastructure.<\/p>\n<h2>Guest Speaker<\/h2>\n<p>We are happy to announce two guest speakers:<\/p>\n<ul>\n<li><strong>Georg Zitzlsberger<\/strong> (<a class=\"external-link\" href=\"http:\/\/www.it4i.cz\" rel=\"nofollow\">IT4Innovations National Supercomputing Center at VSB \u2013 Technical University of Ostrava<\/a>) on Machine Learning<\/li>\n<li><strong>Ruud van der Pas<\/strong> (Oracle Linux Engineering) on OpenMP<\/li>\n<\/ul>\n<h2>Agenda<\/h2>\n<h3>Day 1+2: OpenMP<\/h3>\n<table style=\"height: 208px;\" width=\"780\" cellspacing=\"0\" cellpadding=\"2\">\n<tbody>\n<tr>\n<th width=\"215\">Monday, March 13<\/th>\n<th width=\"346\">Day 1: OpenMP Part I<\/th>\n<th width=\"206\"><\/th>\n<\/tr>\n<tr>\n<td width=\"215\">09:00 \u2013 09:10<\/td>\n<td width=\"346\">Organization PPCES 2023<\/td>\n<td width=\"206\">Philipp Martin<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">09:10 \u2013 10:30<\/td>\n<td width=\"346\">OpenMP Basics part 1<\/td>\n<td width=\"206\">Christian Terboven<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">11:00 \u2013 12:00<\/td>\n<td width=\"346\">OpenMP Basics part 2 (incl. Lab)<\/td>\n<td width=\"206\">Christian Terboven<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">13:30 \u2013 15:00<\/td>\n<td width=\"346\">OpenMP Basics part 3 (incl. Lab)<\/td>\n<td width=\"206\">Christian Terboven<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">15:30 \u2013 16:30<\/td>\n<td width=\"346\">OpenMP Basics part 4 (incl. Lab)<\/td>\n<td width=\"206\">Christian Terboven<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div><\/div>\n<div><\/div>\n<div class=\"table-wrap\">\n<table style=\"height: 208px;\" width=\"780\" cellspacing=\"0\" cellpadding=\"2\">\n<tbody>\n<tr>\n<th width=\"215\">Tuesday, March 14<\/th>\n<th width=\"346\">Day 2: OpenMP Part II<\/th>\n<th width=\"206\"><\/th>\n<\/tr>\n<tr>\n<td width=\"215\">09:00 \u2013 10:30<\/td>\n<td width=\"346\">Speed up Your OpenMP Application Without Doing Much<\/td>\n<td width=\"206\">Ruud van der Pas<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">11:00 \u2013 12:00<\/td>\n<td width=\"346\">OpenMP SIMD<\/td>\n<td width=\"206\">Christian Terboven<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">13:30 \u2013 15:00<\/td>\n<td width=\"346\">OpenMP Advanced Tasking (incl. Lab)<\/td>\n<td width=\"206\">Christian Terboven<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">15:15 \u2013 16:15<\/td>\n<td width=\"346\">OpenMP for Accelerators<\/td>\n<td width=\"206\">Christian Terboven<\/td>\n<\/tr>\n<tr>\n<td width=\"215\"><\/td>\n<td width=\"346\"><\/td>\n<td width=\"206\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3><\/h3>\n<h3>Day 3+4: MPI<\/h3>\n<table style=\"height: 184px;\" width=\"781\" cellspacing=\"0\" cellpadding=\"2\">\n<tbody>\n<tr>\n<th width=\"215\">Wednesday, March 15<\/th>\n<th width=\"346\">Day 3: MPI Part I<\/th>\n<th width=\"206\"><\/th>\n<\/tr>\n<tr>\n<td width=\"215\">09:30 \u2013 11:00<\/td>\n<td width=\"346\">Introduction to MPI<\/td>\n<td width=\"206\">Marc-Andr\u00e9 Hermanns<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">11:30 \u2013 12:30<\/td>\n<td width=\"346\">Blocking Point-to-Point Communication I<\/td>\n<td width=\"206\">Marc-Andr\u00e9 Hermanns<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">14:00 \u2013 15:30<\/td>\n<td width=\"346\">Blocking Point-to-Point Communication II<\/td>\n<td width=\"206\">Marc-Andr\u00e9 Hermanns<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">16:00 \u2013 17:00<\/td>\n<td width=\"346\">Non-blocking Point-to-Point Communication<\/td>\n<td width=\"206\">Marc-Andr\u00e9 Hermanns<\/td>\n<\/tr>\n<tr>\n<td width=\"215\"><\/td>\n<td width=\"346\"><\/td>\n<td width=\"206\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<table style=\"height: 213px;\" width=\"785\" cellspacing=\"0\" cellpadding=\"2\">\n<tbody>\n<tr>\n<th width=\"215\">Thursday, March 16<\/th>\n<th width=\"346\">Day 4: MPI Part II<\/th>\n<th width=\"206\"><\/th>\n<\/tr>\n<tr>\n<td width=\"215\">09:30 \u2013 11:00<\/td>\n<td width=\"346\">Derived Datatypes<\/td>\n<td width=\"206\">Marc-Andr\u00e9 Hermanns<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">11:30 \u2013 12:30<\/td>\n<td width=\"346\">Blocking Collective Communication<\/td>\n<td width=\"206\">Marc-Andr\u00e9 Hermanns<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">14:00 \u2013 15:30<\/td>\n<td width=\"346\">Communicator Basics<\/td>\n<td width=\"206\">Marc-Andr\u00e9 Hermanns<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">16:00 \u2013 17:00<\/td>\n<td width=\"346\">Hybrid Programming<\/td>\n<td width=\"206\">Marc-Andr\u00e9 Hermanns<\/td>\n<\/tr>\n<tr>\n<td width=\"215\"><\/td>\n<td width=\"346\"><\/td>\n<td width=\"206\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><\/h3>\n<h3>Day 5: Machine Learning<\/h3>\n<table style=\"height: 474px;\" width=\"777\" cellspacing=\"0\" cellpadding=\"2\">\n<tbody>\n<tr>\n<th width=\"215\">Friday, March 17<\/th>\n<th width=\"346\">Day 5: Machine Learning<\/th>\n<th width=\"206\"><\/th>\n<\/tr>\n<tr>\n<td width=\"215\">09:00 \u2013 09:45<\/td>\n<td width=\"346\">Introduction to sci-kit learn<\/td>\n<td width=\"206\">Georg Zitzlsberger<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">09:45 \u2013 10:00<\/td>\n<td width=\"346\">Getting started on the Cluster<\/td>\n<td width=\"206\">Jannis Klinkenberg<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">10:15 \u2013 11:00<\/td>\n<td width=\"346\">Hands-on scikit-learn examples<\/td>\n<td width=\"206\">Georg Zitzlsberger<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">11:00 \u2013 12:00<\/td>\n<td width=\"346\">Introduction to Deep Neural Networks<\/td>\n<td width=\"206\">Georg Zitzlsberger<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">13:00 \u2013 14:00<\/td>\n<td width=\"346\">Tensorflow\/Keras Exercises (short intro + Hands-on exercise)<\/p>\n<ul>\n<li lang=\"de\">Define Data Pipeline with Dataset<\/li>\n<li lang=\"de\">Build a Model<\/li>\n<li lang=\"de\">Train &amp; Visualize with Tensorboard<\/li>\n<\/ul>\n<\/td>\n<td width=\"206\">Georg Zitzlsberger<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">14:15 \u2013 15:30<\/td>\n<td width=\"346\">Multi-GPU with Horovod (incl. short Hands-on)<\/td>\n<td width=\"206\">Georg Zitzlsberger<\/td>\n<\/tr>\n<tr>\n<td width=\"215\">15:30 \u2013 16:00<\/td>\n<td width=\"346\">Q &amp; A<\/td>\n<td width=\"206\">Georg Zitzlsberger<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><\/h2>\n<h2>Material Downloads<\/h2>\n<ul>\n<li><a href=\"https:\/\/blog.rwth-aachen.de\/itc-events\/files\/2023\/01\/00_pmm_organization.pptx-1.pdf\">Organization and Cluster Access<\/a><\/li>\n<li><a href=\"https:\/\/hpc.rwth-aachen.de\/ppces\/2023_openmp.tar.gz\">Part I: OpenMP<\/a><\/li>\n<li><a href=\"https:\/\/hpc.rwth-aachen.de\/ppces\/2023_mpi.tar.gz\">Part II: MPI<\/a><\/li>\n<li><a href=\"https:\/\/hpc.rwth-aachen.de\/ppces\/2023_ml.tar.gz\">Part III: Machine Learning<\/a><\/li>\n<\/ul>\n<h2><\/h2>\n<h2>Prerequisites<\/h2>\n<p>Attendees should be comfortable with C\/C++ or Fortran programming in a Linux environment and interested in learning about the technical details of parallelization and application tuning.<\/p>\n<p>Participants of Part 3 (Machine Learning) will require basic knowledge of Python.<\/p>\n<h2>Gained Skills<\/h2>\n<p>Participants will learn about parallelization and application tuning in the context of High Performance Computing.<\/p>\n<h2>Registration<\/h2>\n<p>Registration is now closed, but was available <a href=\"https:\/\/www.itc.rwth-aachen.de\/go\/id\/sxqf\/file\/9-1576\/?lidx=1\">here<\/a>.<\/p>\n<h2>Acknowledgements<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-5865\" src=\"https:\/\/blog.rwth-aachen.de\/itc-events\/files\/2022\/02\/EuroCC-Logo_small.png\" alt=\"\" width=\"150\" height=\"149\" srcset=\"https:\/\/blog.rwth-aachen.de\/itc-events\/files\/2022\/02\/EuroCC-Logo_small.png 150w, https:\/\/blog.rwth-aachen.de\/itc-events\/files\/2022\/02\/EuroCC-Logo_small-50x50.png 50w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5866 alignnone\" src=\"https:\/\/blog.rwth-aachen.de\/itc-events\/files\/2022\/02\/logo_EU_21.png\" alt=\"\" width=\"100\" height=\"67\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5867 alignnone\" src=\"https:\/\/blog.rwth-aachen.de\/itc-events\/files\/2022\/02\/logo_EuroHPC-JU_small.png\" alt=\"\" width=\"200\" height=\"100\" \/><\/p>\n<p>This work was supported by the EuroCC project. This project has received funding from the European High-Performance Computing Joint Undertaking (JU) under grant agreement No 951732. The JU receives support from the European Union\u2019s Horizon 2020 research and innovation programme and Germany, Bulgaria, Austria, Croatia, Cyprus, the Czech Republic, Denmark, Estonia, Finland, Greece, Hungary, Ireland, Italy, Lithuania, Latvia, Poland, Portugal, Romania, Slovenia, Spain, Sweden, the United Kingdom, France, the Netherlands, Belgium, Luxembourg, Slovakia, Norway, Switzerland, Turkey, Republic of North Macedonia, Iceland, Montenegro. This project has received funding from the Ministry of Education, Youth and Sports of the Czech Republic (ID:MC2101).<\/p>\n<p>This event was further supported by NEC.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-6292\" src=\"https:\/\/blog.rwth-aachen.de\/itc-events\/files\/2023\/01\/NEC_logo-1-300x86.jpg\" alt=\"\" width=\"300\" height=\"86\" srcset=\"https:\/\/blog.rwth-aachen.de\/itc-events\/files\/2023\/01\/NEC_logo-1-300x86.jpg 300w, https:\/\/blog.rwth-aachen.de\/itc-events\/files\/2023\/01\/NEC_logo-1-1024x294.jpg 1024w, https:\/\/blog.rwth-aachen.de\/itc-events\/files\/2023\/01\/NEC_logo-1-768x220.jpg 768w, https:\/\/blog.rwth-aachen.de\/itc-events\/files\/2023\/01\/NEC_logo-1-1536x440.jpg 1536w, https:\/\/blog.rwth-aachen.de\/itc-events\/files\/2023\/01\/NEC_logo-1.jpg 1573w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Parallel Programming in Computational Engineering and Science (PPCES) 2023 About PPCES This one week event will continue the tradition of previous annual week-long events that take place in Aachen every [&hellip;]<\/p>\n","protected":false},"author":3726,"featured_media":6093,"template":"","meta":{"_price":"","_stock":"","_tribe_ticket_header":"","_tribe_default_ticket_provider":"","_tribe_ticket_capacity":"0","_ticket_start_date":"","_ticket_end_date":"","_tribe_ticket_show_description":"","_tribe_ticket_show_not_going":false,"_tribe_ticket_use_global_stock":"","_tribe_ticket_global_stock_level":"","_global_stock_mode":"","_global_stock_cap":"","_tribe_rsvp_for_event":"","_tribe_ticket_going_count":"","_tribe_ticket_not_going_count":"","_tribe_tickets_list":"[]","_tribe_ticket_has_attendee_info_fields":false,"_tribe_events_status":"","_tribe_events_status_reason":"","footnotes":"","_tec_slr_enabled":"","_tec_slr_layout":""},"tags":[],"tribe_events_cat":[22,55],"class_list":["post-6266","tribe_events","type-tribe_events","status-publish","has-post-thumbnail","hentry","tribe_events_cat-hpcevents","tribe_events_cat-ppces","cat_hpcevents","cat_ppces"],"ticketed":false,"_links":{"self":[{"href":"https:\/\/blog.rwth-aachen.de\/itc-events\/wp-json\/wp\/v2\/tribe_events\/6266","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rwth-aachen.de\/itc-events\/wp-json\/wp\/v2\/tribe_events"}],"about":[{"href":"https:\/\/blog.rwth-aachen.de\/itc-events\/wp-json\/wp\/v2\/types\/tribe_events"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/itc-events\/wp-json\/wp\/v2\/users\/3726"}],"version-history":[{"count":36,"href":"https:\/\/blog.rwth-aachen.de\/itc-events\/wp-json\/wp\/v2\/tribe_events\/6266\/revisions"}],"predecessor-version":[{"id":6679,"href":"https:\/\/blog.rwth-aachen.de\/itc-events\/wp-json\/wp\/v2\/tribe_events\/6266\/revisions\/6679"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/itc-events\/wp-json\/wp\/v2\/media\/6093"}],"wp:attachment":[{"href":"https:\/\/blog.rwth-aachen.de\/itc-events\/wp-json\/wp\/v2\/media?parent=6266"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/itc-events\/wp-json\/wp\/v2\/tags?post=6266"},{"taxonomy":"tribe_events_cat","embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/itc-events\/wp-json\/wp\/v2\/tribe_events_cat?post=6266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}