itcs 4/5145 parallel programming, unc-charlotte, b. wilkinson, dec 26, 2012outline.1 itcs 4145/5145...

20
ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012 outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department of Computer Science University of North Carolina at Charlotte Tuesday/Thursday 11:00 am – 12:15 pm Woodward 130

Upload: daniela-dickerson

Post on 17-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012 outline.1

ITCS 4145/5145 Parallel ProgrammingSpring 2013

Barry WilkinsonDepartment of Computer Science

University of North Carolina at Charlotte

Tuesday/Thursday 11:00 am – 12:15 pmWoodward 130

Page 2: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

outline.2

Outline

These slides constitute the course outline and include the course syllabus

and course policies.

Page 3: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

outline.3

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.

Page 4: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

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

Page 5: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

coit-grid01-4: Each two Xeon processors(3.4Ghz) 8GB main memory

coit-grid05: Dell R900, four quad-core Xeon processors (2.93Ghz)64GB main memory1.2 TB disk

coit-grid01

switch

coit-grid05

coit-grid03

coit-grid02

coit-grid04

All user’s home directories on coit-grid05 (NFS)

UNCC clustercoit-grid01.uncc.edu – coit-grid7.uncc.edu

Has all three types of platform.

coit-grid06

NVIDIA Tesla GPU

(448 core Fermi)

Login from within the

campus onlyLogin from on-campus or off-campus

coit-grid07

NVIDIA Tesla GPU

(448 core Fermi)

coit-grid07:GPU server, X5560 2.8GHz quad-core

Xeon processor with NVIDIA 2050 GPU, 12GB main memory

coit-grid06:GPU server with NVIDIA 2050 GPU,

Page 6: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

outline.6

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.

Page 7: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

outline.7

Course Text

Parallel Programming: Techniques and Application Using Networked Workstations and Parallel Computers, 2nd 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

Page 8: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

outline.8

Home Pages

For course notes, assignments, announcements, etc.:

http://www.cs.uncc.edu/~abw/ITCS4145S13/

Please check before each class.

Page 9: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

outline.9

Course Contents(See course slides for detailed description)

Parallel computers: architectural types, shared memory systems, message passing systems, hybrid systems, potential for increased speed.

Message passing: MPI message passing APIs, send, receive, collective operations. Running MPI programs on a cluster.

Page 10: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

outline.10

Course Contents (Continued)

Basic parallel programming techniques:

Embarrassingly parallel computations

Partitioning and divide and conquer

Pipelined computations

Synchronous computations

Load balancing and termination detection

Page 11: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

outline.11

Course Contents (Continued)

Programming with shared memory programming: Specifying parallelism, sharing data, critical sections, threads, OpenMP. Running threaded/ OpenMP programs on multi-core system, hybrid MPI/OpenMP programs.

CPU-GPU systems: data parallel pattern, GPU architecture, programming in CUDA, issues for achieving high performance.

Page 12: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

outline.12

Course Contents (Continued)

Algorithms and applications: Selection from:• Sorting algorithms• Searching algorithms• Numerical algorithms• Image processing algorithms

Page 13: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

Course Grade

outline.13

Letter grades will be assigned according to the following scales:

Undergraduate

Grade Scale

A 90 - 100

B 80 - 89.99

C 70 - 79.99

D 60 - 69.99

F 0 - 59.99

Graduate

Grade Scale

A 90 - 100

B 80 - 89.99

C 70 - 79.99

U 0 - 69.99

worst case, and may be curved according to the performance of the entire class.

So, if you are above average in the class, your grade will be above average and similarly if you are below average, the grade will be below average. For each assignment or test, the class average will be announced after grading so you can see where you stand in the class.

Page 14: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

outline.14

Computation of Grades

• Class tests (2) 25%

• Assignments (5) 50%• Final exam 25% The assessment and percentages may be modified.

Read small print

Page 15: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

outline.15

Graduate students

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

Page 16: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

outline.16

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.

Page 17: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

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.17

Page 18: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

outline.18

AttendanceAttendance 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.

Page 19: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

Mid-Term Unsatisfactory Grades

• UNC-C requires midterm unsatisfactory grades to be submitted by the end of the 8th 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.19

Page 20: ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department

outline.20

InstructorBarry Wilkinson

Woodward, room 435G

Email: [email protected]

Office HoursTuesday/Thursday

3:00 pm - 4:30 pm.Walk-in at other times ok if not busy,

or send me an email for a mutually convenient time.