Difference between revisions of "Parallel Scientific Computing - May 2011"

From oldwiki.scinet.utoronto.ca
Jump to navigation Jump to search
m
Line 1: Line 1:
 
This was an intensive week-long workshop on Scientific Parallel Programming, held at SciNet on the University of Toronto St. George campus.
 
This was an intensive week-long workshop on Scientific Parallel Programming, held at SciNet on the University of Toronto St. George campus.
  
 +
==Goal==
 
The goal of the workshop was to enable young researchers already experienced in scientific computing to leave with the knowledge necessary to begin writing the parallel codes needed for their research. The workshop consisted of a mix of lectures and immediate feedback on practical assignments, designed to ensure that students leave with significant experience in both OpenMP and MPI, two of the standards for parallel computing today. GPGPU Programming with Cuda was also briefly introduced.  
 
The goal of the workshop was to enable young researchers already experienced in scientific computing to leave with the knowledge necessary to begin writing the parallel codes needed for their research. The workshop consisted of a mix of lectures and immediate feedback on practical assignments, designed to ensure that students leave with significant experience in both OpenMP and MPI, two of the standards for parallel computing today. GPGPU Programming with Cuda was also briefly introduced.  
  
Line 17: Line 18:
  
 
==Videos (to come)==
 
==Videos (to come)==
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Monday_Morning_Intro_Parallel/Monday_Morning_Intro_Parallel.mp4 Intro to Class and to Parallel Programming] <br/>[[File:MonMorIntro_FirstFrame.png|150px]]
+
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Monday_Morning_Intro_Parallel/Monday_Morning_Intro_Parallel.mp4 Intro to Class and to Parallel Programming] <br/>[[File:MonMorIntro_FirstFrame.png|180px]]
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Monday_Morning_SciNet_Resources/Monday_Morning_SciNet_Resources.mp4 SciNet Resources]<br/>[[File:MonMorSN_FirstFrame.png|150px]]
+
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Monday_Morning_SciNet_Resources/Monday_Morning_SciNet_Resources.mp4 SciNet Resources]<br/>[[File:MonMorSN_FirstFrame.png|180px]]
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Monday_Morning_C_Review/Monday_Morning_C_Review.mp4 C Review]<br/>[[File:MonMorC_FirstFrame.png|150px]]
+
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Monday_Morning_C_Review/Monday_Morning_C_Review.mp4 C Review]<br/>[[File:MonMorC_FirstFrame.png|180px]]
 
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Monday_Afternoon_OpenMP1/Monday_Afternoon_OpenMP1.mp4 Introduction to OpenMP - part 1][https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Monday_Afternoon_OpenMP2/Monday_Afternoon_OpenMP2.mp4 part 2][https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Monday_Afternoon_OpenMP3/Monday_Afternoon_OpenMP3.mp4 part 3][https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Tuesday_Morning_OpenMP4/Tuesday_Morning_OpenMP4.mp4 part 4][https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Tuesday_Morning_OpenMP5/Tuesday_Morning_OpenMP5.mp4 part 5][https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Tuesday_Morning_OpenMP6/Tuesday_Morning_OpenMP6.mp4 part 6]<br/>[[File:MonAftOMP1_FirstFrame.png|120px]] [[File:MonAftOMP2_FirstFrame.png|120px]] [[File:MonAftOMP3_FirstFrame.png|120px]] [[File:TueMorOMP4_FirstFrame.png|120px]] [[File:TueMorOMP5_FirstFrame.png|120px]] [[File:TueMorOMP6_FirstFrame.png|120px]]
 
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Monday_Afternoon_OpenMP1/Monday_Afternoon_OpenMP1.mp4 Introduction to OpenMP - part 1][https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Monday_Afternoon_OpenMP2/Monday_Afternoon_OpenMP2.mp4 part 2][https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Monday_Afternoon_OpenMP3/Monday_Afternoon_OpenMP3.mp4 part 3][https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Tuesday_Morning_OpenMP4/Tuesday_Morning_OpenMP4.mp4 part 4][https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Tuesday_Morning_OpenMP5/Tuesday_Morning_OpenMP5.mp4 part 5][https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Tuesday_Morning_OpenMP6/Tuesday_Morning_OpenMP6.mp4 part 6]<br/>[[File:MonAftOMP1_FirstFrame.png|120px]] [[File:MonAftOMP2_FirstFrame.png|120px]] [[File:MonAftOMP3_FirstFrame.png|120px]] [[File:TueMorOMP4_FirstFrame.png|120px]] [[File:TueMorOMP5_FirstFrame.png|120px]] [[File:TueMorOMP6_FirstFrame.png|120px]]
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Tuesday_Afternoon_MPI1/Tuesday_Afternoon_MPI1.mp4 Introduction to MPI Part 1][https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Wednesday_Morning_MPI/Wednesday_Morning_MPI.mp4 Part 2]<br/>[[File:TueAftMPI1_FirstFrame.png|150px]] [[File:WedMorMPI_FirstFrame.png|150px]]
+
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Tuesday_Afternoon_MPI1/Tuesday_Afternoon_MPI1.mp4 Introduction to MPI Part 1][https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Wednesday_Morning_MPI/Wednesday_Morning_MPI.mp4 Part 2]<br/>[[File:TueAftMPI1_FirstFrame.png|180px]] [[File:WedMorMPI_FirstFrame.png|180px]]
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Wednesday_Afternoon_Hydro/Wednesday_Afternoon_Hydro.mp4 Hydrodynamics]<br/>[[File:WedAftHyd_FirstFrame.png|150px]]
+
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Wednesday_Afternoon_Hydro/Wednesday_Afternoon_Hydro.mp4 Hydrodynamics]<br/>[[File:WedAftHyd_FirstFrame.png|180px]]
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Thursday_Morning_BP_Revision_Control/Thursday_Morning_BP_Revision_Control.mp4 HPC Best Practices and Version Control]<br/>[[File:ThuMorBPR_FirstFrame.png|150px]]
+
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Thursday_Morning_BP_Revision_Control/Thursday_Morning_BP_Revision_Control.mp4 HPC Best Practices and Version Control]<br/>[[File:ThuMorBPR_FirstFrame.png|180px]]
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Thursday_Morning_Debugging/Thursday_Morning_Debugging.mp4 Parallel Debugging]<br/>[[File:ThuMorDbg_FirstFrame.png|150px]]
+
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Thursday_Morning_Debugging/Thursday_Morning_Debugging.mp4 Parallel Debugging]<br/>[[File:ThuMorDbg_FirstFrame.png|180px]]
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Thursday_Afternoon_Nbody_OpenMP1/Thursday_Afternoon_Nbody_OpenMP1.mp4 N-Body - part 1][https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Thursday_Afternoon_Nbody_OpenMP2_MPI/Thursday_Afternoon_Nbody_OpenMP2_MPI.mp4 part 2]<br/>[[File:ThuAftNB1_FirstFrame.png|150px]] [[File:ThuAftNB2_FirstFrame.png|150px]]  
+
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Thursday_Afternoon_Nbody_OpenMP1/Thursday_Afternoon_Nbody_OpenMP1.mp4 N-Body - part 1][https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Thursday_Afternoon_Nbody_OpenMP2_MPI/Thursday_Afternoon_Nbody_OpenMP2_MPI.mp4 part 2]<br/>[[File:ThuAftNB1_FirstFrame.png|180px]] [[File:ThuAftNB2_FirstFrame.png|180px]]  
 
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Friday_Morning_IO/Friday_Morning_IO.mp4 I/O on a Parallel File System]
 
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Friday_Morning_IO/Friday_Morning_IO.mp4 I/O on a Parallel File System]
 
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Friday_Morning_GPGPU/Friday_Morning_GPGPU.mp4 Intro to GPGPU Programming]
 
