Parallel Programming in Matlab, Python, and R

ABSTRACT:  RC is pleased to offer a workshop for those who are interested in learning more about parallelization in scripted languages. 

 

AUDIENCE:  People who know how to code in one of the above languages to do serial tasks, but want to understand how to code in parallel.

 

CORE COMPETENCIES:  We expect you to know the following:

·         How to SSH

·         Have a basic understanding of Linux including how to navigate a Linux filesystem from the command line

·         How to use a text editor in a remote environment

·         How to program in your particular language

 

WHEN:  May 15-18, 2017; 9 am-5 pm

Attendance on May 15 is required for all attendees.  For May 16-18, you may attend all sessions or just the one relevant to your appropriate language.  The information given on days 16-18 will not be dependent on each other, but we will expect you to know everything we cover on May 15.

 

WHERE:  May 15:  ARCE 620

                 May 16, 17, 18:  COMP 123

 

ARCE Building

East Campus

3100 Marine Street

Boulder, CO

 

COMP (Computer Center) Building

East Campus

3645 Marine Street

Boulder, CO

 

We will not be offering this workshop over Zoom.

 

COST: 

$50/person/day for May 16-18 (May 15 is included in the cost)

Lunch and breaks are included
 

HOW TO REGISTER:  Link coming soon!
 

TOPICS:

Agenda may change prior to the workshop.

 

May 15, 2017

09:00 am - 09:15 am:  Introduction

09:15 am - 10:15 am:  Basics of Parallel Computing  (Shelley Knuth)

10:15 am - 10:30 am:  Break

10:30 am - 12:30 pm:  Using Slurm in Parallel Computing (Pete Ruprecht)

12:30 pm – 01:30 pm:  Lunch

01:30 pm – 03:30 pm:  Best Practices in Parallel Computing (Pete Ruprecht)

03:30 pm – 03:45 pm:  Break

03:45 pm – 04:45 pm:  Profiling your code (Thomas Hauser)

 

May 16, 2017:

09:00 am - 09:15 am:  Introduction

09:15 am - 10:30 am:  Parallel Computing Toolbox (Shelley Knuth)

10:30 am - 10:45 am:  Break

10:45 am - 12:15 pm:  Matlab and GPU Nodes (Shelley Knuth)

12:15 pm – 01:15 pm:  Lunch

01:15 pm – 02:30 pm:  High Throughput Computing (Jonathon Anderson)

02:30 pm – 02:45 pm:  Break

02:45 pm – 04:00 pm:  High Throughput Computing and Job Arrays (Jonathon Anderson)

 

May 17, 2017:

09:00 am - 09:15 am:  Introduction

09:15 am - 10:30 am:  Efficient Serial Programming using NumPy

10:30 am - 10:45 am:  Break

10:45 am - 12:15 pm:   Parallel Programming with IPyParallel

12:15 pm – 01:15 pm:  Lunch

01:15 pm – 02:30 pm:  Advanced Topics:  Python Environment Management;  MPI4PY

02:30 pm – 02:45 pm:  Break

02:45 pm – 04:00 pm:  Parallelize Your Code!  (Hackathon/Consulting time)

 

May 18, 2017:

09:00 am - 09:15 am:  Introduction

09:15 am - 10:00 am:  Efficient Serial Programming in R

10:00 am - 10:30 am:  Writing Serial R programs that can be parallelized easily

10:30 am - 10:45 am:  Break

10:45 am - 12:15 pm:   Parallel Programming in R with the parallel package

12:15 pm – 01:15 pm:  Lunch

01:15 pm – 02:30 pm:  Parallel Programming in R with the Rmpi package

02:30 pm – 02:45 pm:  Break

 

02:45 pm – 04:00 pm:  Parallelize Your Code!  (Hackathon/Consulting time)