Parallel Programming Fall 2013 TuesdayThursday 11 00 am

  • Slides: 26
Download presentation
Parallel Programming Fall 2013 Tuesday/Thursday 11: 00 am - 12: 15 pm Instructors Dr.

Parallel Programming Fall 2013 Tuesday/Thursday 11: 00 am - 12: 15 pm Instructors Dr. Barry Wilkinson Dr. Clayton Ferner University of North Carolina Charlotte University of North Carolina Wilmington © 2013 B. Wilkinson/Clayton Ferner. Modification date: August 21, 2013 outline. 1

Outline These slides constitute the course outline and include the course syllabus and course

Outline These slides constitute the course outline and include the course syllabus and course policies. outline. 2

Parallel Computing The use of multiple processors or computers to solve problems at a

Parallel Computing The use of multiple processors or computers to solve problems at a greater computational speed than using a single computer/processor. Basic idea is simple – using N computers/ processors collectively on a problem should lead to a faster solution. Can tackle problems that could not be solved in a reasonable time otherwise. Also solve problems with higher precision and/or with more memory requirements. outline. 3

Computer platforms for parallel computing 1. Multiple interconnected computers - Cluster Computing, group of

Computer platforms for parallel computing 1. Multiple interconnected computers - Cluster Computing, group of interconnected computers typically using Ethernet switch and physically all in one room. 2. A single computer system with multiple internal processors or cores - Usually shares a common main memory 3. Computer system with attached graphic processing unit (GPU) - GPUs have large number of execution cores, now used for high performance computing as well as original graphics application Combination of above most likely. outline. 4

UNCC cluster Login cci-grid 01. uncc. edu – ccci-grid 9. uncc. edu ccigrid 01

UNCC cluster Login cci-grid 01. uncc. edu – ccci-grid 9. uncc. edu ccigrid 01 ccigrid 02 coit-grid 01 -4: Each two Xeon 3. 4 Ghz processors, 8 GB main memory ccigrid 03 ccigrid 04 ccigrid 06 ccigrid 07 C 2050 GPU K 20 GPU (448 core) (2496 core) coit-grid 06: GPU server, with NVIDIA 2050 GPU ccigrid 09 coit-grid 08: GPU server, E 5 -1650 3. 2 GHz coit-grid 07: 6 -core Xeon GPU server, X 5560 2. 8 GHz processor with NVIDIA K 20 quad-core Xeon GPU, 32 GB processor with main memory NVIDIA 2050 GPU, 12 GB main memory switch coit-grid 05: Four quadcore 2. 93 Ghz Xeon processors 64 GB main memory 1. 2 TB disk (RAID 5) ccigrid 08 ccigrid 05 All user’s home directories on cci -grid 05 (NFS) Has all three types of platform. coit-grid 09: Dual AMD Opteron 6376 2. 3 GHz 16 -core each, with 16 GB main memory RAID 1 disks, redundant power supplies, VM, web server, user gateway login, SSH, NAT, DHCP, DNS, and LDAP, etc.

Course Prerequisites UNC-C Catalog prerequisites: ITCS 2214 (Data Structures) and ITCS 3181/3182 (Computer Architecture).

Course Prerequisites UNC-C Catalog prerequisites: ITCS 2214 (Data Structures) and ITCS 3181/3182 (Computer Architecture). ITCS 3181/2 not strictly necessary so long as you know what a computer consists of (processors, memory and I/O) and how it operates. What is needed -- basic skills in C and Java. outline. 6

Course Text Parallel Programming: Techniques and Application Using Networked Workstations and Parallel Computers, 2

Course Text Parallel Programming: Techniques and Application Using Networked Workstations and Parallel Computers, 2 nd edition, by B. Wilkinson and M. Allen, Prentice Hall Inc. , 2005, ISBN 0 -13 -140563 -2. On-line notes are provided that are derived from the course text – with some updated materials from 2005 outline. 7

Home Page For course notes, assignments, announcements, etc. : http: //cs. uncc. edu/~abw/ITCS 4145

Home Page For course notes, assignments, announcements, etc. : http: //cs. uncc. edu/~abw/ITCS 4145 F 13/ Password protected: Username: pablo Password: rp 19 zb 39 outline. 8

Course Contents Parallel computers: architectural types, shared memory, message passing, interconnection networks, potential for

Course Contents Parallel computers: architectural types, shared memory, message passing, interconnection networks, potential for increased speed. Parallel patterns for structured parallel programming, motives, advantages, introduction to various patterns, tools. • Seeds pattern programming framework to create distributed computations. (Assignment 1) • Using compiler directives for pattern programming, Paraguin compiler. (Assignment 2) outline. 9

Course Contents (Continued) Message passing: MPI message passing APIs, send, receive, collective operations. Running

Course Contents (Continued) Message passing: MPI message passing APIs, send, receive, collective operations. Running MPI programs on a cluster, implement patterns with MPI. (Assignment 3) More computation patterns and their application, divide and conquer, pipeline, iterative synchronous all-to-all, stencil. outline. 10

Course Contents (Continued) Programming with shared memory programming: Specifying parallelism, sharing data, critical sections,

Course Contents (Continued) Programming with shared memory programming: Specifying parallelism, sharing data, critical sections, threads, Open. MP. Running threaded/ Open. MP programs on multi-core system, hybrid MPI/Open. MP programs. (Assignment 4) CPU-GPU systems: data parallel pattern, GPU architecture, programming in CUDA, issues for achieving high performance. (Assignment 5) outline. 11

Course Contents (Continued) Algorithms and applications: Selection from: • Sorting algorithms • Searching algorithms