# [https://support.scinet.utoronto.ca/CourseVideo/PPPcourse/Friday_Morning_GPGPU/Friday_Morning_GPGPU.mp4 Intro to GPGPU Programming]

Revision as of 08:31, 1 June 2011

This was an intensive week-long workshop on Scientific Parallel Programming, held at SciNet on the University of Toronto St. George campus.

Goal

The goal of the workshop was to enable young researchers already experienced in scientific computing to leave with the knowledge necessary to begin writing the parallel codes needed for their research. The workshop consisted of a mix of lectures and immediate feedback on practical assignments, designed to ensure that students leave with significant experience in both OpenMP and MPI, two of the standards for parallel computing today. GPGPU Programming with Cuda was also briefly introduced.

Slides (PDF)

  1. Intro to Class and to Parallel Programming
  2. SciNet Resources
  3. C Review
  4. Introduction to OpenMP
  5. Introduction to MPI
  6. Hydrodynamics
  7. Version Control
  8. Parallel Debugging
  9. N-body Part 1 (openmp) Part 2 (mpi)
  10. I/O Best practices on the parallel file system
  11. CUDA GPU programming

Videos (to come)

  1. Intro to Class and to Parallel Programming
    MonMorIntro FirstFrame.png
  2. SciNet Resources
    MonMorSN FirstFrame.png
  3. C Review
    MonMorC FirstFrame.png
  4. Introduction to OpenMP - part 1part 2part 3part 4part 5part 6
    MonAftOMP1 FirstFrame.png MonAftOMP2 FirstFrame.png MonAftOMP3 FirstFrame.png TueMorOMP4 FirstFrame.png TueMorOMP5 FirstFrame.png TueMorOMP6 FirstFrame.png
  5. Introduction to MPI Part 1Part 2
    TueAftMPI1 FirstFrame.png WedMorMPI FirstFrame.png
  6. Hydrodynamics
    WedAftHyd FirstFrame.png
  7. HPC Best Practices and Version Control
    ThuMorBPR FirstFrame.png
  8. Parallel Debugging
    ThuMorDbg FirstFrame.png
  9. N-Body - part 1part 2
    ThuAftNB1 FirstFrame.png ThuAftNB2 FirstFrame.png
  10. I/O on a Parallel File System
  11. Intro to GPGPU Programming

Source Code