Apr
23
Tue
First Kokkos Usergroup Meeting @ Sandia National Laboratories, Albuquerque NM, USA
Apr 23 @ 8:30 pm – Apr 24 @ 5:00 pm

*****Registration is now closed for this event.******

 

The Kokkos team is announcing the first Kokkos Usergroup Meeting to be held in Albuquerque New Mexico, USA April 23rd and 24th. The meeting will give the growing Kokkos community a chance to present progress in adopting Kokkos, exchange experiences, discuss challenges and help set priorities for the future roadmap of Kokkos. Projects are invited to give a 20 minute presentation. Application talks are encouraged to focus on technical and algorithmic challenges in adopting Kokkos and how Kokkos’s capabilities were used to overcome those.

The Kokkos Team will also be available on the 25th and 26th for project specific meetings. Please request such a meeting if you are interested. Since this is the first Usergroup meeting we are not sure what attendance level to expect. If registrations outpace our current estimate we are considering to extend the meeting by a day to open up more room for application presentations and discussions.

The tentative schedule is located below.  We will upload the final agenda when complete.

For questions please send an email to [email protected].

We are looking forward to seeing you in Albuquerque.

Apr
29
Mon
OpenMP Brookathon 2019 @ Brookhaven National Laboratory
Apr 29 @ 8:00 am – May 2 @ 5:00 pm

OpenMP Brookathon 2019

The Computational Science Initiative at Brookhaven National Laboratory (BNL) is organizing in conjunction with Oak Ridge National Laboratory (ORNL) and IBM, the “OpenMP Brookathon 2019”, on April 29–May 2, 2019. This event is sponsored by the Exascale Computing Project (ECP), and driven by the ECP SOLLVE Project. We encourage participation of teams specially interested in porting and optimizing their applications by using the latest OpenMP features.

Hackathon Goal

The goal of this hackathon is to port, optimize and evolve applications towards the latest OpenMP versions (4.5+). This event will be co-organized with ORNL and IBM. In practical terms, this event will enable application teams and developers to accelerate their code with the use of GPUs, as well as exploiting the latest OpenMP functionality to program (IBM Power9) multi-core platforms. Prospective user groups of large hybrid CPU-GPU systems will send teams of at least 3 developers along with either (1) a scalable application that could benefit from GPU accelerators, or (2) an application running on accelerators that has already written OpenMP and needs optimization or (3) applications that have OpenACC in their codes and need assistance to convert them to OpenMP 4.5 offload.

There will be intensive mentoring during this 4-day hands-on event. At the conclusion of the event, participating teams will have a functional GPU-accelerated code, or at least, a clear roadmap of how to get there. To support the hackathon goal, we will have a number of mentors from IBM, ORNL, BNL, NERSC, LLNL, universities, and other vendors on-site during the event. Our mentors have extensive experience in programming GPUs, actively participate in the OpenMP language committee, and conduct research and development in compilers and tools with OpenMP support.

Programming experience with OpenMP 4.5 offload or CUDA is not a requirement. We will hold training events / tutorials covering the set of background topics required. In the weeks preceding the hackathon, you will have a chance to attend training to prepare you for the event. Prior GPU experience is not required!

Target Audience and Format

We are looking for teams, each consisting of 3-5 developers, that wish to work on the optimization and porting of an application to GPU accelerators. Small-to-medium sized applications, mini-apps or specific test cases are especially encouraged. Hence, participating teams should devote significant efforts to isolate the compute/data intensive parts of the code to be optimized. In particular, the development of suitable test-harness and verification machinery to validate that no errors are being introduced during this work-intensive event. Collectively the team should know the application intimately. If an application is a suite of apps, no more than two per team is allowed and a minimum of 2 people per app must attend.

How to Apply

In order to participate in the hackathon, please submit a Team Hacking Application Form. You will have to provide a team name, a brief summary of the application, your intended goals, software/package dependencies and the list of team participants (full name, affiliation and email). In addition, select in the application form whether the application is sensitive in any way (e.g. only for DOE use, not accessible to foreign nationals, is it NDA protected, etc). If in doubt, please contact us.

Participation in the training event is free of charge. The meeting room and lunches, as well as access to the supercomputers throughout the event are offered by BNL, ORNL and our event sponsors. The deadline to submit an application is April 5, 2019. Notification of acceptance will be sent out by April 11, 2019.

 

For more information visit the OpenMP Brookathon 2019 website at https://www.bnl.gov/ompbrookathon2019.  

May
8
Wed
So, You Want to be Agile? Strategies for Introducing Agility into Your Scientific Software Project
May 8 @ 1:00 pm – 2:00 pm

The IDEAS Productivity project, in partnership with the DOE Computing Facilities of the ALCF, OLCF, and NERSC and the DOE Exascale Computing Project (ECP) has resumed the webinar series on Best Practices for HPC Software Developers, which we began in 2016.

