BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ENCCS - ECPv6.15.16//NONSGML v1.0//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:ENCCS
X-ORIGINAL-URL:https://enccs.se
X-WR-CALDESC:Events for ENCCS
REFRESH-INTERVAL;VALUE=DURATION:PT1H
X-Robots-Tag:noindex
X-PUBLISHED-TTL:PT1H
BEGIN:VTIMEZONE
TZID:Europe/Stockholm
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:20240331T010000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:20241027T010000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:20250330T010000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:20251026T010000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:20260329T010000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:20261025T010000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID=Europe/Stockholm:20251118T100000
DTEND;TZID=Europe/Stockholm:20251120T120000
DTSTAMP:20260419T025602
CREATED:20251016T074638Z
LAST-MODIFIED:20251107T113347Z
UID:38123-1763460000-1763640000@enccs.se
SUMMARY:[Webinars] Introduction to GPU programming
DESCRIPTION:Register here\n\n\n\n\n\n\nOverview\n\n\n\nGraphics Processing Units (GPUs) power many of the world’s high-performance computing (HPC) systems. Today\, most of the computing capacity available to researchers and engineers in HPC comes from GPUs or similar accelerators. As a result\, learning how to program GPUs has become increasingly important for developers working on HPC software. \n\n\n\nAt the same time\, the GPU ecosystem is complex. Several vendors compete in the high-end GPU market\, each with its own software stack and development tools. On top of that\, there are many programming languages\, libraries\, and frameworks for writing GPU code. This variety makes it challenging for developers and project leads to choose the right tools and frameworks for their specific projects\, especially when balancing technical requirements with existing codebases. \n\n\n\nIn this webinar series\, we provides a practical introduction to GPU programming\, designed for developers\, researchers\, and engineers who are curious about leveraging GPUs for high-performance computing and data-intensive applications. Through three focused webinars\, participants will gain a solid understanding of why GPUs matter\, the fundamentals of GPU architectures\, what kinds of problems they are best suited for\, and how to begin using GPU programming models. \n\n\n\n\nThe first part covers why to use GPU and the description of GPU architecture and software ecosystem.\n\nWe begin by exploring the motivation for GPU programming. Participants will learn how GPUs differ from CPUs in design philosophy and parallel execution.\n\n\n\nWe’ll break down the basics of GPU hardware and the software ecosystem that supports GPU computing (CUDA\, ROCm\, OpenCL\, libraries\, and frameworks).\n\n\n\n\n\nThe second part covers the GPU programming concepts and what problems fit GPU programming.\n\nThis session introduces the key concepts that underpin GPU programming\, such as threads\, warps\, blocks\, and grids.\n\n\n\nWe’ll discuss how data parallelism drives performance on GPUs\, and examine real-world examples of problems that benefit from GPU acceleration\, along with cases where GPUs are not a good fit.\n\n\n\n\n\nThe third part concludes with a general introduction to major GPU programming models.\n\nWe’ll compare directive-based\, portable and non-portable kernel-based models\, and high-level abstractions such as Julia/Python or domain-specific libraries.\n\n\n\nParticipants will see how to structure basic GPU programs and gain an understanding of the programming patterns that unlock GPU performance.\n\n\n\n\n\n\nBy the end of this webinar series\, attendees will understand the strengths of GPUs\, the fundamentals of GPU programming\, and the pathways to begin applying these concepts in their own work. \n\n\n\nWho is this webinar for?\n\n\n\nThis webinar series are especially relevant for early-career researchers and engineers who develop software running on CPUs in workstations or supercomputers\, as well as for decision-makers and project leaders who may not write code but oversee software projects in academia\, industry\, or the public sector. \n\n\n\nKey Takeaways\n\n\n\nBy the end of this webinar series\, the participants will understand: \n\n\n\n\nThe role of GPUs in modern high-performance computing and why they are widely used.\n\n\n\nKey differences between CPUs and GPUs\, including architecture\, memory hierarchy\, and execution models.\n\n\n\nThe basics of the GPU software ecosystem (CUDA\, ROCm\, OpenCL\, and higher-level frameworks).\n\n\n\nCore GPU programming concepts such as threads\, warps\, blocks\, and grids.\n\n\n\nHow to identify problems that are well-suited for GPU acceleration\, and those that are not.\n\n\n\nAn overview of major GPU programming models and their trade-offs.\n\n\n\nHow to structure simple GPU programs and understand common parallel programming patterns.\n\n\n\nPractical pathways for getting started with GPU development in research or industry projects.\n\n\n\n\nTentative Schedule \n\n\n\nWe have scheduled a follow-up workshop next week (Nov. 25–27) that will provide a comprehensive overview of GPU programming. The agenda for the follow-up workshop can be found HERE. \n\n\n\nFor this session\, we will use the LUMI supercomputer for hands-on exercises. If you have registered for the workshop\, we will guide you through accessing the LUMI machine during the onboarding session. \n\n\n\nDay 1 (Nov. 18)\n\n\n\n\n\n\n	TimeContents\n\n\n\n\n	10.00-10.15Welcome\n\n\n	10.15-10.30Why GPUs?\n\n\n	10.30-11.00GPU hardware and software ecosystem\n\n\n	11.00-11.20Q&A\n\n\n	11.20-12.00On-boarding session (login to LUMI)\n\n\n\n\n\n\nDay 2 (Nov. 19)\n\n\n\n\n\n\n	TimeContents\n\n\n\n\n	10.00-10.10Welcome and recap\n\n\n	10.10-10.40GPU programming concepts\n\n\n	10.40-11.00What problems fit GPU programming?\n\n\n	11.00-11.20Q&A\n\n\n	11.20-12.00On-boarding session (login to LUMI)\n\n\n\n\n\n\nDay 3 (Nov. 20)\n\n\n\n\n\n\n	TimeContents\n\n\n\n\n	10.00-10.10Welcome and recap\n\n\n	10.10-11.00Introduction to GPU programming models\n\n\n	11.00-11.20Q&A\n\n\n	11.20-12.00On-boarding session (login to LUMI)\n\n\n\n\n\n\n\n\n\n\nMore events & contact\n\n\n\nCheck out more upcoming events from ENCCS and our European network at https://enccs.se/events\, as well as our lessons\, suitable also for self-learning. \n\n\n\nFor questions regarding this workshop or general questions about ENNCS training events\, please contact training@enccs.se \n\n\n\nSchedules can change!\n\n\n\nTo ensure that everyone has the opportunity to participate\, we kindly request that you let us know as soon as possible if you are unable to attend an event after registering. \n\n\n\nPlease send us an email at training@enccs.se to cancel your attendance. \n\n\n\nWe understand things can change\, but repeated cancellations without notice may unfortunately result in your name being removed from future event registration lists. \n\n\n\n\n\n\n\nRegulations\n\n\n\nDue to EuroCC2 regulations\, we CAN NOT ACCEPT generic or private email addresses. Please use your official university or company email address for registration. \n\n\n\nThis training is for users who live and work in the European Union or a country associated with Horizon 2020. You can read more about the countries associated with Horizon2020 HERE.
URL:https://enccs.se/events/webinars-introduction-to-gpu-programming-2025/
CATEGORIES:ENCCS Event
ATTACH;FMTTYPE=image/jpeg:https://media.enccs.se/2025/10/Frame-5.jpg
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=Europe/Stockholm:20251125T090000
DTEND;TZID=Europe/Stockholm:20251127T123000
DTSTAMP:20260419T025602
CREATED:20251016T075338Z
LAST-MODIFIED:20251107T113120Z
UID:38127-1764061200-1764246600@enccs.se
SUMMARY:GPU programming: when\, why and how?
DESCRIPTION:Register here\n\n\n\n\n\n\nOverview\n\n\n\nGraphics Processing Units (GPUs) are the workhorses of many high-performance computing (HPC) systems worldwide. Today\, the majority of HPC computing power available to researchers and engineers comes from GPUs or other accelerators. As a result\, programming GPUs has become increasingly important for developers working on HPC software. \n\n\n\nAt the same time\, the GPU ecosystem is complex. Multiple vendors compete in the high-end GPU market\, each offering their own software stack and development tools. Beyond that\, there is a wide variety of programming languages\, libraries\, and frameworks for writing GPU code. This makes it challenging for developers and project leaders to navigate the landscape and select the most appropriate GPU programming approach for a given project and its technical requirements. \n\n\n\nThis workshop is a follow-up event of the webinars in the previous week. We will provide a comprehensive description of GPU programming concepts and models\, including \n\n\n\n\nDirective-based models (OpenACC\, OpenMP)\n\n\n\nNon-portable kernel-based models (CUDA\, HIP)\n\n\n\nPortable kernel-based models (Kokkos\, alpaka\, OpenCL\, SYCL\, etc.)\n\n\n\nHigh-level language support (Python\, Julia)\n\n\n\nMulti-GPU programming with MPI\n\n\n\nHands-on examples implemented using several models\n\n\n\nNotes on preparing code for GPU porting\n\n\n\n\nWho is this workshop for?\n\n\n\nThis workshop is most relevant to researchers and engineers who already develop software which runs on CPUs in workstations or supercomputers. Familiarity with one or more programming languages like C/C++\, Fortran\, Python or Julia is recommended. \n\n\n\nIf you are not yet familiar with the basics of GPU programming concepts and models\, we recommend attending the introductory webinar series offered the week before. These sessions provide the necessary background to help you get the most out of this workshop. \n\n\n\nKey Takeaways\n\n\n\nBy the end of this workshop\, the participants will: \n\n\n\n\nUnderstand the range of GPU programming models and their use cases\, from directive-based approaches (OpenACC\, OpenMP) to kernel-based models (CUDA\, HIP\, SYCL\, Kokkos\, Alpaka\, and others).\n\n\n\nGain insight into the trade-offs between non-portable and portable programming models when targeting different GPU vendors and platforms.\n\n\n\nLearn how high-level languages such as Python and Julia provide accessible pathways to GPU programming.\n\n\n\nUnderstand strategies for scaling applications across multiple GPUs using MPI.\n\n\n\nApply learned concepts through hands-on exercises to reinforce practical skills.\n\n\n\nKnow how to assess and prepare existing CPU-based code for GPU porting.\n\n\n\nBe equipped to make informed decisions on selecting GPU programming models that best fit their project requirements.\n\n\n\n\nTentative agenda\n\n\n\nDay 1 (Nov. 25)\n\n\n\n\n\n\n	TimeContents\n\n\n\n\n	09.00-09.10Welcome\n\n\n	09.10-10.30Directive-based models (OpenACC\, OpenMP)\n\n\n	10.30-10.40Break\n\n\n	10.40-12.00Non-portable kernel-based models (CUDA\, HIP)\n\n\n	12.00-12.30Q&A session\n\n\n\n\n\n\nDay 2 (Nov. 26)\n\n\n\n\n\n\n	TimeContents\n\n\n\n\n	09.00-09.10Welcome and recap\n\n\n	09.10-11.00Portable kernel-based models (Kokkos\, OpenCL\, SYCL\, C++ stdpar\, alpaka\, etc.)\n\n\n	11.00-11.10Break\n\n\n	11.00-12.00High-level language support\n\n\n	12.00-12.30Q&A session\n\n\n\n\n\n\nDay 3 (Nov. 27)\n\n\n\n\n\n\n	TimeContents\n\n\n\n\n	09.00-09.10Welcome and recap\n\n\n	09.10-10.30Multi-GPU programming with MPI\n\n\n	10.30-10.40Break\n\n\n	10.40-11.30Example problem: stencil computation\n\n\n	11.30-11.40Break\n\n\n	11.40-12.20Preparing code for GPU porting\nRecommendations\, Q&A\n\n\n	12.20-12.30Summary\n\n\n\n\n\n\n\n\n\n\nMore events & contact\n\n\n\nCheck out more upcoming events from ENCCS and our European network at https://enccs.se/events\, as well as our lessons\, suitable also for self-learning. \n\n\n\nFor questions regarding this workshop or general questions about ENNCS training events\, please contact training@enccs.se \n\n\n\nSchedules can change!\n\n\n\nTo ensure that everyone has the opportunity to participate\, we kindly request that you let us know as soon as possible if you are unable to attend an event after registering. \n\n\n\nPlease send us an email at training@enccs.se to cancel your attendance. \n\n\n\nWe understand things can change\, but repeated cancellations without notice may unfortunately result in your name being removed from future event registration lists. \n\n\n\n\n\n\n\nRegulations\n\n\n\nDue to EuroCC2 regulations\, we CAN NOT ACCEPT generic or private email addresses. Please use your official university or company email address for registration. \n\n\n\nThis training is for users who live and work in the European Union or a country associated with Horizon 2020. You can read more about the countries associated with Horizon2020 HERE.
URL:https://enccs.se/events/gpu-programming-when-why-how-2025/
CATEGORIES:ENCCS Event
ATTACH;FMTTYPE=image/jpeg:https://media.enccs.se/2025/10/Frame-7.jpg
END:VEVENT
END:VCALENDAR