The aim of HPC Carpentry is to teach novice HPC users (defined below) "basic lab skills for high-performance computing". The material is designed to be covered in a full day (6 hours), and includes
- an introduction to the command line and scripting,
- a background in remote computing, cluster structure and batch submission, and
- management of parallel (high-throughput and high-performance) workflows.
Although the workshop will focus primarily on a single HPC site (the Oklahoma State cluster), it is designed with the objective to teach concepts more generally, and to enable users to easily translate concepts to their local sites.
The target audience for HPC Carpentry at SC '16 may fall into two categories:
-
Novice HPC users: attendees that are entering the field of high-performance computing, but have little to no experience with the command line or remote computing.
-
HPC Trainers: attendees that offer or are interested in offering training in high-performance computing for novice HPC users.
-
Provide entry-level audiences the skills necessary to begin using HPC resources: learners will be able to prepare and submit HPC and HTC jobs in a more educated, organized and efficient way, and analyze and report problems more effectively.
-
Demonstrate the "Software Carpentry" workshop layout and practices and their applicability to HPC training: HPC trainers will be introduced to the Software Carpentry project, which aims to grow the network of trainers interested in teaching productive tools and best practices in scientific computing.
HPC Carpentry is primarily directed at community and outreach, and harmonious with some other tutorials that may be offered at SC '16.
Like the "Parallel Computing 101" tutorial that has been offered at Supercomputing for the past few years, HPC Carpentry aims to bring inexperienced users into the HPC community. The scope of the workshop is intentionally limited to focus on foundational concepts and respond to common interests of new users.
The "Best Practices for HPC Training" tutorial, where trainers are invited to present their teaching experience, is an excellent complementary tutorial with significant community overlap. Our hope is that these workshops do not overlap on the schedule, so that attendees may be part of both, and there is scope for ideas to be exchanged.
This is an entry-level workshop with the following content level distribution:
Beginnner: 100%
Intermediate: 0%
Advanced: 0%
This workshop assumes very few prerequesites:
- Little to no experience with the command line or programming
- Domain expertise or developing domain expertise (users know what they want to use HPC for, but not how to use it)
The audience will be expected to bring a bring a laptop computer with wireless or wired internet for cluster SSH access.
As with all Software Carpentry lessons, the material for HPC Carpentry is developed collaboratively on GitHub. The presenters at SC '16 will be active contributors to the lesson material, and to discussions about how it should be delivered. Further, instructors are experienced teaching in teams and creating an interactive, comfortable learning environment. This will ensure that the workshop is presented as a cohesive whole, rather than a series of disparate talks.