Course Contents (Continued) Algorithms and applications: Selection from: • Sorting algorithms • Searching algorithms • Numerical algorithms • Image processing algorithms outline. 12

Course Grade Sites with +/- grading Sites without +/- grading Undergraduate Graduate Grade A

Course Grade Sites with +/- grading Sites without +/- grading Undergraduate Graduate Grade A AB+ B BC+ C CD+ D DF Grade A AB+ B BC+ C CU Grade A B C D F Grade A B C U Scale 93 - 100 90 - 92. 99 87 - 89. 99 83 - 86. 99 80 - 82. 99 77 - 79. 99 73 - 76. 99 70 - 72. 99 67 - 69. 99 63 - 66. 99 60 - 62. 99 0 - 59. 99 Scale 93 - 100 90 - 92. 99 87 - 89. 99 83 - 86. 99 80 - 82. 99 77 - 79. 99 73 - 76. 99 70 - 72. 99 0 - 69. 99 Scale 90 - 100 80 - 89. 99 70 - 79. 99 60 - 69. 99 0 - 59. 99 Scale 90 - 100 80 - 89. 99 70 - 79. 99 0 - 69. 99 outline. 13

Computation of Grades • Class quizzes (2) • Assignments (5) • Final exam 25%

Computation of Grades • Class quizzes (2) • Assignments (5) • Final exam 25% 50% 25% The assessment and percentages may be modified. Read small print outline. 14

Graduate students There will be additional work in the assignments for graduate students, which

Graduate students There will be additional work in the assignments for graduate students, which will be extra credit for undergraduates. outline. 15

Student Learning Outcomes (SLOs) The learning outcomes for the UNC-W undergraduate parallel computing course

Student Learning Outcomes (SLOs) The learning outcomes for the UNC-W undergraduate parallel computing course are: • • Students develop solutions and implement the solutions for scientific problems using multiple processors in a cluster. Students acquire knowledge in writing programs which require processes to synchronize and exchange data using Message Passing Interface (API). Students acquire knowledge in writing programs which require processes to spawn multiple treads that share memory on multiple core processors. Students learn to profile parallel programs by placing event probes and to log them for analysis and tuning of the program performance. The Estimate Curriculum Category Content (Semester hours) is: Area Core Advanced Area Core Algorithms 1. 0 Software design 0. 5 Data structures 0. 25 Computer organization and architecture Advanced Concepts of programming languages outline. 16

Code of Student Academic Integrity All submitted assignments must be your own work. Copied

Code of Student Academic Integrity All submitted assignments must be your own work. Copied work or work done by more than one person (unless specifically instructed) will not be accepted - at the very minimum, zero credit - and may be subject to disciplinary action. The Code of Student Academic Integrity applies to both assignments and quizzes/tests. outline. 17

Due dates for assignments Will be posted on home page with assignment. Assignments can

Due dates for assignments Will be posted on home page with assignment. Assignments can be turned in late but with a penalty. Late Penalty < 24 hours 10% > 24 hours and < 48 hours 20% > 48 hours and < 72 hours 30% > 72 hours 100% outline. 18

Attendance is expected. Attendance will be recorded. If you miss classes, it can have

Attendance is expected. Attendance will be recorded. If you miss classes, it can have a deleterious effect on your grade: After 4 missed classes without good reason: 2 marks off overall accumulated marks (out of 100) for each additional class missed. If you must miss class, see the instructors beforehand to avoid losing marks. outline. 19

Mid-Term Unsatisfactory Grades • UNC-Charlotte requires midterm unsatisfactory grades to be submitted by the

Mid-Term Unsatisfactory Grades • UNC-Charlotte requires midterm unsatisfactory grades to be submitted by the end of the 8 th week of class. • Mid term grades – Undergraduates: Satisfactory or D or F – Graduates: Satisfactory or C or U will be based upon all work graded by week 7, which probably will be two assignments and one class test. outline. 20

Expectations Read all materials provided. Read slides before class. Take additional notes during class

Expectations Read all materials provided. Read slides before class. Take additional notes during class Ask questions during class and participate in class discussion. outline. 21

NCREN facility (North Carolina Research and Education Network) Each site provides microphones for individuals

NCREN facility (North Carolina Research and Education Network) Each site provides microphones for individuals to speak. Please feel fee to speak at suitable times but remember NCREN needs recognize site and speaker, so first announce your institution and name. Most microphones are turned on all the time. Any sound will be heard across all sites, so avoid unnecessary sounds. Fans from a laptop can be especially disturbing, so move laptop away from a microphone. Turn cell phones off. outline. 22

NCREN Video Class Recording The lectures are available on-line. Details to be provided. outline.

NCREN Video Class Recording The lectures are available on-line. Details to be provided. outline. 23

Instructors details UNC-Charlotte Barry Wilkinson Department of Computer Science University of North Carolina, Charlotte

Instructors details UNC-Charlotte Barry Wilkinson Department of Computer Science University of North Carolina, Charlotte Home page: http: //www. cs. uncc. edu/~abw Email: abw@uncc. edu Office Hours Tuesday/Thursday: 2: 00 pm to 3: 30 pm outline. 24

Instructors details UNC-Wilmington Clayton Ferner Department of Computer Science University of North Carolina Wilmington

Instructors details UNC-Wilmington Clayton Ferner Department of Computer Science University of North Carolina Wilmington Home page: http: //people. uncw. edu/cferner Email: cferner@uncw. edu Office Hours Tuesday/Thursday 12: 30 pm to 2: 00 pm outline. 25

Questions outline. 26

Questions outline. 26