As part of this series, we offer one-hour webinars on topics in scientific software development and high-performance computing, approximately once a month. The next webinar is titled So, You Want to be Agile? Strategies for Introducing Agility into Your Scientific Software Project, and will be presented by Michael Heroux (Sandia National Laboratories). The webinar will take place on Wednesday, May 8, 2019 at 1:00 pm ET.

Abstract:

Scientific software team cultures have natural consistencies with agile practices. Discovery-driven development, a focus on regular delivery of results, in-person discussions within and across research teams, and a focus on long-term sustainable research programs are commonplace dynamics on computational science teams that develop software. These dynamics are also particular expressions of core agile principles.

Many scientific software teams have already assimilated industry best practices in some aspects of their work. The advent of open software development platforms such as GitHub and GitLab have accelerated awareness and adoption, as have numerous on-line resources that enable a motivated person to continue learning new ideas and approaches. Even so, we propose that a healthy team habit is continued exploration and improvement of software practices, processes and skills.

In this webinar, we discuss a few agile practices and strategies that are readily adapted and adopted by scientific software teams. In addition, we describe an attitude and strategy for continual process improvement that enables computational science teams to simultaneously deliver science results and, at the same time, dedicate a slice of time to improving software practices on their way to delivering those results.

Jun
7
Fri
Webinar: Introduction to AMD GPU Programming with HIP
Jun 7 @ 1:00 pm – 3:00 pm

AMD Research presented a webinar titled, “Introduction to AMD GPU programming with HIP” on June 7th. HIP is a C++ runtime API that allows developers to write portable code to run on AMD and NVIDIA GPUs. It is an interface that uses the underlying Radeon Open Compute (ROCm) or CUDA platform that is installed on a system. The API is similar to CUDA so porting existing codes from CUDA to HIP should be fairly straightforward in most cases. In addition, HIP provides porting tools which can be used to help port CUDA codes to the HIP layer, with no overhead compared to the original CUDA application. HIP is not intended to be a drop-in replacement for CUDA, and this webinar included guidance on the manual coding and performance tuning work needed to complete the port.

Key features include:

  • HIP is a thin layer and has little or no performance impact over coding directly in CUDA.
  • HIP allows coding in a single-source C++ programming language including features such as templates, C++11 lambdas, classes, namespaces, and more.
  • The “hipify” tools automatically converts source from CUDA to HIP.
  • Developers can specialize for the platform (CUDA or HIP) to tune for performance or handle tricky cases.

Please see “Presentation Materials” below for links to the video, presentation slides, and Q&A from the event.

Jun
12
Wed
Modern C++ for High-Performance Computing
Jun 12 @ 1:00 pm – 2:00 pm

The IDEAS Productivity project, in partnership with the DOE Computing Facilities of the ALCF, OLCF, and NERSC and the DOE Exascale Computing Project (ECP) has resumed the webinar series on Best Practices for HPC Software Developers, which we began in 2016.

As part of this series, we offer one-hour webinars on topics in scientific software development and high-performance computing, approximately once a month. The next webinar is titled Modern C++ for High-Performance Computing, and will be presented by Andrew Lumsdaine (Pacific Northwest National Laboratory & University of Washington). The webinar will take place on Wednesday, June 12, 2019 at 1:00 pm ET.

Abstract:

Since its creation by Bjarne Stroustrup in the early 1980s, C++ has steadily evolved to become a multi-paradigm programming language that fully supports the needs of modern programmers. Because C++ had its roots in the C programming language, conventional wisdom (and longstanding practice) had been to use C++ in a dichotomous fashion: abstractions for productivity with escape to C for performance. However, C++ today is best viewed holistically — as it is today — rather than as extension of C or even of earlier versions of C++. In this webinar I will give a tour of features from modern C++ relevant to HPC, along with guidelines for their use — and demonstrate that C++ can offer productivity and elegance while sacrificing nothing in performance.

Jun
16
Sun
Advanced MPI Tutorial at ISC High Performance 2019
Jun 16 @ 9:00 am – 6:00 pm

Advanced MPI Tutorial

  • When: Sunday, June 16, 9am – 6pm
  • Where: Applaus, Messe Frankfurt Tor Ost (East Gate) Hall 3, Frankfurt am Main, Germany
  • Presenters: Pavan Balaji (Argonne National Laboratory), Torsten Hoefler (D-INFK ETH Zurich), Antonio Pena (Barcelona Supercomputing Center) and Yanfei Guo (Argonne National Laboratory)

The ECP Project will host an advanced Message-Passing Interface (MPI) Tutorial on June 16. This tutorial will cover a vast of new features that are being introduced in MPI-3. The tutorial is offered as part of the ISC High Performance 2019. The registration is open to everyone through the ISC registration page.

The Message Passing Interface (MPI) has been the de facto standard for parallel programming for nearly two decades now. However, a vast majority of applications only rely on basic MPI-1 features without taking advantage of the rich set of functionalities the rest of the standard provides. Further, with the advent of MPI-3 (released in September 2012), a vast number of new features are being introduced in MPI, including efficient one-sided communication, support for external tools, non-blocking collective operations, and improved support for topology-aware data movement. The upcoming MPI-4 standard aims at introducing further improvements to the standard in a number of aspects. This is an advanced-level tutorial that will provide an overview of various powerful features in MPI, especially with MPI-2 and MPI-3, and will present a brief preview into what is being planned for MPI-4.

Jun
18
Tue
Overview of OpenMP 4.5 and 5.0 Features
Jun 18 @ 12:00 pm – 1:00 pm

Abstract

The webinar consisted of three segments:

  • A review of the fork-join OpenMP programming model, followed by an introductory overview of the tasking model. This segment provided application developers with the necessary tools to go beyond the commonly used parallel loop.
  • A brief introduction to the OpenMP execution model and data environment for accelerators such as GPUs. This segment also discussed the important basic OpenMP 4.5 constructs and concepts.
  • A review of the OpenMP standard, 5.0, and its new constructs. This segment covered several important features in OpenMP 5.0 that can improve usability, offload flexibility, and extend the existing functionality in OpenMP 4.5.

Organizers

  • Haritha Siddabathuni Som (ALCF)
  • Ray Loy (ALCF)
  • Yasaman Ghadar (ALCF)

Webinar material

Jul
17
Wed
When 100 Flops/Watt was a Giant Leap: The Apollo Guidance Computer Hardware, Software and Application in Moon Missions
Jul 17 @ 1:00 pm – 2:00 pm

The IDEAS Productivity project, in partnership with the DOE Computing Facilities of the ALCF, OLCF, and NERSC and the DOE Exascale Computing Project (ECP) has resumed the webinar series on Best Practices for HPC Software Developers, which we began in 2016.

As part of this series, we offer one-hour webinars on topics in scientific software development and high-performance computing, approximately once a month. The next webinar in the series was titled, When 100 Flops/Watt was a Giant Leap: The Apollo Guidance Computer Hardware, Software and Application in Moon Missions, and was presented by Mark Miller (Lawrence Livermore National Laboratory). The webinar will took place on Wednesday, July 17, 2019 at 1:00 pm ET.

Abstract:

Commemorating the 50th Anniversary of the Apollo Moon landings, this webinar described the revolutionary computer, the Apollo Guidance Computer (AGC). The AGC made autonomous travel to the Moon and back not only possible but added profoundly to crew safety, flight profile accuracy and even optimized propellant use to such an extent that final missions plans traded fuel for added weight in equipment and lunar samples. The webinar gave an overview of the AGC hardware architecture, the guidance software it executed as well as the pioneering efforts in developing both. HPC/CSE code teams will discover many familiar themes such as flops/watt power constraints and performance portability challenges. The webinar concluded with several user stories about the actual operation of the AGC in various Apollo missions.

Jul
29
Mon
CMake Training @ National Energy Research Scientific Computing Center (NERSC)
Jul 29 @ 9:00 am – Jul 30 @ 5:00 pm

ECP is partnering with Kitware and NERSC to offer an introductory 1.5 day CMake training class at NERSC on July 29-30.  Registration is now closed for this event.

The training class will be held in 3101 in Wang Hall at Lawrence Berkeley Lab.  The tentative agenda for the training is given below.  The training is targeted at a deeper understanding of CMake. It seeks to assist ECP developers in learning how to resolve issues outside of their control, in addition to writing a build system generator capable of seamlessly configuring for multiple unique architectures with a variety of compilers.

 

For questions please send an email to [email protected].

We are looking forward to seeing you in Berkeley.

Aug
14
Wed
Software Management Plans in Research Projects
Aug 14 @ 9:00 am – 10:00 am

The IDEAS Productivity project, in partnership with the DOE Computing Facilities of the ALCF, OLCF, and NERSC and the DOE Exascale Computing Project (ECP) offers a monthly webinar series on Best Practices for HPC Software Developers, which we began in 2016.

As part of this series, we offer one-hour webinars on topics in scientific software development and high-performance computing, approximately once a month. The next webinar in the series was titled Software Management Plans in Research Projects, and was presented by Shoaib Sufi (Software Sustainability Institute). The webinar took place on Wednesday, August 14, 2019 at 12:00 pm ET. (One hour earlier than the usual time.)

Abstract:

Software is a necessary by-product of research. Software in this context can range from small shell scripts to complex and layered software ecosystems. Dealing with software as a first class citizen at the time of grant formulation is aided by the development of a Software Management Plan (SMP). An SMP can help to formalize a set of structures and goals that ensure your software is accessible and reusable in the short, medium and long term. SMP’s aim at becoming for software what Data Management Plans (DMP’s) have become for research data (DMP’s are mandatory for National Science Foundation grants). This webinar takes you through the questions you should consider when developing a Software Management Plan, how to manage the implementation of the plan, and some of the current motivation driving discussion in this area of research management.